Come utilizzare la libreria Vultr Go per ottenere informazioni sul server

introduzione

La libreria ufficiale di Vultr Go può essere utilizzata per interagire con l' API Vultr . L'API Vultr ti consente di controllare le risorse associate al tuo account, inclusi server, DNS, firewall, snapshot, rete e altro. Questo tutorial introdurrà l'utilizzo del client ufficiale Go API creando una semplice applicazione per ottenere informazioni sui tuoi server.

Prerequisiti

  • Un computer con Windows, Linux o macOS con Go 1.12+ installato.
  • Conoscenza di base della programmazione.
  • Facoltativo: un IDE che supporta Go (ad esempio Visual Studio Code, emacs o Atom).

obiettivi

  • Per informazioni su come utilizzare la libreria API Vultr ufficiale.
  • Per scrivere un programma per visualizzare le informazioni sul server.

Passaggio 1: creazione del progetto

Innanzitutto, inizieremo creando un nuovo modulo (progetto). Di solito, useresti l'URL in un repository per il tuo codice come nome del modulo, ma questo va oltre lo scopo di questo tutorial. Per ora, useremo serverinfo come nome del modulo.

Per creare il progetto, eseguire i seguenti comandi:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

Passaggio 2: download della libreria

Successivamente, scaricheremo la libreria API da GitHub (un sito di hosting di codice). Per scaricare librerie, è necessario utilizzare il go getcomando Ciò scaricherà automaticamente la libreria e le sue dipendenze durante l'aggiunta al file go.mod . Nello stesso terminale che hai aperto in precedenza, inserisci il seguente comando:

go get github.com/vultr/govultr

Passaggio 3: ottenere la chiave API

Per utilizzare il client API, avrai bisogno della tua chiave API. Puoi recuperare la tua chiave API dalla scheda API della sezione Account della dashboard . Dovrai anche autorizzare il tuo indirizzo IP per usare la chiave API. Puoi trovare il tuo indirizzo IP andando su ifconfig.me . Nota che stai cercando il tuo IP pubblico , non quello privato. Il tuo IP privato è quello che potresti trovare nelle impostazioni di rete sul tuo computer e si trova in uno dei seguenti intervalli CIDR: 10.0.0.0/8 , 172.16.0.0/12 o 192.168.0.0/16 .

Una volta che hai il tuo indirizzo IP, aggiungilo nella sezione Controllo accessi . Nella casella dopo il / , digitare 32. /32è un significato di maschera di rete 255.255.255.255. Ciò significa che solo il tuo IP è incluso nell'intervallo.

Avviso: proteggi la tua chiave API come se stessi proteggendo la tua password. La chiave API ha accesso all'intero account, inclusi fatturazione, server e spazio di archiviazione.

Passaggio 4: creazione del file di programma

Ora inizieremo a lavorare sul programma. Apri la cartella che abbiamo creato nella tua scelta di editor e crea un file chiamato main.go.

All'interno del file, digitare o copiare e incollare il seguente codice:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

La package maindice Go che stiamo creando un comando, non è una biblioteca. La dichiarazione di importazione dichiara le dipendenze che useremo. func main()è la funzione chiamata quando eseguiamo il nostro programma.

Passaggio 5: inizializzazione del client API

Il prossimo passo è inizializzare il client API. Per fare ciò, dobbiamo usare la funzione govultr.NewClient (http.Client, string) . Aggiungi il seguente codice all'interno della funzione main () :

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

Sostituisci YOURAPIKEYcon la chiave API recuperata in precedenza.

Diamo un'occhiata a questo codice un po 'più da vicino. Sul lato sinistro del :=, abbiamo client. Questo è il nome di una variabile . Una variabile memorizza i valori. Sul lato destro, abbiamo una chiamata di funzione a govultr.NewClient . Il primo parametro è zero, perché non è necessario modificare il client HTTP predefinito. Il secondo parametro è la chiave API che stiamo usando per autenticarci. L' :=operatore assegna il lato destro al lato sinistro, in questo caso il risultato della chiamata di funzione a client.

Passaggio 6: utilizzo dell'API

