Jak používat knihovnu Vultr Go k získání informací o serveru

Úvod

Oficiální knihovnu Vultr Go lze použít k interakci s Vultr API . Vultr API vám umožňuje ovládat zdroje spojené s vaším účtem, včetně serverů, DNS, firewallu, snímků, sítě a dalších. Tento tutoriál poskytne úvod do používání oficiálního klienta Go API vytvořením jednoduché aplikace pro získání informací o vašich serverech.

Předpoklady

  • Počítač se systémem Windows, Linux nebo macOS s nainstalovaným Go 1.12+.
  • Základní znalosti programování.
  • Volitelné: IDE podporující Go (například Visual Studio Code, emacs nebo Atom).

Cíle

  • Chcete-li se dozvědět, jak používat oficiální knihovnu Vultr API.
  • Chcete-li napsat program pro zobrazení informací o serveru.

Krok 1: Vytvoření projektu

Nejprve začneme vytvořením nového modulu (projektu). Obvykle byste jako název modulu použili adresu URL úložiště pro váš kód, ale to je nad rámec tohoto kurzu. Prozatím budeme jako název modulu používat serverinfo .

Chcete-li vytvořit projekt, spusťte následující příkazy:

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

Krok 2: Stažení knihovny

Dále si stáhneme knihovnu API z GitHubu (web pro hostování kódu). Chcete-li stáhnout knihovny, musíte použít go getpříkaz. Tím se automaticky stáhne knihovna a její závislosti při jejím přidání do souboru go.mod . Ve stejném terminálu, který jste otevřeli dříve, zadejte následující příkaz:

go get github.com/vultr/govultr

Krok 3: Získání klíče API

Chcete-li používat klienta API, budete potřebovat svůj klíč API. Svůj klíč API můžete získat na kartě API v sekci Účet na vašem Dashboardu . Budete také muset autorizovat svou IP adresu, abyste mohli používat klíč API. Svou IP adresu najdete na ifconfig.me . Všimněte si, že hledáte svou veřejnou IP, ne svou soukromou. Vaše soukromá IP je to, co byste našli v nastavení sítě na svém počítači, a je v jednom z následujících rozsahů CIDR: 10.0.0.0/8 , 172.16.0.0/12 nebo 192.168.0.0/16 .

Jakmile budete mít svou IP adresu, přidejte ji do sekce Řízení přístupu . Do pole za / zadejte 32. /32je význam masky sítě 255.255.255.255. To znamená, že v rozsahu je zahrnuta pouze vaše IP adresa.

Upozornění: Chraňte svůj API klíč stejně jako své heslo. Klíč API má přístup k celému vašemu účtu, včetně fakturace, serverů a úložiště.

Krok 4: Vytvoření souboru programu

Nyní začneme pracovat na programu. Otevřete složku, kterou jsme vytvořili ve vašem zvoleném editoru, a vytvořte soubor s názvem main.go.

Do souboru zadejte nebo zkopírujte a vložte následující kód:

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

package mainŘíká Go, že jsme vytvořit příkaz, ne knihovny. Příkaz import deklaruje závislosti, které budeme používat. func main()je funkce volaná při spuštění našeho programu.

Krok 5: Inicializace klienta API

Dalším krokem je inicializace klienta API. K tomu musíme použít funkci govultr.NewClient(http.Client, string) . Do funkce main() přidejte následující kód :

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

Nahraďte YOURAPIKEYklíčem API, který jste získali dříve.

Podívejme se na tento kód trochu blíže. Na levé straně :=máme client. To je název proměnné . Proměnná ukládá hodnoty. Na pravé straně máme volání funkce govultr.NewClient . První parametr je nula, protože nepotřebujeme měnit výchozího HTTP klienta. Druhým parametrem je klíč API, který používáme k autentizaci. :=Provozovatel přiřadí správnou stranou na levou stranu, v tomto případě je výsledek volání funkce k client.

Krok 6: Použití API

Náš program stále nic nedělá. Aby to bylo užitečné, budeme získávat informace o našich serverech z Vultr. Použijeme funkci govultr.Client.Server.List(context.Context) ([]govultr.Server, chyba) . Na konec funkce main() přidejte následující kód :

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

V tomto kódu voláme funkci API k načtení informací o serveru. S významem kontextu si zatím hlavu nelámejte , protože jde o pokročilejší téma. V tuto chvíli potřebujeme vědět jen to, že kontext řídí běh klienta API. context.Background() vrací prázdný kontext . Poté, co načteme informace o serveru do dvou proměnných, servers a err , zkontrolujeme, zda nedošlo k chybě. Pokud ano, informujeme uživatele o chybě a ukončíme s kódem 1 (chyba).

Krok 7: Zobrazení informací

Nyní, když máme pole serverů v proměnné servers ( []govultr.Server ), můžeme ji skutečně zobrazit. Na konec funkce main() přidejte následující kód :

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

Nejprve vytiskneme (zobrazíme) záhlaví, Servers:. Potom provedeme smyčku přes pole serverů , ignorujeme index jeho přiřazením k _a přiřadíme aktuální server k proměnné serveru . Uvnitř smyčky zobrazujeme štítek serveru, IP adresu, umístění, nevyřízené poplatky, aktuální šířku pásma a povolenou šířku pásma. Abychom toho dosáhli efektivně, používáme formátovací řetězce , řetězec, který vypadá jako " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Tyto %sprostředky nahradit další řetězec, zatímco %.2fprostředky pro vytištění další float (počet desetinných míst), zaokrouhleno na 2 desetinná místa. Zbytek formátovacího řetězce je vytištěn doslova (tak jak je).

Krok 8: Běh

V tomto okamžiku by váš kód měl vypadat takto:

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

Nyní můžeme spustit kód. Vraťte se do terminálu, který jsme otevřeli dříve, a zadejte příkaz go run. Výstup bude vypadat následovně:

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

Pokud se zobrazí chyba, ujistěte se, že váš klíč API a adresa IP jsou správné.

Závěr

V tomto bodě se úspěšně naučíte základy používání oficiálního API klienta a napíšete program, který bude zobrazovat informace o serverech ve vašem účtu.

Další kroky

Odtud můžete udělat mnohem více. Můžete například napsat program pro zřízení nového serveru, když máte málo paměti. Můžete napsat aplikaci, která automaticky upgraduje váš server, když máte málo šířky pásma nebo úložiště. Můžete dokonce napsat nástroj pro automatickou aktualizaci DNS záznamů na základě vaší aktuální IP adresy.

Další informace o knihovně govultr najdete v dokumentaci knihovny govultr na godoc .

govultr je projekt s otevřeným zdrojovým kódem . Pokud v govultr najdete nějaké chyby, můžete je nahlásit na GitHubu . Můžete také přispět ke kódu přímo odesláním žádosti o stažení .


Připojování blokového úložiště

Připojování blokového úložiště

Blokové úložné svazky se připojují k instancím jako další disky. Před použitím je nutné svazek připojit k instanci. Více svazků může b

Konfigurace statické sítě a IPv6 na CentOS 7

Konfigurace statické sítě a IPv6 na CentOS 7

VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat

Jaké porty jsou blokovány?

Jaké porty jsou blokovány?

Kvůli zabezpečení sítě blokujeme několik odchozích portů. Blokováno ve výchozím nastavení Můžete požádat o odstranění těchto blokování otevřením lístku podpory. TCP port 2

Vlastní ISO systému Windows s ovladači VirtIO

Vlastní ISO systému Windows s ovladači VirtIO

Vytváření Windows ISO (pouze serverové verze) Získejte nejnovější binární ovladače VirtIO pro Windows, zabalené jako soubor ISO,

Režim obnovení systému Windows Server 2016

Režim obnovení systému Windows Server 2016

Při přístupu do režimu obnovení v systému Windows Server 2016 se může objevit chyba zastavení (modrá obrazovka). Řešením je přístup k volbě Opravit počítač

Nainstalujte Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Nainstalujte Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Pravděpodobně mnoho lidí bude používat své Vultr VPS jako webové servery, dobrou volbou by byl Nginx jako webový server. V tomto tématu popíšu o

Vultr Block Storage

Vultr Block Storage

Technologie Vultrs Cloud Block Storage vám umožňuje připojit k vaší instanci vysoce výkonné škálovatelné úložiště, což výrazně zjednodušuje správu prostoru

Jak získat přístup k Vultr VPS

Jak získat přístup k Vultr VPS

Vultr poskytuje několik různých způsobů přístupu k vašemu VPS za účelem konfigurace, instalace a používání. Přístupové údaje Výchozí přístupové údaje pro váš VPS ar

Jak změním velikost disku VPS?

Jak změním velikost disku VPS?

Tato příručka vysvětluje, jak změnit velikost pevného disku na Vultr VPS. Pokud jste nedávno upgradovali svůj plán na plán s větším diskem, můžete se řídit těmito pokyny

Vlastní ISO na holý kov

Vlastní ISO na holý kov

Úvod Vultr v současnosti nemá zaveden systém, který by umožňoval nahrání a montáž vlastních ISO na holý kov. To vás však nezastaví

Obrázky Ubuntu 16.04 hlásí chyby o službě metadat EC2

Obrázky Ubuntu 16.04 hlásí chyby o službě metadat EC2

Po spuštění mohou některé starší instance Ubuntu 16.04 zobrazovat následující varování: ***************************************** *******************************************

Úložiště objektů Vultr

Úložiště objektů Vultr

Úložiště objektů kompatibilní s S3* je nyní k dispozici v cloudu Vultr. Naše technologie ukládání objektů je cenově dostupná, škálovatelná a snadno se do vás integruje

Povolte Windows Audio na instanci Windows Server

Povolte Windows Audio na instanci Windows Server

Poznámka: Tato příručka bude fungovat pro instance Windows 2012 R2 a Windows 2016. Servery Windows ve výchozím nastavení nemají povolenou službu Windows Audio.

Průvodce přenositelností dat Vultr

Průvodce přenositelností dat Vultr

Jak si mohu stáhnout svá cloudová data z Vultr? Přenositelnost dat na platformě Vultr Poskytujeme řadu jednoduchých řešení, která si můžete stáhnout

Příklad autorizačního dopisu pro oznámení BGP

Příklad autorizačního dopisu pro oznámení BGP

Při žádosti o autorizaci pro oznámení BGP použijte prosím následující šablonu. AUTORIZAČNÍ DOPIS [DATUM] Komu se to může týkat, Thi

Požadavky pro nahrání ISO ISO do Vultr

Požadavky pro nahrání ISO ISO do Vultr

Vultr nabízí širokou škálu operačních systémů, ze kterých si můžete vybrat. Někdy však možná budete chtít nahrát vlastní ISO operační systém, jako je Kal

Jak vytvořit reverzní záznamy DNS nebo PTR v ovládacím panelu Vultr

Jak vytvořit reverzní záznamy DNS nebo PTR v ovládacím panelu Vultr

Úvod do Vultr Reverse DNS Chcete-li přidat PTR nebo Reverse DNS záznam pro vaši IP adresu instance, musíte postupovat podle kroků uvedených níže:

Úvod do Vultr DNS

Úvod do Vultr DNS

Vultr nabízí bezplatný DNS hosting pro domény zákazníků. Jmenné servery jsou v síti AnyCAST a zajišťují rychlé rozlišení DNS. Chcete-li použít Vultrs DNS, měli byste

Přístup do režimu jednoho uživatele (resetování hesla uživatele root)

Přístup do režimu jednoho uživatele (resetování hesla uživatele root)

Chcete-li resetovat heslo root vašeho serveru, budete muset zavést systém do režimu jednoho uživatele. Přejděte na svůj server na zákaznickém portálu Vultr a poté postupujte podle pokynů

Více soukromých sítí

Více soukromých sítí

Vultr představil podporu pro více privátních sítí na začátku roku 2018. Tato funkce je nabízena jako vylepšení standardních privátních sítí. Když

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více