Vultr objektumtároló létrehozása a Vultr Go klienssel

Bevezetés

Ez az útmutató elmagyarázza, hogyan hozhat létre Vultr Object Storage- t a Go alkalmazásban a Vultr Go kliens segítségével . A Vultr Object Storage kompatibilis az S3 API-val.

Előfeltételek

  • Windowst, Linuxot vagy macOS-t futtató számítógép, amelyen Go 1.12+ telepítve van.
  • Alapvető programozási ismeretek.
  • Opcionális: Go-t támogató IDE (például Visual Studio Code, emacs vagy Atom).

Objektumtároló létrehozása a Vultr Go Client segítségével

A Vultr Go kliens a Vultr API-val való interakcióra szolgál . A Vultr API lehetővé teszi a fiókjához társított erőforrások, köztük a Vultr Object Storage vezérlését. A Vultr Go kliensről ebben a cikkben található részletes információ .

Hozza létre a Projekt mappát

Hozza létre a mappát az aktuális könyvtárban.

$ mkdir vultr_demo

Írja be az új mappát.

$ cd vultr_demo

Inicializálja a modult

$ go mod init vultr_demo

Töltse le a Könyvtárat

$ go get github.com/vultr/govultr

Állítsa be az API kulcs környezeti változóját

Állítsa be a VULTR_API_KEY környezeti változót az API-kulcsra. Az API-kulcs itt található: https://my.vultr.com/settings/#settingsapi

Figyelmeztetés: Óvja API-kulcsát, mintha jelszavát védené. Az API-kulcs hozzáfér a teljes fiókjához, beleértve a számlázást, a szervereket és a tárhelyet.

Például Ubuntu Linux esetén adja hozzá ezt a sort a következőhöz ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Hozd létre a Go programot

Illessze be a következő kódrészletek mindegyikét egy új nevű fájlba main.go. A teljes fájl letölthető is .

Állítsa be a csomagot, és importálja a szükséges könyvtárakat.

package main

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

    "github.com/vultr/govultr"
)

Indítsa el a main()funkciót.

func main() {

Olvassa el az API kulcs környezeti változóját.

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

Hozza létre a Vultr klienst.

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

Adjon meg egy helyet az objektumtároló létrehozásához. Keresse le a fürt helyeit, ellenőrizze, hogy egy elérhető-e, válasszon egy fürtöt, és jelenítse meg.

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

Hozzon létre egy objektumtárolót a kiválasztott fürtben.

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

Várjon, amíg az objektumtároló aktív lesz.

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

Jelenítse meg a végpont nevét és a kapcsolat hitelesítő adatait.

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

Fejezze be a fő funkciót.

// end main()
}

Mentse és futtassa az elkészült main.gofájlt.

go run main.go

Példa kimenet

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]

Ebben a példában a végpont neve ewr1.vultrobjects.com, és a kulcsok módosítva vannak. Bármely S3-kompatibilis ügyféllel elérheti új objektumtárhelyét a Go program által megjelenített végpontnév, hozzáférési kulcs és titkos kulcs használatával.


A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket