Com utilitzar la biblioteca Vultr Go per obtenir informació del servidor

Introducció

La biblioteca oficial de Vultr Go es pot utilitzar per interactuar amb l' API Vultr . L'API Vultr us permet controlar els recursos associats al vostre compte, inclosos servidors, dns, tallafocs, instantànies, xarxa i molt més. Aquest tutorial donarà una introducció a l'ús del client oficial de l'API Go creant una aplicació senzilla per obtenir informació sobre els vostres servidors.

Requisits previs

  • Un ordinador amb Windows, Linux o macOS amb Go 1.12+ instal·lat.
  • Coneixements bàsics de programació.
  • Opcional: un IDE que admet Go (per exemple, Visual Studio Code, emacs o Atom).

Metes

  • Per saber com utilitzar la biblioteca oficial de l'API Vultr.
  • Per escriure un programa per veure la informació del servidor.

Pas 1: Creació del projecte

En primer lloc, començarem creant un nou mòdul (projecte). Normalment, utilitzareu l'URL d'un dipòsit per al vostre codi com a nom del mòdul, però això està fora de l'abast d'aquest tutorial. De moment, utilitzarem serverinfo com a nom del mòdul.

Per crear el projecte, executeu les ordres següents:

# Create the folder in the current directory. mkdir serverinfo # Enter the new folder. cd serverinfo # Initialize the module. go mod init serverinfo

Pas 2: Descarregar la biblioteca

A continuació, descarregarem la biblioteca d'API de GitHub (un lloc d'allotjament de codi). Per descarregar biblioteques, heu d'utilitzar l' go getordre. Això baixarà automàticament la biblioteca i les seves dependències mentre l'afegiu al fitxer go.mod . Al mateix terminal que vau obrir anteriorment, introduïu l'ordre següent:

go get github.com/vultr/govultr

Pas 3: obteniu la vostra clau API

Per utilitzar el client API, necessitareu la vostra clau API. Podeu recuperar la vostra clau de l' API des de la pestanya API de la secció Compte del vostre tauler . També haureu d'autoritzar la vostra adreça IP per utilitzar la clau API. Podeu trobar la vostra adreça IP anant a ifconfig.me . Tingueu en compte que cerqueu la vostra IP pública , no la privada. La vostra IP privada és la que trobaríeu a la configuració de xarxa de l'ordinador i es troba en un dels intervals CIDR següents: 10.0.0.0/8 , 172.16.0.0/12 o 192.168.0.0/16 .

Un cop tingueu la vostra adreça IP, afegiu-la a la secció Control d'accés . Al quadre després de / , escriviu 32. /32és un significat de màscara de xarxa 255.255.255.255. Això vol dir que només la vostra IP s'inclou a l'interval.

Avís: protegiu la vostra clau de l'API com protegiu la contrasenya. La clau d'API té accés a tot el vostre compte, inclosos la facturació, els servidors i l'emmagatzematge.

Pas 4: Creació del fitxer del programa

Ara, començarem a treballar en el programa. Obriu la carpeta que hem creat a l'editor que trieu i creeu un fitxer anomenat main.go.

Dins del fitxer, escriviu o copieu i enganxeu el codi següent:

package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { }

El package mainGo diu que estem creant una ordre, no una biblioteca. La declaració d'import declara les dependències que farem servir. func main()és la funció que es diu quan executem el nostre programa.

Pas 5: inicialització del client API

El següent pas és inicialitzar el client API. Per fer-ho, hem d'utilitzar la funció govultr.NewClient(http.Client, string) . Afegiu el codi següent dins de la funció main() :

client := govultr.NewClient(nil, "YOURAPIKEY")

Substituïu YOURAPIKEY-la per la clau de l'API que heu recuperat anteriorment.

Mirem aquest codi una mica més de prop. Al costat esquerre del :=, tenim client. Aquest és el nom d'una variable . Una variable emmagatzema valors. Al costat dret, tenim una crida de funció a govultr.NewClient . El primer paràmetre és nul, perquè no necessitem canviar el client HTTP predeterminat. El segon paràmetre és la clau API que estem utilitzant per autenticar-nos. L' :=operador assigna el costat dret al costat esquerre, en aquest cas, el resultat de la trucada de funció a client.

Pas 6: Ús de l'API

El nostre programa encara no fa res. Perquè sigui útil, recuperarem informació sobre els nostres servidors de Vultr. Utilitzarem la funció govultr.Client.Server.List(context.Context) ([]govultr.Server, error) . Afegiu el codi següent al final de la funció main() :

servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) }

En aquest codi, cridem a la funció API per recuperar la informació del servidor. No us preocupeu encara pel significat del context , ja que aquest és un tema més avançat. De moment, tot el que hem de saber és que el context controla com s'executa el client API. context.Background() retorna un context buit . Després de recuperar la informació del servidor a les dues variables, servidors i err , comprovem si hi ha hagut un error. Si és així, informem a l'usuari de l'error i sortim amb el codi 1 (error).

Pas 7: mostra la informació

Ara que tenim una matriu de servidors a la variable de servidors ( []govultr.Server ), realment podem mostrar-la. Afegiu el codi següent al final de la funció main() :

fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) }

Primer, imprimim (mostram) una capçalera, Servers:. A continuació, fem un bucle sobre la matriu de servidors , ignorant l'índex assignant-lo a _, i assignant el servidor actual a la variable del servidor . Dins del bucle, mostrem l'etiqueta del servidor, l'adreça IP, la ubicació, els càrrecs pendents, l'amplada de banda actual i l'amplada de banda permesa. Per fer-ho de manera eficient, utilitzem format strings , la cadena que sembla " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Els %smitjans per substituir la següent cadena, mentre que els %.2fmitjans per imprimir el següent flotant (número decimal) arrodonit a 2 decimals. La resta de la cadena de format s'imprimeix literalment (tal com està).

Pas 8: Córrer

En aquest punt, el vostre codi hauria de ser com el següent:

package main import ( "context" "fmt" "os" "github.com/vultr/govultr" ) func main() { client := govultr.NewClient(nil, "YOURAPIKEY") servers, err := client.Server.List(context.Background()) if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) os.Exit(1) } fmt.Println("Servers:") for _, server := range servers { fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n", server.Label, server.MainIP, server.Location, server.PendingCharges, server.CurrentBandwidth, server.AllowedBandwidth, ) } }

Ara podem executar el codi. Torneu al terminal que vam obrir anteriorment i introduïu l'ordre go run. La sortida s'assemblarà a la següent:

Servers: server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth

Si rebeu un error, assegureu-vos que la vostra clau API i l'adreça IP siguin correctes.

Conclusió

En aquest punt, haureu après amb èxit els conceptes bàsics sobre com utilitzar el client API oficial i heu escrit un programa que mostrarà informació sobre els servidors del vostre compte.

Més passos

A partir d'aquí, pots fer molt més. Per exemple, podeu escriure un programa per subministrar un nou servidor quan teniu poca memòria. Podríeu escriure una aplicació per actualitzar automàticament el vostre servidor quan tingueu poca amplada de banda o emmagatzematge. Fins i tot podríeu escriure una eina per actualitzar automàticament els registres DNS en funció de la vostra IP actual.

Per obtenir més informació sobre la biblioteca govultr, podeu trobar la documentació de la biblioteca govultr a godoc .

govultr és un projecte de codi obert . Si trobeu algun error a govultr, podeu informar-ne a GitHub . També podeu contribuir directament al codi enviant una sol·licitud d'extracció .

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació