Kako koristiti Vultr Go knjižnicu za dobivanje informacija o poslužitelju

Uvod

Službena Vultr Go biblioteka može se koristiti za interakciju s Vultr API-jem . Vultr API vam omogućuje kontrolu resursa povezanih s vašim računom, uključujući poslužitelje, DNS, vatrozid, snimke, mrežu i još mnogo toga. Ovaj vodič će vam dati uvod u korištenje službenog Go API klijenta stvaranjem jednostavne aplikacije za dobivanje informacija o vašim poslužiteljima.

Preduvjeti

  • Računalo sa sustavom Windows, Linux ili macOS s instaliranim Go 1.12+.
  • Osnovno znanje programiranja.
  • Izborno: IDE koji podržava Go (na primjer Visual Studio Code, emacs ili Atom).

Ciljevi

  • Da naučite kako koristiti službenu Vultr API biblioteku.
  • Za pisanje programa za pregled informacija o poslužitelju.

Korak 1: Izrada projekta

Prvo ćemo započeti stvaranjem novog modula (projekta). Obično biste koristili URL do spremišta za svoj kod kao naziv modula, ali to je izvan dosega ovog vodiča. Za sada ćemo koristiti serverinfo kao naziv modula.

Za kreiranje projekta pokrenite sljedeće naredbe:

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

Korak 2: Preuzimanje biblioteke

Zatim ćemo preuzeti API biblioteku s GitHuba (mjesta za hosting kodova). Za preuzimanje knjižnica morate koristiti go getnaredbu. Time će se automatski preuzeti knjižnica i njezine ovisnosti dok se dodaje u go.mod datoteku. U istom terminalu koji ste ranije otvorili unesite sljedeću naredbu:

go get github.com/vultr/govultr

Korak 3: Dobivanje vašeg API ključa

Za korištenje API klijenta trebat će vam vaš API ključ. Svoj API ključ možete dohvatiti s kartice API u odjeljku Račun na vašoj Nadzornoj ploči . Također ćete morati autorizirati svoju IP adresu za korištenje API ključa. Svoju IP adresu možete pronaći ako odete na ifconfig.me . Imajte na umu da tražite svoj javni IP, a ne privatni. Vaš privatni IP je ono što biste pronašli u mrežnim postavkama na računalu i nalazi se u jednom od sljedećih CIDR raspona: 10.0.0.0/8 , 172.16.0.0/12 ili 192.168.0.0/16 .

Nakon što dobijete svoju IP adresu, dodajte je u odjeljku Kontrola pristupa . U okvir iza / upišite 32. /32je mrežna maska ​​značenje 255.255.255.255. To znači da je samo vaš IP uključen u raspon.

Upozorenje: Zaštitite svoj API ključ kao što biste zaštitili svoju lozinku. API ključ ima pristup cijelom vašem računu, uključujući naplatu, poslužitelje i pohranu.

Korak 4: Izrada programske datoteke

Sada krećemo s radom na programu. Otvorite mapu koju smo stvorili u uređivaču po vašem izboru i stvorite datoteku pod nazivom main.go.

Unutar datoteke upišite ili kopirajte i zalijepite sljedeći kod:

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

package mainGovori Go da smo stvaranje naredbu, a ne knjižnica. Izjava uvoza deklarira ovisnosti koje ćemo koristiti. func main()je funkcija pozvana kada pokrenemo naš program.

Korak 5: Inicijalizacija API klijenta

Sljedeći korak je inicijalizacija API klijenta. Da bismo to učinili, trebamo koristiti funkciju govultr.NewClient(http.Client, string) . Dodajte sljedeći kod unutar funkcije main() :

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

Zamijenite YOURAPIKEYs API ključem koji ste ranije dohvatili.

Pogledajmo ovaj kod malo bliže. Na lijevoj strani :=imamo client. To je naziv varijable . Varijabla pohranjuje vrijednosti. Na desnoj strani imamo poziv funkcije govultr.NewClient . Prvi parametar je nula, jer ne moramo mijenjati zadani HTTP klijent. Drugi parametar je API ključ koji koristimo za autentifikaciju. :=Operater dodjeljuje na pravu stranu na lijevu stranu, u ovom slučaju, rezultat funkcije poziva client.

Korak 6: Korištenje API-ja

Naš program još uvijek ništa ne radi. Kako bismo to učinili korisnim, dohvatit ćemo informacije o našim poslužiteljima od Vultra. Koristit ćemo funkciju govultr.Client.Server.List(context.Context) ([]govultr.Server, pogreška) . Dodajte sljedeći kod na kraj funkcije main() :

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

U ovom kodu pozivamo API funkciju za dohvaćanje informacija o poslužitelju. Ne brinite još o značenju konteksta , jer je to naprednija tema. Za sada, sve što trebamo znati je da kontekst kontrolira kako se API klijent izvodi. context.Background() vraća prazan kontekst . Nakon što dohvatimo informacije o poslužitelju u dvije varijable, servere i err , provjeravamo je li došlo do greške. Ako je tako, obavještavamo korisnika o pogrešci i izlazimo s kodom 1 (pogreška).

Korak 7: Prikaz informacija

Sada kada imamo niz poslužitelja u varijabli poslužitelja ( []govultr.Server ), zapravo ga možemo prikazati. Dodajte sljedeći kod na kraj funkcije 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, ) }

Prvo ispisujemo (prikazujemo) zaglavlje, Servers:. Zatim prelazimo preko niza poslužitelja , zanemarujući indeks dodjeljujući ga na _, i dodjeljujući trenutni poslužitelj varijabli poslužitelja . Unutar petlje prikazujemo oznaku poslužitelja, IP adresu, lokaciju, troškove na čekanju, trenutnu propusnost i dopuštenu propusnost. Da bismo to učinili učinkovito, koristimo nizove formata , string koji izgleda kao " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Na %snačin da zamijeni sljedeći niz, dok su %.2fsredstva za ispis pored float (decimalni broj) zaokruženo na 2 decimalna mjesta. Ostatak niza formata ispisuje se doslovno (kako jest).

Korak 8: Trčanje

U ovom trenutku vaš bi kod trebao izgledati ovako:

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

Sada možemo pokrenuti kod. Vratite se na terminal koji smo ranije otvorili i unesite naredbu go run. Izlaz će izgledati sljedeće:

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

Ako dobijete pogrešku, provjerite jesu li vaš API ključ i IP adresa ispravni.

Zaključak

U ovom trenutku ćete uspješno naučiti osnove korištenja službenog API klijenta i napisati program koji će prikazati informacije o poslužiteljima na vašem računu.

Daljnji koraci

Odavde možete učiniti mnogo više. Na primjer, možete napisati program za postavljanje novog poslužitelja kada vam nedostaje memorije. Mogli biste napisati aplikaciju za automatsku nadogradnju vašeg poslužitelja kada vam nedostaje propusnosti ili prostora za pohranu. Možete čak napisati alat za automatsko ažuriranje DNS zapisa na temelju vašeg trenutnog IP-a.

Za više informacija o knjižnici govultr, dokumentaciju knjižnice govultr možete pronaći na godoc .

govultr je projekt otvorenog koda . Ako pronađete bilo kakve greške u govultru, možete ih prijaviti na GitHubu . Također možete izravno pridonijeti kodu slanjem zahtjeva za povlačenjem .


Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Windows Custom ISO s VirtIO upravljačkim programima

Windows Custom ISO s VirtIO upravljačkim programima

Izgradnja Windows ISO (samo verzije poslužitelja) Nabavite najnovije binarne VirtIO upravljačke programe za Windows, pakirane kao ISO datoteku,

Windows Server 2016 način oporavka

Windows Server 2016 način oporavka

Nakon pristupa načinu oporavka na Windows Serveru 2016, možda ćete doživjeti pogrešku zaustavljanja (plavi zaslon). Zaobilazno rješenje je pristup opciji Repair Computer

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

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

Vjerojatno će puno ljudi koristiti svoje Vultr VPS-ove kao web poslužitelje, dobar izbor bi bio Nginx kao web poslužitelj. U ovoj temi opisat ću o

Vultr Pohrana objekata

Vultr Pohrana objekata

S3-kompatibilna* pohrana objekata sada je dostupna u oblaku Vultr. Naša tehnologija za pohranu objekata pristupačna je, skalabilna i jednostavna za integraciju u vas

Omogućite Windows Audio na instanci Windows poslužitelja

Omogućite Windows Audio na instanci Windows poslužitelja

Napomena: Ovaj vodič će raditi za instance sustava Windows 2012 R2 i Windows 2016. Windows poslužitelji prema zadanim postavkama nemaju omogućenu uslugu Windows Audio.

Vultr Vodič za prijenos podataka

Vultr Vodič za prijenos podataka

Kako mogu preuzeti svoje podatke u oblaku s Vultra? Prenosivost podataka na Vultr platformi Nudimo niz jednostavnih rješenja za preuzimanje

How to Create Reverse DNS or PTR Records in the Vultr Control Panel

How to Create Reverse DNS or PTR Records in the Vultr Control Panel

Introduction to Vultr Reverse DNS In order to add a PTR, or Reverse DNS record for your instances IP Address, you need to follow the steps outlined below:

Pristup jednokorisničkom načinu rada (poništi korijensku lozinku)

Pristup jednokorisničkom načinu rada (poništi korijensku lozinku)

Da biste resetirali root lozinku vašeg poslužitelja, morat ćete se pokrenuti u jednokorisničkom načinu rada. Pristupite svom poslužitelju na korisničkom portalu Vultr, a zatim slijedite korak

Kako koristiti Vultr Go knjižnicu za dobivanje informacija o poslužitelju

Kako koristiti Vultr Go knjižnicu za dobivanje informacija o poslužitelju

Uvod Službena knjižnica Vultr Go može se koristiti za interakciju s Vultr API-jem. Vultr API vam omogućuje kontrolu resursa povezanih s vama

Kako mogu generirati SSH ključeve?

Kako mogu generirati SSH ključeve?

SSH ključ vam omogućuje da se prijavite na svoj poslužitelj bez potrebe za zaporkom. SSH ključevi se mogu automatski dodati na poslužitelje tijekom procesa instalacije.

Ispravljanje mrežne konfiguracije nakon vraćanja snimka

Ispravljanje mrežne konfiguracije nakon vraćanja snimka

Nakon vraćanja snimke na novi stroj, možete naići na probleme uzrokovane promjenom MAC adrese mrežnog adaptera. Obično, kada je mreža

Izvješće o sigurnosnom incidentu Cloudflarea

Izvješće o sigurnosnom incidentu Cloudflarea

Važna sigurnosna obavijest: Kao što možda znate, Vultr koristi Cloudflares CDN proizvod za poboljšanje brzine naše web stranice širom svijeta i zaštitu od

Korištenje dvofaktorske provjere autentičnosti za prijavu na Vultr Control Panel

Korištenje dvofaktorske provjere autentičnosti za prijavu na Vultr Control Panel

Dvofaktorska provjera autentičnosti, ili 2FA, tehnika je koja dodaje sloj sigurnosti zahtijevajući dodatni korak provjere autentičnosti za prijavu. Za jaku sigurnost

Konfiguriranje privatne mreže

Konfiguriranje privatne mreže

Ako privatnu mrežu dodjeljujete postojećem stroju (ili postavljate vlastiti operativni sustav), morat ćete konfigurirati IP adrese na privatnom

Konfiguriranje IPv6 na vašem VPS-u

Konfiguriranje IPv6 na vašem VPS-u

Svaki od ovih primjera pretpostavlja IPv6 podmrežu 2001:db8:1000::/64. Morat ćete ih ažurirati s podmrežom koja vam je dodijeljena. Bit ćemo korisni

Ispravljanje vremena na Windows Serveru

Ispravljanje vremena na Windows Serveru

Prema zadanim postavkama, Vultr VPS sa sustavom Windows Server 2012 ima vrijeme sustava postavljeno na UTC vremensku zonu. Možete promijeniti vremensku zonu kako želite, ali promijenite je t

Popravak Windows VPS-a nakon instaliranja ažuriranja upravljačkih programa

Popravak Windows VPS-a nakon instaliranja ažuriranja upravljačkih programa

Microsoft je nedavno objavio upravljačke programe putem Windows Update-a koji mogu spriječiti da se Vultr VPS instance sa sustavom Windows pravilno dižu. Ovi drajveri se zovu:

Korištenje Finnix Rescue CD-a za spašavanje, popravak ili sigurnosno kopiranje vašeg Linux sustava

Korištenje Finnix Rescue CD-a za spašavanje, popravak ili sigurnosno kopiranje vašeg Linux sustava

Finnix Rescue CD Uvod Finnix je potpuno samostalan Linux rescue LiveCD koji se može pokrenuti na temelju Debiana. Koristan je za montiranje i modificiranje hara

Poništite administratorsku lozinku za Windows Server

Poništite administratorsku lozinku za Windows Server

Postoje slučajevi kada ste zaboravili lozinku lokalnog administratora u sustavu Windows i trebate je resetirati. Lako je moguće resetirati ovu lozinku i

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više