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ó .


Connexió demmagatzematge de blocs

Connexió demmagatzematge de blocs

Els volums d'emmagatzematge de blocs s'adjunten a les instàncies com a discs addicionals. Heu d'adjuntar el volum a una instància abans que es pugui utilitzar. Diversos volums poden b

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar

ISO personalitzat de Windows amb controladors VirtIO

ISO personalitzat de Windows amb controladors VirtIO

Creació de la ISO de Windows (només versions de servidor) Obteniu els darrers controladors binaris VirtIO per a Windows, empaquetats com a fitxer ISO,

Mode de recuperació de Windows Server 2016

Mode de recuperació de Windows Server 2016

En accedir al mode de recuperació a Windows Server 2016, és possible que experimenteu un error d'aturada (pantalla blava). La solució és accedir a l'opció Repara l'ordinador

Instal·leu Nginx + PHP FPM + Caching + MySQL a Ubuntu 12.04

Instal·leu Nginx + PHP FPM + Caching + MySQL a Ubuntu 12.04

Probablement molta gent farà servir els seus VPS Vultr com a servidors web, una bona opció seria Nginx com a servidor web. En aquest tema vaig a descriure o

Com accedir al vostre VPS Vultr

Com accedir al vostre VPS Vultr

Vultr ofereix diverses maneres diferents d'accedir al vostre VPS per configurar, instal·lar i utilitzar. Credencials d'accés Les credencials d'accés predeterminades per al vostre VPS ar

Imatges dUbuntu 16.04 Informeu derrors sobre el servei de metadades EC2

Imatges dUbuntu 16.04 Informeu derrors sobre el servei de metadades EC2

En arrencar, algunes instàncies anteriors d'Ubuntu 16.04 poden mostrar el següent advertiment: **************************************** **************************************

Emmagatzematge dobjectes Vultr

Emmagatzematge dobjectes Vultr

L'emmagatzematge d'objectes compatible amb S3* ja està disponible al núvol Vultr. La nostra tecnologia d'emmagatzematge d'objectes és assequible, escalable i fàcil d'integrar en tu

Activa làudio de Windows en una instància de Windows Server

Activa làudio de Windows en una instància de Windows Server

Nota: aquesta guia funcionarà per a instàncies de Windows 2012 R2 i Windows 2016. Els servidors de Windows, per defecte, no tenen el servei d'àudio de Windows habilitat.

Exemple de carta dautorització per a anuncis de BGP

Exemple de carta dautorització per a anuncis de BGP

Si us plau, utilitzeu la plantilla següent quan sol·liciteu l'autorització per als anuncis de BGP. CARTA D'AUTORITZACIÓ [DATA] A qui correspongui, Thi

Com crear registres DNS o PTR inversos al tauler de control de Vultr

Com crear registres DNS o PTR inversos al tauler de control de Vultr

Introducció a Vultr Reverse DNS Per afegir un registre PTR o DNS invers per a l'adreça IP de les instàncies, heu de seguir els passos que s'indiquen a continuació:

Introducció a Vultr DNS

Introducció a Vultr DNS

Vultr ofereix allotjament DNS gratuït per als dominis dels clients. Els servidors de noms estan en una xarxa AnyCAST i garanteixen una resolució DNS ràpida. Per utilitzar Vultrs DNS, ho faries

Accediu al mode dusuari únic (restableix la contrasenya darrel)

Accediu al mode dusuari únic (restableix la contrasenya darrel)

Per restablir la contrasenya root del vostre servidor, haureu d'arrencar en mode d'usuari únic. Accediu al vostre servidor al portal de clients Vultr i seguiu el pas

Múltiples xarxes privades

Múltiples xarxes privades

Vultr va introduir el suport per a diverses xarxes privades a principis de 2018. Aquesta característica s'ofereix com a millora de la xarxa privada estàndard. Quan

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

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 amb vosaltres

Alta disponibilitat a Vultr amb IP flotant i BGP

Alta disponibilitat a Vultr amb IP flotant i BGP

Vultr us permet combinar dues de les nostres funcions (IP flotants i BGP) per aconseguir una alta disponibilitat. Configuració Necessitareu dues instàncies al sam

Solucions de monitorització per al vostre VPS

Solucions de monitorització per al vostre VPS

En aquest article, coneixeràs una selecció de solucions de supervisió disponibles per al teu servidor Vultr. Depenent de l'elecció del vostre sistema operatiu, etc

Com puc generar claus SSH?

Com puc generar claus SSH?

Una clau SSH us permet iniciar sessió al vostre servidor sense necessitat de contrasenya. Les claus SSH es poden afegir automàticament als servidors durant el procés d'instal·lació.

Automatització de les actualitzacions dUbuntu 16 amb scripts dinici de Vultr

Automatització de les actualitzacions dUbuntu 16 amb scripts dinici de Vultr

Ubuntu 16 i posterior realitza tasques periòdiques relacionades amb apt (com ara actualitzar la llista de paquets i aplicar actualitzacions desateses) mitjançant un temporitzador systemd. Thi

Tallafoc Vultr

Tallafoc Vultr

Vultr ofereix una solució de tallafocs basada en web que es pot activar per protegir una o més instàncies de càlcul. Tenir un conjunt de regles de tallafocs per als vostres servidors i

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.

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.

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.

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ó