Vultr-objektitallennustilan luominen Vultr Go -asiakassovelluksella

Johdanto

Tässä oppaassa kerrotaan, kuinka Vultr-objektitallennustilaa luodaan Go-sovelluksessa Vultr Go -asiakassovelluksella . Vultr Object Storage on yhteensopiva S3 API:n kanssa.

Edellytykset

  • Windows-, Linux- tai macOS-tietokone, johon on asennettu Go 1.12+.
  • Ohjelmoinnin perustiedot.
  • Valinnainen: Go:ta tukeva IDE (esimerkiksi Visual Studio Code, emacs tai Atom).

Objektitallennustilan luominen Vultr Go -asiakassovelluksella

Vultr Go Asiakas käytetään vuorovaikutuksessa Vultr API . Vultr API:n avulla voit hallita tiliisi liittyviä resursseja, mukaan lukien Vultr Object Storage. Yksityiskohtaiset tiedot Vultr Go -asiakasohjelmasta ovat saatavilla tässä artikkelissa .

Luo projektikansio

Luo kansio nykyiseen hakemistoon.

$ mkdir vultr_demo

Kirjoita uusi kansio.

$ cd vultr_demo

Alusta moduuli

$ go mod init vultr_demo

Lataa kirjasto

$ go get github.com/vultr/govultr

Aseta API-avainympäristömuuttuja

Aseta VULTR_API_KEY-ympäristömuuttuja API-avaimellesi. API-avaimesi löytyy täältä: https://my.vultr.com/settings/#settingsapi

Varoitus: Suojaa API-avaimesi samalla tavalla kuin salasanasi. API-avaimella on pääsy koko tiliisi, mukaan lukien laskutus, palvelimet ja tallennustila.

Lisää tämä rivi esimerkiksi Ubuntu Linuxissa kohtaan ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Luo Go-ohjelma

Liitä jokainen seuraavista koodinpätkistä uuteen tiedostoon nimeltä main.go. Koko tiedosto on myös ladattavissa .

Asenna paketti ja tuo tarvittavat kirjastot.

package main

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

    "github.com/vultr/govultr"
)

Aloita main()toiminto.

func main() {

Lue API-avaimen ympäristömuuttuja.

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

Luo Vultr-asiakas.

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

Määritä sijainti objektitallennustilan luomista varten. Hae klusterin sijainnit, varmista, että sellainen on saatavilla, valitse klusteri ja näytä se.

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

Luo objektitallennus valittuun klusteriin.

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

Odota, kunnes Object Storage on aktiivinen.

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

Näytä päätepisteen nimi ja yhteystiedot.

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

Lopeta päätoiminto.

// end main()
}

Tallenna ja suorita valmis main.gotiedosto.

go run main.go

Esimerkkilähtö

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]

Tässä esimerkissä päätepisteen nimi on ewr1.vultrobjects.com, ja avaimet on muokattu. Käytä uutta objektitallennustasi millä tahansa S3-yhteensopivalla asiakkaalla käyttämällä päätepisteen nimeä, pääsyavainta ja salaista avainta, jotka Go-ohjelmasi näyttää.


Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja