Cum se instalează Golang 1.8 pe Ubuntu 16.04
Go (Golang) este un limbaj de programare modern dezvoltat la Google și axat pe simplitate și siguranță. A devenit un limbaj popular folosit pentru server-sid
Acest ghid explică cum se creează stocarea obiectelor Vultr în aplicația Go cu clientul Vultr Go . Stocarea obiectelor Vultr este compatibilă cu API-ul S3.
Clientul Vultr Go este utilizat pentru a interacționa cu API - ul Vultr . API-ul Vultr vă permite să controlați resursele asociate contului dvs., inclusiv stocarea obiectelor Vultr. Informații detaliate despre clientul Vultr Go sunt disponibile în acest articol .
Creați folderul în directorul curent.
$ mkdir vultr_demo
Introduceți noul dosar.
$ cd vultr_demo
$ go mod init vultr_demo
$ go get github.com/vultr/govultr
Setați variabila de mediu VULTR_API_KEY la cheia API. Cheia dvs. API se găsește aici: https://my.vultr.com/settings/#settingsapi
Avertisment: protejați-vă cheia API ca și cum v-ați proteja parola. Cheia API are acces la întregul cont, inclusiv facturare, servere și stocare.
De exemplu, pe Ubuntu Linux, adăugați această linie la ~/.profile
.
export VULTR_API_KEY=YOUR_API_KEY_HERE
Inserați fiecare dintre următoarele fragmente de cod într-un nou fișier numit main.go
. Fișierul complet este de asemenea disponibil pentru descărcare .
Configurați pachetul și importați bibliotecile necesare.
package main
import (
"context"
"log"
"os"
"time"
"github.com/vultr/govultr"
)
Începeți main()
funcția.
func main() {
Citiți variabila de mediu cheie API.
var (
// Get our Vultr API Key from an environment variable.
VultrAPIKey = os.Getenv("VULTR_API_KEY")
)
Creați clientul Vultr.
// Create a Vultr client with our API Key.
vultr := govultr.NewClient(nil, VultrAPIKey)
Specificați o locație pentru a crea stocarea obiectelor. Recuperați locațiile clusterului, verificați că unul este disponibil, alegeți un cluster și afișați-l.
// 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)
Creați stocarea obiectelor în clusterul selectat.
// 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)
Așteptați până când stocarea obiectelor este activă.
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)
}
Afișați numele finalului și datele de autentificare ale conexiunii.
// 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)
Încheiați funcția principală.
// end main()
}
Salvați și rulați main.go
fișierul completat .
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]
În acest exemplu, denumirea finală este ewr1.vultrobjects.com, iar tastele sunt redistribuite. Accesați noul dvs. spațiu de stocare cu orice client compatibil S3 folosind numele final, cheia de acces și cheia secretă afișată de programul dvs. Go.
Go (Golang) este un limbaj de programare modern dezvoltat la Google și axat pe simplitate și siguranță. A devenit un limbaj popular folosit pentru server-sid
Golang este un limbaj de programare dezvoltat de Google. Datorită versatilității, simplității și fiabilității sale, Golang a devenit unul dintre cei mai populari
Go (cunoscut și sub denumirea de Golang) este un limbaj de programare tip C, compilat, asemănător cu C, dezvoltat de Google. Simplitatea și versatilitatea Gos au făcut ca la b
Cerințe Cunoașterea de bază a UNIX. FreeBSD x64 cu Nginx instalat. Instalarea instrumentelor Veți avea nevoie de mai multe programe care nu sunt livrate cu FreeBSD. ru
Golang este un limbaj de programare dezvoltat de Google, care ar păstra tradițiile C, dar se va concentra pe simplitate și siguranță. A devenit un limbaj popular
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe