Vultr objektu krātuves izveide, izmantojot Vultr Go klientu

Ievads

Šajā rokasgrāmatā ir paskaidrots, kā Go lietojumprogrammā izveidot Vultr objektu krātuvi , izmantojot Vultr Go klientu . Vultr Object Storage ir saderīga ar S3 API.

Priekšnoteikumi

  • Dators, kurā darbojas operētājsistēma Windows, Linux vai macOS un ir instalēta Go 1.12+.
  • Programmēšanas pamatzināšanas.
  • Pēc izvēles: IDE, kas atbalsta Go (piemēram, Visual Studio Code, emacs vai Atom).

Objektu krātuves izveide, izmantojot Vultr Go klientu

Vultr Go klients tiek izmantots, lai mijiedarbotos ar Vultr API . Vultr API ļauj kontrolēt ar jūsu kontu saistītos resursus, tostarp Vultr objektu krātuvi. Sīkāka informācija par Vultr Go klientu ir pieejama šajā rakstā .

Izveidojiet projekta mapi

Izveidojiet mapi pašreizējā direktorijā.

$ mkdir vultr_demo

Ievadiet jauno mapi.

$ cd vultr_demo

Inicializējiet moduli

$ go mod init vultr_demo

Lejupielādējiet bibliotēku

$ go get github.com/vultr/govultr

Iestatiet API atslēgas vides mainīgo

Iestatiet vides mainīgo VULTR_API_KEY uz savu API atslēgu. Jūsu API atslēga ir atrodama šeit: https://my.vultr.com/settings/#settingsapi

Brīdinājums: aizsargājiet savu API atslēgu tāpat, kā aizsargātu savu paroli. API atslēgai ir piekļuve visam jūsu kontam, tostarp norēķiniem, serveriem un krātuvei.

Piemēram, operētājsistēmā Ubuntu Linux pievienojiet šo rindiņu ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Izveidojiet programmu Go

Ielīmējiet katru no tālāk norādītajiem koda fragmentiem jaunā failā ar nosaukumu main.go. Pilns fails ir pieejams arī lejupielādei .

Iestatiet pakotni un importējiet nepieciešamās bibliotēkas.

package main

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

    "github.com/vultr/govultr"
)

Sāciet main()funkciju.

func main() {

Izlasiet API atslēgas vides mainīgo.

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

Izveidojiet Vultr klientu.

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

Norādiet vietu, kur izveidot objektu krātuvi. Izgūstiet klasteru atrašanās vietas, pārbaudiet, vai tāda ir pieejama, izvēlieties kopu un parādiet to.

// 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)

Izveidojiet objektu krātuvi atlasītajā klasterī.

// 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)

Pagaidiet, līdz objektu krātuve ir aktīva.

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)
}

Parādiet galapunkta nosaukumu un savienojuma akreditācijas datus.

// 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)

Pabeidziet galveno funkciju.

// end main()
}

Saglabājiet un palaidiet pabeigto main.gofailu.

go run main.go

Izvades piemērs

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]

Šajā piemērā galapunkta nosaukums ir ewr1.vultrobjects.com, un atslēgas ir rediģētas. Piekļūstiet jaunajai objektu krātuvei, izmantojot jebkuru ar S3 saderīgu klientu, izmantojot galapunkta nosaukumu, piekļuves atslēgu un slepeno atslēgu, ko parāda jūsu Go programma.


Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk