Að búa til Vultr Object Storage með Vultr Go viðskiptavininum

Kynning

Þessi handbók útskýrir hvernig á að búa til Vultr Object Storage í Go forritinu þínu með Vultr Go biðlaranum . Vultr Object Storage er samhæft við S3 API.

Forkröfur

  • Tölva sem keyrir Windows, Linux eða macOS með Go 1.12+ uppsett.
  • Grunnþekking á forritun.
  • Valfrjálst: IDE sem styður Go (til dæmis Visual Studio Code, emacs eða Atom).

Að búa til hlutgeymslu með Vultr Go viðskiptavininum

The Vultr Go Viðskiptavinurinn er notað til að hafa samskipti við Vultr API . Vultr API gerir þér kleift að stjórna auðlindum sem tengjast reikningnum þínum, þar á meðal Vultr Object Storage. Ítarlegar upplýsingar um Vultr Go viðskiptavininn eru fáanlegar í þessari grein .

Búðu til verkefnamöppuna

Búðu til möppuna í núverandi möppu.

$ mkdir vultr_demo

Sláðu inn nýju möppuna.

$ cd vultr_demo

Frumstilla eininguna

$ go mod init vultr_demo

Sækja bókasafnið

$ go get github.com/vultr/govultr

Stilltu API Key Environment Variable

Stilltu VULTR_API_KEY umhverfisbreytuna á API lykilinn þinn. API lykillinn þinn er að finna hér: https://my.vultr.com/settings/#settingsapi

Viðvörun: Verndaðu API lykilinn þinn eins og þú myndir vernda lykilorðið þitt. API lykillinn hefur aðgang að öllum reikningnum þínum, þar á meðal innheimtu, netþjónum og geymslu.

Til dæmis, á Ubuntu Linux, bættu þessari línu við ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Búðu til Go forritið

Límdu hvert af eftirfarandi kóðabrotum í nýja skrá sem heitir main.go. Einnig er hægt að hlaða niður heildarskránni .

Settu upp pakkann og fluttu inn nauðsynleg söfn.

package main

import (
    "context"
    "log"
    "os"
    "time"

    "github.com/vultr/govultr"
)

Byrjaðu main()aðgerðina.

func main() {

Lestu API lykilumhverfisbreytuna.

var (
    // Get our Vultr API Key from an environment variable.
    VultrAPIKey = os.Getenv("VULTR_API_KEY")
)

Búðu til Vultr viðskiptavininn.

// Create a Vultr client with our API Key.
vultr := govultr.NewClient(nil, VultrAPIKey)

Tilgreindu staðsetningu til að búa til Object Storage. Sæktu klasastaðsetningarnar, staðfestu að einn sé tiltækur, veldu klasa og sýndu hann.

// Find the clusters we can create our Object Storage in.
clusters, err := vultr.ObjectStorage.ListCluster(ctx)
if err != nil {
    log.Fatalf("Error listing clusters: %s", err)
}

// Verify there's at least one cluster.
if len(clusters) < 1 {
    log.Fatal("Could not find any clusters to create our Object Storage")
}

// Choose the first cluster, and print it.
cluster := clusters[0]
log.Printf("Chosen cluster: %+v", cluster)

Búðu til Hlutageymsluna í völdum klasa.

// Create our Object Storage in the first cluster listed with our custom label.
label := "my-object-storage"
storageID, err := vultr.ObjectStorage.Create(ctx, cluster.ObjectStoreClusterID, label)
if err != nil {
    log.Fatalf("Error creating storage: %s", err)
}

log.Printf("Created our Object Storage with the ID: %d", storageID.ID)

Bíddu þar til Object Storage er virk.

var storage govultr.ObjectStorage

// Query the API every five seconds to until our server is ready.
for {
    // List all of the Object Storage containers with our label and include the S3 credentials.
    list, err := vultr.ObjectStorage.List(ctx, &govultr.ObjectListOptions{
        Label:     label,
        IncludeS3: true,
    })
    if err != nil {
        log.Fatalf("Error listing storage with label \"%s\": %s", label, err)
    }

    // Make sure we found one (and only one) Object Storage container.
    if len(list) != 1 {
        log.Fatalf("%d object storage containers exist with the label \"%s\"; we need 1", len(list), label)
    }

    storage = list[0]

    // If the server is active, break out of this loop.
    if storage.Status == "active" {
        break
    }

    // Wait for five seconds before querying the API again.
    log.Printf("The Object Storage's status is currently \"%s\", waiting for another five seconds to check if it's \"active\".", storage.Status)
    time.Sleep(time.Second * 5)
}

Birta nafn endapunkts og tengingarskilríki.

// Print the information of our new Object Storage.
log.Print("Successfully created and listed our Object Storage!")
log.Printf("Object Storage: %+v", storage)

// We also have S3 credentials here now, so we could open an S3 compatible client.
log.Printf("S3 credentials: %s - %s - %s", storage.S3Hostname, storage.S3AccessKey, storage.S3SecretKey)

Ljúktu aðalaðgerðinni.

// end main()
}

Vistaðu og keyrðu lokið main.goskrána.

go run main.go

Dæmi úttak

2020/03/03 13:05:48 Chosen cluster: {ObjectStoreClusterID:2 RegionID:1 Location:New Jersey Hostname:ewr1.vultrobjects.com Deploy:yes}
2020/03/03 13:05:48 Created our Object Storage with the ID: xxxxxxxx
2020/03/03 13:05:49 The Object Storage's status is currently pending, waiting for another five seconds to check if it's active.
2020/03/03 13:06:06 Object Storage: {ID:34214512 DateCreated:2020-03-03 13:05:47 ObjectStoreClusterID:2 RegionID:1 Location:New Jersey Label:my-object-storage Status:active S3Keys:{S3Hostname:ewr1.vultrobjects.com S3AccessKey:[REDACTED ACCESS KEY] S3SecretKey:[REDACTED SECRET KEY]}}
2020/03/03 13:06:06 S3 credentials: ewr1.vultrobjects.com - [REDACTED ACCESS KEY] - [REDACTED SECRET KEY]

Í þessu dæmi er endapunktsheitið ewr1.vultrobjects.com og lyklarnir eru gerðir út. Fáðu aðgang að nýju hlutageymslunni þinni með hvaða S3 samhæfðum biðlara sem er með því að nota endapunktsnafnið, aðgangslykilinn og leynilykilinn sem Go forritið þitt sýnir.


The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira