Δημιουργία αποθήκευσης αντικειμένων Vultr με τον πελάτη Vultr Go

Εισαγωγή

Αυτός ο οδηγός εξηγεί πώς να δημιουργήσετε Vultr Object Storage στην εφαρμογή Go σας με τον πελάτη Vultr Go . Το Vultr Object Storage είναι συμβατό με το S3 API.

Προαπαιτούμενα

  • Ένας υπολογιστής με Windows, Linux ή macOS με εγκατεστημένο το Go 1.12+.
  • Βασικές γνώσεις προγραμματισμού.
  • Προαιρετικό: Ένα IDE που υποστηρίζει το Go (για παράδειγμα Visual Studio Code, emacs ή Atom).

Δημιουργία αποθήκευσης αντικειμένων με τον πελάτη Vultr Go

Ο πελάτης Vultr Go χρησιμοποιείται για αλληλεπίδραση με το Vultr API . Το Vultr API σάς επιτρέπει να ελέγχετε τους πόρους που σχετίζονται με τον λογαριασμό σας, συμπεριλαμβανομένου του Vultr Object Storage. Λεπτομερείς πληροφορίες για το πρόγραμμα-πελάτη Vultr Go είναι διαθέσιμες σε αυτό το άρθρο .

Δημιουργήστε το φάκελο Project

Δημιουργήστε το φάκελο στον τρέχοντα κατάλογο.

$ mkdir vultr_demo

Εισαγάγετε το νέο φάκελο.

$ cd vultr_demo

Αρχικοποιήστε τη μονάδα

$ go mod init vultr_demo

Κατεβάστε τη Βιβλιοθήκη

$ go get github.com/vultr/govultr

Ορίστε τη μεταβλητή περιβάλλοντος κλειδιού API

Ορίστε τη μεταβλητή περιβάλλοντος VULTR_API_KEY στο κλειδί API. Το κλειδί API σας βρίσκεται εδώ: https://my.vultr.com/settings/#settingsapi

Προειδοποίηση: Προστατέψτε το κλειδί API όπως θα προστατεύατε τον κωδικό πρόσβασής σας. Το κλειδί API έχει πρόσβαση σε ολόκληρο τον λογαριασμό σας, συμπεριλαμβανομένης της χρέωσης, των διακομιστών και του αποθηκευτικού χώρου.

Για παράδειγμα, στο Ubuntu Linux, προσθέστε αυτήν τη γραμμή στο ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Δημιουργήστε το πρόγραμμα Go

Επικολλήστε καθένα από τα ακόλουθα τμήματα κώδικα σε ένα νέο αρχείο με το όνομα main.go. Το πλήρες αρχείο είναι επίσης διαθέσιμο για λήψη .

Ρυθμίστε το πακέτο και εισαγάγετε τις απαιτούμενες βιβλιοθήκες.

package main

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

    "github.com/vultr/govultr"
)

Ξεκινήστε τη main()λειτουργία.

func main() {

Διαβάστε τη μεταβλητή περιβάλλοντος κλειδιού API.

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

Δημιουργήστε τον πελάτη Vultr.

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

Καθορίστε μια τοποθεσία για τη δημιουργία Αποθήκευσης Αντικειμένων. Ανακτήστε τις τοποθεσίες συμπλέγματος, επαληθεύστε ότι μία είναι διαθέσιμη, επιλέξτε ένα σύμπλεγμα και εμφανίστε το.

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

Δημιουργήστε τον χώρο αποθήκευσης αντικειμένων στο επιλεγμένο σύμπλεγμα.

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

Περιμένετε μέχρι να ενεργοποιηθεί η αποθήκευση αντικειμένων.

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

Εμφάνιση του ονόματος τελικού σημείου και των διαπιστευτηρίων σύνδεσης.

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

Τερματίστε την κύρια λειτουργία.

// end main()
}

Αποθηκεύστε και εκτελέστε το ολοκληρωμένο main.goαρχείο.

go run main.go

Παράδειγμα εξόδου

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]

Σε αυτό το παράδειγμα, το όνομα του τελικού σημείου είναι ewr1.vultrobjects.com και τα κλειδιά έχουν υποστεί επεξεργασία. Αποκτήστε πρόσβαση στο νέο σας χώρο αποθήκευσης αντικειμένων με οποιονδήποτε πελάτη συμβατό με S3 χρησιμοποιώντας το όνομα τερματικού σημείου, το κλειδί πρόσβασης και το μυστικό κλειδί που εμφανίζονται από το πρόγραμμα Go σας.


Πώς να εγκαταστήσετε το Golang 1.8.3 σε CentOS 7, Ubuntu 16.04 και Debian 9

Πώς να εγκαταστήσετε το Golang 1.8.3 σε CentOS 7, Ubuntu 16.04 και Debian 9

Η Golang είναι μια γλώσσα προγραμματισμού που αναπτύχθηκε από την Google. Χάρη στην ευελιξία, την απλότητα και την αξιοπιστία του, το Golang έχει γίνει ένα από τα πιο δημοφιλή

Εγκατάσταση του Golang στο Ubuntu 14.04

Εγκατάσταση του Golang στο Ubuntu 14.04

Η Golang είναι μια γλώσσα προγραμματισμού που αναπτύχθηκε από την Google που θα διατηρήσει τις παραδόσεις της C, αλλά επικεντρώνεται στην απλότητα και την ασφάλεια. Έχει γίνει μια δημοφιλής γλώσσα

Πώς να εγκαταστήσετε το Golang 1.13 σε CentOS 8, Ubuntu 18.04, Debian 10 και Fedora 31

Πώς να εγκαταστήσετε το Golang 1.13 σε CentOS 8, Ubuntu 18.04, Debian 10 και Fedora 31

Το Go (γνωστό και ως Golang) είναι μια στατικά τυποποιημένη, μεταγλωττισμένη γλώσσα προγραμματισμού που μοιάζει με C που αναπτύχθηκε από την Google. Η απλότητα και η ευελιξία του Gos έφτασαν στο β

Nginx Reverse Proxy και Golang Setup στο FreeBSD

Nginx Reverse Proxy και Golang Setup στο FreeBSD

Απαιτήσεις Βασικές γνώσεις UNIX. FreeBSD x64 με εγκατεστημένο το Nginx. Εγκατάσταση εργαλείων Θα χρειαστείτε πολλά προγράμματα που δεν αποστέλλονται με το FreeBSD. Ru

Πώς να εγκαταστήσετε το Golang 1.8 στο Ubuntu 16.04

Πώς να εγκαταστήσετε το Golang 1.8 στο Ubuntu 16.04

Η Go (Golang) είναι μια σύγχρονη γλώσσα προγραμματισμού που αναπτύχθηκε στην Google και επικεντρώνεται στην απλότητα και την ασφάλεια. Έχει γίνει μια δημοφιλής γλώσσα που χρησιμοποιείται για τον διακομιστή

Δημιουργία αποθήκευσης αντικειμένων Vultr με τον πελάτη Vultr Go

Δημιουργία αποθήκευσης αντικειμένων Vultr με τον πελάτη Vultr Go

Εισαγωγή Αυτός ο οδηγός εξηγεί πώς να δημιουργήσετε Vultr Object Storage στην εφαρμογή Go σας με τον πελάτη Vultr Go. Το Vultr Object Storage είναι συμβατό

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα