Ako používať knižnicu Vultr Go na získanie informácií o serveri

Úvod

Na interakciu s Vultr API možno použiť oficiálnu knižnicu Vultr Go . Vultr API vám umožňuje ovládať zdroje spojené s vaším účtom, vrátane serverov, DNS, firewallu, snímok, siete a ďalších. Tento tutoriál vám poskytne úvod do používania oficiálneho klienta Go API vytvorením jednoduchej aplikácie na získanie informácií o vašich serveroch.

Predpoklady

  • Počítač so systémom Windows, Linux alebo macOS s nainštalovaným Go 1.12+.
  • Základné znalosti programovania.
  • Voliteľné: IDE podporujúce Go (napríklad Visual Studio Code, emacs alebo Atom).

Ciele

  • Ak sa chcete dozvedieť, ako používať oficiálnu knižnicu Vultr API.
  • Ak chcete napísať program na zobrazenie informácií o serveri.

Krok 1: Vytvorenie projektu

Najprv začneme vytvorením nového modulu (projektu). Zvyčajne by ste ako názov modulu použili adresu URL úložiska pre váš kód, ale to je nad rámec tohto návodu. Zatiaľ budeme ako názov modulu používať serverinfo .

Ak chcete vytvoriť projekt, spustite nasledujúce prí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: Stiahnutie knižnice

Ďalej si stiahneme knižnicu API z GitHub (stránka na hosťovanie kódu). Ak chcete stiahnuť knižnice, musíte použiť go getpríkaz. Tým sa automaticky stiahne knižnica a jej závislosti pri jej pridávaní do súboru go.mod . V tom istom termináli, ktorý ste otvorili predtým, zadajte nasledujúci príkaz:

go get github.com/vultr/govultr

Krok 3: Získanie kľúča API

Ak chcete používať klienta API, budete potrebovať kľúč API. Kľúč API môžete získať na karte API v sekcii Účet na vašom informačnom paneli . Budete tiež musieť autorizovať svoju IP adresu, aby ste mohli používať kľúč API. Svoju IP adresu nájdete na ifconfig.me . Všimnite si, že hľadáte svoju verejnú IP, nie svoju súkromnú. Vaša súkromná adresa IP je to, čo by ste našli v nastaveniach siete vo svojom počítači, a nachádza sa v jednom z nasledujúcich rozsahov CIDR: 10.0.0.0/8 , 172.16.0.0/12 alebo 192.168.0.0/16 .

Keď máte svoju IP adresu, pridajte ju do sekcie Kontrola prístupu . Do poľa za znakom / zadajte 32. /32znamená masku siete 255.255.255.255. To znamená, že v rozsahu je zahrnutá iba vaša IP adresa.

Upozornenie: Chráňte svoj API kľúč tak, ako by ste chránili svoje heslo. Kľúč API má prístup k celému vášmu účtu vrátane fakturácie, serverov a úložiska.

Krok 4: Vytvorenie súboru programu

Teraz začneme pracovať na programe. Otvorte priečinok, ktorý sme vytvorili vo vašom zvolenom editore, a vytvorte súbor s názvom main.go.

Do súboru zadajte alebo skopírujte a prilepte nasledujúci kód:

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

package mainHovorí Go, že sme vytvoriť príkaz, nie knižnice. Príkaz import deklaruje závislosti, ktoré budeme používať. func main()je funkcia volaná pri spustení nášho programu.

Krok 5: Inicializácia klienta API

Ďalším krokom je inicializácia klienta API. Na to musíme použiť funkciu govultr.NewClient(http.Client, string) . Do funkcie main() pridajte nasledujúci kód :

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

Nahraďte YOURAPIKEYho kľúčom API, ktorý ste získali predtým.

Pozrime sa na tento kód trochu bližšie. Na ľavej strane :=máme client. To je názov premennej . Premenná ukladá hodnoty. Na pravej strane máme volanie funkcie govultr.NewClient . Prvý parameter je nula, pretože nepotrebujeme meniť predvoleného HTTP klienta. Druhým parametrom je kľúč API, ktorý používame na autentifikáciu. :=Prevádzkovateľ priradí správnou stranou na ľavú stranu, v tomto prípade je výsledok volanie funkcie k client.

Krok 6: Použitie API

Náš program stále nič nerobí. Aby to bolo užitočné, budeme získavať informácie o našich serveroch z Vultr. Použijeme funkciu govultr.Client.Server.List(context.Context) ([]govultr.Server, chyba) . Na koniec funkcie main() pridajte nasledujúci 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óde voláme funkciu API na získanie informácií o serveri. Netrápte sa zatiaľ významom kontextu , pretože ide o pokročilejšiu tému. Zatiaľ všetko, čo potrebujeme vedieť, je, že kontext riadi, ako beží klient API. context.Background() vracia prázdny kontext . Po získaní informácií o serveri do dvoch premenných, serverov a err , skontrolujeme, či nedošlo k chybe. Ak áno, informujeme používateľa o chybe a ukončíme s kódom 1 (chyba).

Krok 7: Zobrazenie informácií

Teraz, keď máme pole serverov v premennej servery ( []govultr.Server ), môžeme ho skutočne zobraziť. Na koniec funkcie main() pridajte nasledujúci 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, ) }

Najprv vytlačíme (zobrazíme) hlavičku, Servers:. Potom prejdeme cez pole serverov , ignorujeme index jeho priradením k _a priradíme aktuálny server k premennej servera . Vo vnútri slučky zobrazujeme štítok servera, IP adresu, umiestnenie, čakajúce poplatky, aktuálnu šírku pásma a povolenú šírku pásma. Aby sme to dosiahli efektívne, používame formátovacie reťazce , reťazec, ktorý vyzerá ako " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Tieto %sprostriedky nahradiť ďalší reťazec, zatiaľ čo %.2fprostriedky pre vytlačenie ďalšie float (počet desatinných miest), zaokrúhlené na 2 desatinné miesta. Zvyšok formátovacieho reťazca sa vytlačí doslova (tak, ako je).

Krok 8: Beh

V tomto bode by mal váš kód vyzerať 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, ) } }

Teraz môžeme spustiť kód. Vráťte sa do terminálu, ktorý sme otvorili predtým, a zadajte príkaz go run. Výstup bude vyzerať takto:

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

Ak sa zobrazí chyba, uistite sa, že váš kľúč API a adresa IP sú správne.

Záver

V tomto bode sa úspešne naučíte základy používania oficiálneho klienta API a napíšete program, ktorý bude zobrazovať informácie o serveroch vo vašom účte.

Ďalšie kroky

Odtiaľ môžete urobiť oveľa viac. Môžete napríklad napísať program na zabezpečenie nového servera, keď máte málo pamäte. Môžete napísať aplikáciu, ktorá automaticky aktualizuje váš server, keď máte málo šírky pásma alebo úložiska. Môžete dokonca napísať nástroj na automatickú aktualizáciu záznamov DNS na základe vašej aktuálnej adresy IP.

Viac informácií o knižnici govultr nájdete v dokumentácii knižnice govultr na godoc .

govultr je projekt s otvoreným zdrojovým kódom . Ak nájdete nejaké chyby v govultr, môžete ich nahlásiť na GitHub . Do kódu môžete prispieť aj priamo odoslaním žiadosti o stiahnutie .


Pripája sa blokové úložisko

Pripája sa blokové úložisko

Blokové úložné zväzky sa pripájajú k inštanciám ako ďalšie disky. Pred použitím musíte zväzok pripojiť k inštancii. Viacnásobné zväzky môžu b

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Aké porty sú blokované?

Aké porty sú blokované?

Kvôli bezpečnosti siete blokujeme niekoľko výstupných portov. Predvolene blokované Môžete požiadať o odstránenie týchto blokov otvorením lístka podpory. TCP port 2

Windows Custom ISO s ovládačmi VirtIO

Windows Custom ISO s ovládačmi VirtIO

Vytvorenie Windows ISO (iba serverové verzie) Získajte najnovšie binárne ovládače VirtIO pre Windows, zabalené ako súbor ISO,

Režim obnovenia systému Windows Server 2016

Režim obnovenia systému Windows Server 2016

Pri prístupe do režimu obnovenia v systéme Windows Server 2016 sa môže vyskytnúť chyba zastavenia (modrá obrazovka). Riešením je prístup k možnosti Opraviť počítač

Nainštalujte Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Nainštalujte Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Pravdepodobne veľa ľudí bude používať svoje Vultr VPS ako webové servery, dobrou voľbou by bol Nginx ako webový server. V tejto téme popíšem o

Vultr Block Storage

Vultr Block Storage

Technológia Vultrs Cloud Block Storage vám umožňuje pripojiť k vašej inštancii vysokovýkonné škálovateľné úložisko, čím sa výrazne zjednoduší správa priestoru

Ako zmením veľkosť disku VPS?

Ako zmením veľkosť disku VPS?

Táto príručka vysvetľuje, ako zmeniť veľkosť pevného disku na zariadení Vultr VPS. Ak ste nedávno inovovali svoj plán na plán s väčším diskom, môžete postupovať podľa toho

Vlastné ISO na holý kov

Vlastné ISO na holý kov

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

Obrázky Ubuntu 16.04 hlásia chyby o službe metadát EC2

Obrázky Ubuntu 16.04 hlásia chyby o službe metadát EC2

Po spustení môžu niektoré staršie inštancie Ubuntu 16.04 zobrazovať nasledujúce varovanie: ***************************************** *******************************************

Vultr Object Storage

Vultr Object Storage

Úložisko objektov kompatibilné s S3* je teraz dostupné v cloude Vultr. Naša technológia ukladania objektov je cenovo dostupná, škálovateľná a ľahko sa do vás integruje

Povoľte Windows Audio v inštancii Windows Server

Povoľte Windows Audio v inštancii Windows Server

Poznámka: Táto príručka bude fungovať pre inštancie Windows 2012 R2 a Windows 2016. Servery Windows štandardne nemajú povolenú službu Windows Audio.

Príklad splnomocnenia pre oznámenia BGP

Príklad splnomocnenia pre oznámenia BGP

Pri žiadosti o autorizáciu pre oznámenia BGP použite nasledujúcu šablónu. POVOLAČNÝ LIST [DÁTUM] Komu sa to môže týkať, Thi

Požiadavky na nahranie ISO ISO do Vultr

Požiadavky na nahranie ISO ISO do Vultr

Vultr ponúka širokú škálu operačných systémov, z ktorých si môžete vybrať. Niekedy však možno budete chcieť nahrať vlastný ISO operačný systém, ako napríklad Kal

Ako vytvoriť reverzné záznamy DNS alebo PTR v ovládacom paneli Vultr

Ako vytvoriť reverzné záznamy DNS alebo PTR v ovládacom paneli Vultr

Úvod do Vultr Reverse DNS Ak chcete pridať PTR alebo Reverse DNS záznam pre vašu IP adresu inštancií, musíte postupovať podľa krokov uvedených nižšie:

Úvod do Vultr DNS

Úvod do Vultr DNS

Vultr ponúka bezplatný DNS hosting pre zákaznícke domény. Nameservery sú v sieti AnyCAST a zabezpečujú rýchle rozlíšenie DNS. Ak chcete použiť Vultrs DNS, mali by ste

Prístup k režimu jedného používateľa (resetovať root heslo)

Prístup k režimu jedného používateľa (resetovať root heslo)

Ak chcete obnoviť heslo root vášho servera, budete musieť zaviesť systém do režimu jedného používateľa. Prejdite na svoj server na zákazníckom portáli Vultr a potom postupujte podľa krokov

Viaceré súkromné ​​siete

Viaceré súkromné ​​siete

Vultr predstavil podporu viacerých privátnych sietí začiatkom roka 2018. Táto funkcia je ponúkaná ako vylepšenie štandardných privátnych sietí. Keď

Ako používať knižnicu Vultr Go na získanie informácií o serveri

Ako používať knižnicu Vultr Go na získanie informácií o serveri

Úvod Oficiálnu knižnicu Vultr Go možno použiť na interakciu s Vultr API. Vultr API vám umožňuje ovládať zdroje, ktoré sú s vami spojené

Vysoká dostupnosť na Vultr s plávajúcou IP a BGP

Vysoká dostupnosť na Vultr s plávajúcou IP a BGP

Vultr vám umožňuje kombinovať dve naše funkcie (plávajúce IP adresy a BGP), aby ste dosiahli vysokú dostupnosť. Nastavenie Budete potrebovať dve inštancie v tom istom

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac