So verwenden Sie die Vultr Go-Bibliothek, um Serverinformationen abzurufen

Einführung

Die offizielle Vultr Go-Bibliothek kann zur Interaktion mit der Vultr- API verwendet werden . Mit der Vultr-API können Sie die mit Ihrem Konto verknüpften Ressourcen steuern, einschließlich Server, DNS, Firewall, Snapshots, Netzwerk und mehr. Dieses Tutorial bietet eine Einführung in die Verwendung des offiziellen Go API-Clients, indem Sie eine einfache Anwendung erstellen, um Informationen zu Ihren Servern abzurufen.

Voraussetzungen

  • Ein Computer unter Windows, Linux oder MacOS mit installiertem Go 1.12+.
  • Grundlegende Programmierkenntnisse.
  • Optional: Eine IDE, die Go unterstützt (z. B. Visual Studio Code, Emacs oder Atom).

Tore

  • Erfahren Sie, wie Sie die offizielle Vultr-API-Bibliothek verwenden.
  • So schreiben Sie ein Programm zum Anzeigen von Serverinformationen.

Schritt 1: Erstellen des Projekts

Zunächst erstellen wir ein neues Modul (Projekt). Normalerweise verwenden Sie die URL zu einem Repository für Ihren Code als Modulnamen, dies geht jedoch über den Rahmen dieses Lernprogramms hinaus. Im Moment werden wir serverinfo als Modulnamen verwenden .

Führen Sie die folgenden Befehle aus, um das Projekt zu erstellen:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

Schritt 2: Herunterladen der Bibliothek

Als nächstes werden wir die API-Bibliothek von GitHub (einer Code-Hosting-Site) herunterladen. Um Bibliotheken herunterzuladen, müssen Sie den go getBefehl verwenden. Dadurch werden die Bibliothek und ihre Abhängigkeiten automatisch heruntergeladen, während sie der Datei go.mod hinzugefügt werden. Geben Sie im selben Terminal, das Sie zuvor geöffnet haben, den folgenden Befehl ein:

go get github.com/vultr/govultr

Schritt 3: Abrufen Ihres API-Schlüssels

Um den API-Client verwenden zu können, benötigen Sie Ihren API-Schlüssel. Sie können Ihren API-Schlüssel auf der Registerkarte API im Abschnitt Konto Ihres Dashboards abrufen . Sie müssen auch Ihre IP-Adresse autorisieren, um den API-Schlüssel verwenden zu können. Sie finden Ihre IP-Adresse unter ifconfig.me . Beachten Sie, dass Sie nach Ihrer öffentlichen IP- Adresse suchen , nicht nach Ihrer privaten. Ihre private IP- Adresse befindet sich in Ihren Netzwerkeinstellungen auf Ihrem Computer und liegt in einem der folgenden CIDR-Bereiche: 10.0.0.0/8 , 172.16.0.0/12 oder 192.168.0.0/16 .

Wenn Sie Ihre IP-Adresse haben, fügen Sie sie im Abschnitt Zugriffssteuerung hinzu . In der Box nach dem / geben 32. /32ist eine Netzmaskenbedeutung 255.255.255.255. Dies bedeutet, dass nur Ihre IP im Bereich enthalten ist.

Warnung: Schützen Sie Ihren API-Schlüssel so, als würden Sie Ihr Passwort schützen. Der API-Schlüssel hat Zugriff auf Ihr gesamtes Konto, einschließlich Abrechnung, Server und Speicher.

Schritt 4: Erstellen der Programmdatei

Jetzt werden wir mit der Arbeit an dem Programm beginnen. Öffnen Sie den Ordner, den wir in einem Editor Ihrer Wahl erstellt haben, und erstellen Sie eine Datei mit dem Namen main.go.

Geben Sie in die Datei den folgenden Code ein oder kopieren Sie ihn:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

Das package mainsagt Go, dass wir einen Befehl erstellen, keine Bibliothek. Die import-Anweisung deklariert die Abhängigkeiten, die wir verwenden werden. func main()ist die Funktion, die aufgerufen wird, wenn wir unser Programm ausführen.

Schritt 5: Initialisieren des API-Clients

Der nächste Schritt ist die Initialisierung des API-Clients. Dazu müssen wir die Funktion govultr.NewClient (http.Client, string) verwenden. Fügen Sie den folgenden Code in die Funktion main () ein :

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

Ersetzen Sie ihn YOURAPIKEYdurch den zuvor abgerufenen API-Schlüssel.

Schauen wir uns diesen Code etwas genauer an. Auf der linken Seite :=haben wir client. Das ist der Name einer Variablen . Eine Variable speichert Werte. Auf der rechten Seite haben wir einen Funktionsaufruf an govultr.NewClient . Der erste Parameter ist nil, da wir den Standard-HTTP-Client nicht ändern müssen. Der zweite Parameter ist der API-Schlüssel, mit dem wir uns authentifizieren. Der :=Bediener ordnet die rechte Seite der linken Seite zu, in diesem Fall das Ergebnis des Funktionsaufrufs an client.

Schritt 6: Verwenden der API

Unser Programm macht noch nichts. Um es nützlich zu machen, werden wir Informationen über unsere Server von Vultr abrufen. Wir werden die Funktion govultr.Client.Server.List (context.Context) ([] govultr.Server, error) verwenden. Fügen Sie am Ende der Funktion main () den folgenden Code hinzu :

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

In diesem Code rufen wir die API-Funktion auf, um die Serverinformationen abzurufen. Machen Sie sich noch keine Sorgen über die Bedeutung des Kontexts , da dies ein fortgeschritteneres Thema ist. Im Moment müssen wir nur wissen, dass der Kontext die Ausführung des API-Clients steuert. context.Background () gibt einen leeren Kontext zurück . Nachdem wir die Serverinformationen in die beiden Variablen server und err abgerufen haben , prüfen wir, ob ein Fehler aufgetreten ist. Wenn ja, informieren wir den Benutzer über den Fehler und beenden mit Code 1 (Fehler).

Schritt 7: Anzeigen der Informationen

Nun , da wir eine Reihe von Servern in der haben Server - Variable ( [] govultr.Server ), können wir es tatsächlich angezeigt werden soll . Fügen Sie am Ende der Funktion main () den folgenden Code hinzu :

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

Zuerst drucken wir einen Header Servers:. Dann wir Schleife über die Server - Array, Ignorieren des Index , indem es die Zuordnung _und den aktuellen Server zu dem Zuweisen Server Variable. Innerhalb der Schleife zeigen wir die Bezeichnung des Servers, die IP-Adresse, den Standort, die ausstehenden Gebühren, die aktuelle Bandbreite und die zulässige Bandbreite an. Um dies zu efficently tun, verwenden wir Formatstrings , die Zeichenfolge , die wie folgt aussieht " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Das %s Mittel zum Ersetzen der nächsten Zeichenfolge, während das %.2fMittel zum Drucken des nächsten Gleitkommas (Dezimalzahl) auf 2 Dezimalstellen gerundet ist. Der Rest der Formatzeichenfolge wird buchstäblich (wie sie ist) gedruckt.

Schritt 8: Laufen

Zu diesem Zeitpunkt sollte Ihr Code wie folgt aussehen:

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

Wir können jetzt den Code ausführen. Kehren Sie zu dem zuvor geöffneten Terminal zurück und geben Sie den Befehl ein go run. Die Ausgabe ähnelt der folgenden:

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

Wenn Sie eine Fehlermeldung erhalten, stellen Sie sicher, dass Ihr API-Schlüssel und Ihre IP-Adresse korrekt sind.

Fazit

Zu diesem Zeitpunkt haben Sie die Grundlagen der Verwendung des offiziellen API-Clients erfolgreich erlernt und ein Programm geschrieben, das Informationen zu den Servern in Ihrem Konto anzeigt.

Weitere Schritte

Von hier aus können Sie noch viel mehr tun. Sie können beispielsweise ein Programm schreiben, um einen neuen Server bereitzustellen, wenn Sie wenig Speicher haben. Sie können eine App schreiben, um Ihren Server automatisch zu aktualisieren, wenn Sie wenig Bandbreite oder Speicherplatz haben. Sie können sogar ein Tool schreiben, um DNS-Einträge basierend auf Ihrer aktuellen IP automatisch zu aktualisieren.

Weitere Informationen zur govultr-Bibliothek finden Sie in der Dokumentation zur govultr- Bibliothek auf godoc .

govultr ist ein Open-Source-Projekt . Wenn Sie Fehler in govultr finden, können Sie diese auf GitHub melden . Sie können auch direkt zum Code beitragen, indem Sie eine Pull-Anfrage senden .



Leave a Comment

Benutzerdefinierte ISO auf Bare Metal

Benutzerdefinierte ISO auf Bare Metal

Einführung Vultr verfügt derzeit nicht über ein System, mit dem benutzerdefinierte ISOs hochgeladen und auf Bare Metal montiert werden können. Dies hört jedoch nicht auf

So erstellen Sie Reverse DNS- oder PTR-Einträge in der Vultr-Systemsteuerung

So erstellen Sie Reverse DNS- oder PTR-Einträge in der Vultr-Systemsteuerung

Einführung in Vultr Reverse DNS Um einen PTR- oder Reverse DNS-Eintrag für die IP-Adresse Ihrer Instanzen hinzuzufügen, müssen Sie die folgenden Schritte ausführen:

Korrekturzeit unter Windows Server

Korrekturzeit unter Windows Server

Standardmäßig ist die Systemzeit eines Vultr VPS mit Windows Server 2012 auf die UTC-Zeitzone eingestellt. Sie können die Zeitzone nach Ihren Wünschen ändern, aber t

Setzen Sie das Windows Server-Administratorkennwort zurück

Setzen Sie das Windows Server-Administratorkennwort zurück

Es gibt Zeiten, in denen Sie Ihr lokales Administratorkennwort unter Windows vergessen haben und es zurücksetzen müssen. Es ist leicht möglich, dieses Passwort zurückzusetzen. I.

Automatisieren von Ubuntu 16-Updates mit Vultr-Startskripten

Automatisieren von Ubuntu 16-Updates mit Vultr-Startskripten

Ubuntu 16 und höher führt regelmäßige Aufgaben im Zusammenhang mit apt (z. B. Aktualisieren der Paketliste und Anwenden unbeaufsichtigter Upgrades) mithilfe eines systemd-Timers aus. Thi

Wie ändere ich die Größe meiner VPS-Festplatte?

Wie ändere ich die Größe meiner VPS-Festplatte?

In diesem Handbuch wird erläutert, wie Sie die Größe der Festplatte auf einem Vultr VPS ändern. Wenn Sie Ihren Plan kürzlich auf einen Plan mit einer größeren Festplatte aktualisiert haben, können Sie diesen folgen

Zugriff auf den Einzelbenutzermodus (Root-Passwort zurücksetzen)

Zugriff auf den Einzelbenutzermodus (Root-Passwort zurücksetzen)

Um das Root-Passwort Ihres Servers zurückzusetzen, müssen Sie im Einzelbenutzermodus starten. Greifen Sie im Vultr-Kundenportal auf Ihren Server zu und befolgen Sie die Schritte

Mehrere private Netzwerke

Mehrere private Netzwerke

Vultr hat Anfang 2018 die Unterstützung für mehrere private Netzwerke eingeführt. Diese Funktion wird als Erweiterung des privaten Standardnetzwerks angeboten. Whe

So stellen Sie einen Schnappschuss wieder her

So stellen Sie einen Schnappschuss wieder her

Snapshots sind eine effektive Möglichkeit, eine vollständige Sicherung Ihres Servers zu erstellen. Sie können nicht einzelne Dateien wiederherstellen, sondern den gesamten Server. Thi

Erste Schritte mit Cloud-Init

Erste Schritte mit Cloud-Init

Cloud-init ist ein Open Source-Projekt, das mit den meisten Linux-Distributionen kompatibel ist. Bei Vultr-Instanzen, die vor 2017 erstellt wurden, wurde diese Software standardmäßig installiert. Th

Automatische Backups

Automatische Backups

Vultr bietet eine automatische Sicherung als Option für Recheninstanzen an. Backups sind äußerst wichtig für geschäftskritische Systeme und das Vultr-Backup-System

Klonen eines virtuellen Servers mit Vultr

Klonen eines virtuellen Servers mit Vultr

Gelegentlich müssen Sie einen virtuellen Server entweder zu Skalierungszwecken klonen oder beispielsweise die Region des Servers ändern. Auf Vultr ist das einfach, a

Beispiel eines Autorisierungsschreibens für BGP-Ankündigungen

Beispiel eines Autorisierungsschreibens für BGP-Ankündigungen

Bitte verwenden Sie die folgende Vorlage, wenn Sie eine Autorisierung für BGP-Ankündigungen anfordern. AUTORISIERUNGSBUCHSTABE [DATUM] Wen es betrifft, Thi

Privates Netzwerk konfigurieren

Privates Netzwerk konfigurieren

Wenn Sie einem vorhandenen Computer ein privates Netzwerk zuweisen (oder Ihr eigenes Betriebssystem bereitstellen), müssen Sie die IP-Adressen auf dem privaten Computer konfigurieren

Installieren Sie Nginx + PHP FPM + Caching + MySQL unter Ubuntu 12.04

Installieren Sie Nginx + PHP FPM + Caching + MySQL unter Ubuntu 12.04

Wahrscheinlich werden viele Leute ihre Vultr-VPS als Webserver verwenden. Eine gute Wahl wäre Nginx als Webserver. In diesem Thema werde ich o beschreiben

Vultr Block Lagerung

Vultr Block Lagerung

Mit der Vultrs Cloud Block Storage-Technologie können Sie skalierbaren Hochleistungsspeicher in Ihre Instanz einbinden, wodurch das Speichermanagement erheblich verbessert wird

RPKI

RPKI

RPKI (Resource Public Key Infrastructure) ist eine Möglichkeit, die Entführung von BGP zu verhindern. Es verwendet kryptografische Signaturen, um zu überprüfen, ob ein Lieferavis zulässig ist

Aktivieren Sie Windows Audio auf einer Windows Server-Instanz

Aktivieren Sie Windows Audio auf einer Windows Server-Instanz

Hinweis: Dieses Handbuch funktioniert für Windows 2012 R2- und Windows 2016-Instanzen. Auf Windows-Servern ist der Windows-Audiodienst standardmäßig nicht aktiviert.

Konfigurieren von IPv6 auf Ihrem VPS

Konfigurieren von IPv6 auf Ihrem VPS

Jedes dieser Beispiele setzt ein IPv6-Subnetz von 2001 voraus: db8: 1000 :: / 64. Sie müssen sie mit dem Ihnen zugewiesenen Subnetz aktualisieren. Wir werden usin sein

Hochverfügbarkeit auf Vultr mit Floating IP und BGP

Hochverfügbarkeit auf Vultr mit Floating IP und BGP

Mit Vultr können Sie zwei unserer Funktionen (Floating IPs und BGP) kombinieren, um eine hohe Verfügbarkeit zu erreichen. Setup Sie benötigen zwei Instanzen im Sam

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.