Il nostro programma continua a non fare ancora nulla. Per renderlo utile, recupereremo le informazioni sui nostri server da Vultr. Useremo la funzione govultr.Client.Server.List (context.Context) ([] govultr.Server, error) . Aggiungi il seguente codice alla fine della funzione main () :

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

In questo codice, stiamo chiamando la funzione API per recuperare le informazioni sul server. Non preoccuparti ancora del significato del contesto , poiché si tratta di un argomento più avanzato. Per ora, tutto ciò che dobbiamo sapere è che il contesto controlla come viene eseguito il client API. context.Background () restituisce un contesto vuoto . Dopo aver recuperato le informazioni del server nelle due variabili, server ed err , controlliamo se si è verificato un errore. In tal caso, informiamo l'utente dell'errore e usciamo con il codice 1 (errore).

Passaggio 7: visualizzazione delle informazioni

Ora che abbiamo una matrice di server nella variabile server ( [] govultr.Server ), possiamo effettivamente visualizzarla. Aggiungi il seguente codice alla fine della funzione 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,
    )
}

In primo luogo il risultato della stampa (display) un colpo di testa, Servers:. Quindi, eseguiamo il ciclo sull'array di server , ignorando l'indice assegnandolo a _e assegnando il server corrente alla variabile server . All'interno del loop, visualizziamo l'etichetta del server, l'indirizzo IP, la posizione, i costi in sospeso, la larghezza di banda corrente e la larghezza di banda consentita. Per fare questo in modo efficace, usiamo stringhe di formato , la stringa che sembra " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". I %s mezzi per sostituire la stringa successiva, mentre i %.2fmezzi per stampare il float successivo (numero decimale) arrotondato al secondo decimale. Il resto della stringa di formato viene stampato letteralmente (così com'è).

Passaggio 8: in esecuzione

A questo punto, il codice dovrebbe essere simile al seguente:

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

Ora possiamo eseguire il codice. Ritorna al terminale che abbiamo aperto in precedenza e inserisci il comando go run. L'output sarà simile al seguente:

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

Se ricevi un errore, assicurati che la chiave API e l'indirizzo IP siano corretti.

Conclusione

A questo punto, avrai appreso con successo le basi su come utilizzare il client API ufficiale e scritto un programma che visualizzerà le informazioni sui server nel tuo account.

Ulteriori passi

Da qui, puoi fare molto di più. Ad esempio, è possibile scrivere un programma per eseguire il provisioning di un nuovo server quando si ha poca memoria. Potresti scrivere un'app per aggiornare automaticamente il tuo server quando sei a corto di larghezza di banda o spazio di archiviazione. Potresti persino scrivere uno strumento per aggiornare automaticamente i record DNS in base al tuo IP attuale.

Per ulteriori informazioni sulla libreria govultr, è possibile trovare la documentazione della libreria govultr su godoc .

govultr è un progetto open source . Se trovi dei bug in govultr, puoi segnalarli su GitHub . Puoi anche contribuire direttamente al codice inviando una richiesta pull .



Come accedere al VPS Vultr

Come accedere al VPS Vultr

Vultr offre diversi modi per accedere al tuo VPS per configurare, installare e utilizzare. Credenziali di accesso Le credenziali di accesso predefinite per il tuo VPS ar

ISO personalizzato su metallo nudo

ISO personalizzato su metallo nudo

Introduzione Attualmente Vultr non dispone di un sistema che consenta di caricare e montare ISO personalizzati su bare metal. Tuttavia, questo non ti ferma

Tempo di correzione su Windows Server

Tempo di correzione su Windows Server

Per impostazione predefinita, un VPS Vultr con Windows Server 2012 ha lora di sistema impostata sul fuso orario UTC. Puoi cambiare il fuso orario come desideri, ma cambiandolo t

Automatizzare gli aggiornamenti di Ubuntu 16 con script di avvio Vultr

Automatizzare gli aggiornamenti di Ubuntu 16 con script di avvio Vultr

Ubuntu 16 e versioni successive eseguono attività periodiche relative ad apt (come laggiornamento dellelenco dei pacchetti e lapplicazione di aggiornamenti automatici) usando un timer di sistema. Thi

Introduzione a Cloud-Init

Introduzione a Cloud-Init

Cloud-init è un progetto open source compatibile con la maggior parte delle distribuzioni Linux. Le istanze Vultr create prima del 2017 avevano questo software installato per impostazione predefinita. th

Esempio di lettera di autorizzazione per annunci BGP

Esempio di lettera di autorizzazione per annunci BGP

Utilizzare il modello seguente quando si richiede lautorizzazione per gli annunci BGP. LETTERA DI AUTORIZZAZIONE [DATA] A chi può interessare, Thi

Come creare record DNS o PTR inversi nel Pannello di controllo Vultr

Come creare record DNS o PTR inversi nel Pannello di controllo Vultr

Introduzione al DNS inverso Vultr Per aggiungere un record PTR o DNS inverso per lindirizzo IP dellistanza, è necessario seguire i passaggi indicati di seguito:

Configurazione della rete privata

Configurazione della rete privata

Se stai assegnando una rete privata a una macchina esistente (o stai distribuendo il tuo sistema operativo), dovrai configurare gli indirizzi IP sul privat

Installa Nginx + PHP FPM + Caching + MySQL su Ubuntu 12.04

Installa Nginx + PHP FPM + Caching + MySQL su Ubuntu 12.04

Probabilmente molte persone useranno i loro VPS Vultr come server web, una buona scelta sarebbe Nginx come server web. In questo argomento descriverò o

Archiviazione blocco Vultr

Archiviazione blocco Vultr

La tecnologia Vultrs Cloud Block Storage ti consente di montare storage scalabile ad alte prestazioni sulla tua istanza, rendendo la gestione dello spazio significativamente più economica

Esecuzione di CoreOS su un VPS Vultr

Esecuzione di CoreOS su un VPS Vultr

Si prega di leggere: Vultr ora offre CoreOS nella pagina dellordine - Questa guida spiega come impostare CoreOS manualmente. Queste istruzioni ti guideranno attraverso la corsa

Soluzioni di monitoraggio per il tuo VPS

Soluzioni di monitoraggio per il tuo VPS

In questo articolo imparerai una selezione delle soluzioni di monitoraggio disponibili per il tuo server Vultr. A seconda della scelta del sistema operativo, ther

Single Sign-On

Single Sign-On

Il sistema di accesso aziendale può essere integrato con il sistema di account Vultrs utilizzando la funzionalità Single Sign-On (SSO). SSO aiuta a semplificare la gestione delle password

Aggiungi un indirizzo IPv4 secondario al tuo VPS

Aggiungi un indirizzo IPv4 secondario al tuo VPS

Questo tutorial spiega come impostare un indirizzo IPv4 aggiuntivo su Vultr VPS. Assumeremo quanto segue: Lindirizzo IP principale del tuo VPS è 1.2.3.4.

RPKI

RPKI

RPKI (Resource Public Key Infrastructure) è un modo per prevenire il dirottamento di BGP. Utilizza le firme crittografiche per convalidare che un ASN è consentito t

Abilita audio di Windows su unistanza di Windows Server

Abilita audio di Windows su unistanza di Windows Server

Nota: questa guida funzionerà per le istanze di Windows 2012 R2 e Windows 2016. I server Windows, per impostazione predefinita, non hanno il servizio audio di Windows abilitato.

Clonazione di un server virtuale con Vultr

Clonazione di un server virtuale con Vultr

A volte, è necessario clonare un server virtuale a scopo di ridimensionamento o, ad esempio, per modificare la regione del server. Su Vultr, questo è facile, a

Alta disponibilità su Vultr con IP mobile e BGP

Alta disponibilità su Vultr con IP mobile e BGP

Vultr ti consente di combinare due delle nostre funzionalità (IP mobili e BGP) al fine di ottenere unalta disponibilità. Installazione Avrai bisogno di due istanze nel sam

ISO personalizzato di Windows con driver VirtIO

ISO personalizzato di Windows con driver VirtIO

Creazione dellISO di Windows (solo versioni server) Ottieni i più recenti driver binari VirtIO per Windows, impacchettati come file ISO, da

Requisiti per il caricamento di un ISO del sistema operativo su Vultr

Requisiti per il caricamento di un ISO del sistema operativo su Vultr

Vultr offre unampia varietà di sistemi operativi tra cui scegliere. A volte, tuttavia, potresti voler caricare il tuo sistema operativo ISO personalizzato come Kal

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.