„Vultr“ objektų saugyklos kūrimas naudojant „Vultr Go“ klientą

Įvadas

Šiame vadove paaiškinama, kaip sukurti „ Vultr Object Storage “ savo „Go“ programoje naudojant „ Vultr Go“ klientą . „Vultr Object Storage“ suderinama su S3 API.

Būtinos sąlygos

  • Kompiuteris, kuriame veikia „Windows“, „Linux“ arba „MacOS“, kuriame įdiegta „Go 1.12+“.
  • Pagrindinės programavimo žinios.
  • Pasirenkama: IDE, palaikanti „Go“ (pvz., „Visual Studio Code“, „emacs“ arba „Atom“).

Objektų saugyklos kūrimas naudojant „Vultr Go“ klientą

Vultr Eiti klientas yra naudojamas bendrauti su Vultr API . „Vultr“ API leidžia valdyti su paskyra susietus išteklius, įskaitant „Vultr Object Storage“. Išsamią informaciją apie Vultr Go klientą rasite šiame straipsnyje .

Sukurkite projekto aplanką

Sukurkite aplanką dabartiniame kataloge.

$ mkdir vultr_demo

Įveskite naują aplanką.

$ cd vultr_demo

Inicijuokite modulį

$ go mod init vultr_demo

Atsisiųskite biblioteką

$ go get github.com/vultr/govultr

Nustatykite API rakto aplinkos kintamąjį

Nustatykite aplinkos kintamąjį VULTR_API_KEY į savo API raktą. API raktą rasite čia: https://my.vultr.com/settings/#settingsapi

Įspėjimas: apsaugokite savo API raktą taip, kaip apsaugotumėte slaptažodį. API raktas turi prieigą prie visos paskyros, įskaitant atsiskaitymą, serverius ir saugyklą.

Pavyzdžiui, Ubuntu Linux pridėkite šią eilutę prie ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Sukurkite programą „Go“.

Įklijuokite kiekvieną iš šių kodo fragmentų į naują failą pavadinimu main.go. Visą failą taip pat galima atsisiųsti .

Nustatykite paketą ir importuokite reikiamas bibliotekas.

package main

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

    "github.com/vultr/govultr"
)

Pradėkite main()funkciją.

func main() {

Perskaitykite API rakto aplinkos kintamąjį.

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

Sukurkite „Vultr“ klientą.

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

Nurodykite vietą, kur norite sukurti objektų saugyklą. Gaukite grupių vietas, patikrinkite, ar ji yra, pasirinkite grupę ir parodykite ją.

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

Sukurkite objektų saugyklą pasirinktame klasteryje.

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

Palaukite, kol objektų saugykla bus aktyvi.

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

Rodyti galinio taško pavadinimą ir ryšio kredencialus.

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

Baigti pagrindinę funkciją.

// end main()
}

Išsaugokite ir paleiskite užbaigtą main.gofailą.

go run main.go

Išvesties pavyzdys

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]

Šiame pavyzdyje galutinio taško pavadinimas yra ewr1.vultrobjects.com, o raktai yra redaguoti. Pasiekite savo naują objektų saugyklą naudodami bet kurį su S3 suderinamą klientą naudodami galinio taško pavadinimą, prieigos raktą ir slaptąjį raktą, rodomą jūsų Go programoje.


Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį