Kuidas kasutada Vultr Go raamatukogu serveriteabe hankimiseks

Sissejuhatus

Vultr API-ga suhtlemiseks saab kasutada ametlikku Vultr Go raamatukogu . Vultr API võimaldab teil juhtida oma kontoga seotud ressursse, sealhulgas servereid, DNS-i, tulemüüri, hetktõmmiseid, võrku ja palju muud. See õpetus tutvustab ametliku Go API kliendi kasutamist, luues lihtsa rakenduse oma serverite kohta teabe hankimiseks.

Eeltingimused

  • Arvuti, milles töötab Windows, Linux või macOS ja on installitud Go 1.12+.
  • Programmeerimise algteadmised.
  • Valikuline: Go-d toetav IDE (nt Visual Studio Code, emacs või Atom).

Eesmärgid

  • Õppige kasutama ametlikku Vultr API teeki.
  • Programmi kirjutamine serveri teabe vaatamiseks.

1. samm: projekti loomine

Kõigepealt alustame uue mooduli (projekti) loomisega. Tavaliselt kasutaksite mooduli nimena oma koodi hoidla URL-i, kuid see ei kuulu selle õpetuse raamesse. Praegu kasutame mooduli nimena serverinfot .

Projekti loomiseks käivitage järgmised käsud:

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

2. samm: teegi allalaadimine

Järgmisena laadime GitHubist (koodimajutussait) alla API teegi. Teekide allalaadimiseks peate kasutama go getkäsku. See laadib teegi ja selle sõltuvused automaatselt alla, lisades selle faili go.mod . Sisestage samasse terminali, mille varem avasite, järgmine käsk:

go get github.com/vultr/govultr

3. samm: hankige oma API-võti

API kliendi kasutamiseks vajate oma API võtit. API-võtme saate hankida juhtpaneeli jaotise Konto vahekaardilt API . Samuti peate API-võtme kasutamiseks volitama oma IP-aadressi. Oma IP-aadressi leiate aadressilt ifconfig.me . Pange tähele, et otsite oma avalikku , mitte privaatset IP-d. Teie privaatne IP on see, mille leiate oma arvuti võrguseadetest ja see on ühes järgmistest CIDR-i vahemikest: 10.0.0.0/8 , 172.16.0.0/12 või 192.168.0.0/16 .

Kui teil on oma IP-aadress, lisage see jaotisesse Juurdepääsukontroll . Kasti pärast / kirjuta 32. /32on võrgumaski tähendus 255.255.255.255. See tähendab, et vahemikku on kaasatud ainult teie IP.

Hoiatus. Kaitske oma API võtit nii, nagu kaitseksite oma parooli. API-võtmel on juurdepääs kogu teie kontole, sealhulgas arveldamisele, serveritele ja salvestusruumile.

4. samm: programmifaili loomine

Nüüd hakkame programmi kallal töötama. Avage kaust, mille lõime teie valitud redaktoris, ja looge fail nimega main.go.

Sisestage või kopeerige ja kleepige faili sees järgmine kood:

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

package mainÜtleb Go et me loome käsu, mitte raamatukogu. Impordiavaldus deklareerib kasutatavad sõltuvused. func main()on funktsioon, mida kutsutakse programmi käivitamisel.

5. samm: API kliendi lähtestamine

Järgmine samm on API kliendi lähtestamine. Selleks peame kasutama funktsiooni govultr.NewClient(http.Client, string) . Lisage funktsiooni main() sisse järgmine kood :

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

Asendage YOURAPIKEYvarem hangitud API võtmega.

Vaatame seda koodi veidi lähemalt. Faili vasakul küljel on :=meil client. See on muutuja nimi . Muutuja salvestab väärtused. Paremal küljel on funktsioonikutse govultr.NewClient . Esimene parameeter on null, sest me ei pea muutma HTTP vaikeklienti. Teine parameeter on API-võti, mida me enda autentimiseks kasutame. :=Operaator määrab paremal äärel vasakul küljel, sel juhul tulemus funktsioon kõne client.

6. samm: API kasutamine

Meie programm ei tee veel midagi. Et see oleks kasulik, hangime Vultrist teavet oma serverite kohta. Kasutame funktsiooni govultr.Client.Server.List(context.Context) ([]govultr.Server, error) . Lisage funktsiooni main() lõppu järgmine kood :

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

Selles koodis kutsume serveri teabe hankimiseks API funktsiooni. Ärge muretsege veel konteksti tähenduse pärast , kuna see on keerukam teema. Praegu peame teadma ainult seda, et kontekst juhib seda, kuidas API klient töötab. kontekst.Background() tagastab tühja konteksti . Pärast serveriteabe toomist kahte muutujasse, serverid ja err , kontrollime, kas tegemist oli veaga. Kui jah, teavitame kasutajat veast ja väljume koodiga 1 (viga).

7. samm: teabe kuvamine

Nüüd, kui meil on serverimuutujas ( []govultr.Server ) rida servereid , saame selle kuvada. Lisage funktsiooni main() lõppu järgmine kood :

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

Esiteks prindime (kuvame) päise, Servers:. Seejärel liigume üle serverite massiivi, ignoreerides indeksit, määrates selle väärtusele _, ja määrates praeguse serveri serveri muutujale. Silmuse sees kuvame serveri sildi, IP-aadressi, asukoha, ootel tasud, praeguse ribalaiuse ja lubatud ribalaiuse. Selle tõhusaks tegemiseks kasutame vormingustringe , string, mis näeb välja nagu " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Vahendid %sjärgmise stringi asendamiseks, samas kui %.2fvahendid järgmise ujukarvu (kümnendarvu) trükkimiseks ümardatuna kahe kümnendkohani. Ülejäänud vormingustring trükitakse sõna-sõnalt (nagu on).

8. samm: jooksmine

Sel hetkel peaks teie kood välja nägema järgmine:

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

Nüüd saame koodi käivitada. Naaske varem avatud terminali ja sisestage käsk go run. Väljund sarnaneb järgmisega:

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

Kui saate veateate, veenduge, et teie API-võti ja IP-aadress on õiged.

Järeldus

Sel hetkel olete edukalt õppinud ametliku API kliendi kasutamise põhitõdesid ja kirjutanud programmi, mis kuvab teie kontol olevate serverite kohta teavet.

Edasised sammud

Siit saate teha palju enamat. Näiteks võite kirjutada programmi uue serveri ettevalmistamiseks, kui teil on vähe mälu. Kui ribalaius või salvestusruum on tühi, võite kirjutada rakenduse, mis uuendab oma serverit automaatselt. Võite isegi kirjutada tööriista DNS-kirjete automaatseks värskendamiseks teie praeguse IP-aadressi alusel.

Govultri teegi kohta lisateabe saamiseks leiate govultri raamatukogu dokumentatsiooni saidil godoc .

govultr on avatud lähtekoodiga projekt . Kui leiate rakenduses govultr vigu, saate neist GitHubis teatada . Koodile saate panustada ka otse, esitades tõmbetaotluse .


Plokkide salvestusruumi kinnitamine

Plokkide salvestusruumi kinnitamine

Blokeeritud salvestusmahud lisatakse eksemplaridele täiendavate ketastena. Enne kasutamist peate köite eksemplarile lisama. Mitu köidet võib b

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

Staatilise võrgu ja IPv6 konfigureerimine CentOS 7-s

VULTR on hiljuti teinud nende osas muudatusi ja kõik peaks nüüd töötama hästi, kui NetworkManager on lubatud. Kui soovite keelata

Millised pordid on blokeeritud?

Millised pordid on blokeeritud?

Blokeerime võrgu turvalisuse huvides mitu väljaminevat porti. Vaikimisi blokeeritud Võite taotleda nende plokkide eemaldamist, avades tugipileti. TCP port 2

Windowsi kohandatud ISO VirtIO draiveritega

Windowsi kohandatud ISO VirtIO draiveritega

Windowsi ISO loomine (ainult serveri versioonid) Hankige Windowsi jaoks uusimad binaarsed VirtIO draiverid, mis on pakitud ISO-failina

Windows Server 2016 taasterežiim

Windows Server 2016 taasterežiim

Windows Server 2016 taasterežiimile juurdepääsul võib ilmneda seiskamistõrge (sinine ekraan). Lahendus on juurdepääsu valikule Paranda arvuti

Installige Ubuntu 12.04 Nginx + PHP FPM + vahemälu + MySQL

Installige Ubuntu 12.04 Nginx + PHP FPM + vahemälu + MySQL

Tõenäoliselt hakkavad paljud inimesed oma Vultr VPS-e kasutama veebiserverina, hea valik oleks veebiserverina Nginx. Selles teemas kirjeldan o

Vultr Block Storage

Vultr Block Storage

Vultrs Cloud Block Storage tehnoloogia võimaldab teil oma eksemplari ühendada suure jõudlusega skaleeritava salvestusruumi, muutes ruumihalduse oluliselt paremaks

Kuidas pääseda juurde oma Vultr VPS-ile

Kuidas pääseda juurde oma Vultr VPS-ile

Vultr pakub mitut erinevat võimalust VPS-i konfigureerimiseks, installimiseks ja kasutamiseks juurdepääsuks. Juurdepääsumandaadid Teie VPS-i vaikimisi juurdepääsumandaadid ar

Kuidas ma saan oma VPS-i ketta suurust muuta?

Kuidas ma saan oma VPS-i ketta suurust muuta?

See juhend selgitab, kuidas Vultr VPS-i kõvaketta suurust muuta. Kui olete hiljuti oma plaani täiendanud suurema kettaga plaaniks, saate neid järgida

Kohandatud ISO paljasmetallil

Kohandatud ISO paljasmetallil

Sissejuhatus Vultril ei ole praegu süsteemi, mis võimaldaks kohandatud ISO-de üleslaadimist ja metallile paigaldamist. See aga ei takista teid

Ubuntu 16.04 pildid teatavad EC2 metaandmete teenuse vigadest

Ubuntu 16.04 pildid teatavad EC2 metaandmete teenuse vigadest

Käivitamisel võivad mõned vanemad Ubuntu 16.04 eksemplarid näidata järgmist hoiatust: **************************************** ******************************************

Vultr objektide salvestusruum

Vultr objektide salvestusruum

S3-ga ühilduv* objektide salvestusruum on nüüd saadaval Vultri pilves. Meie objektide säilitamise tehnoloogia on taskukohane, skaleeritav ja hõlpsasti teiega integreeritav

Windowsi heli lubamine Windows Serveri eksemplaris

Windowsi heli lubamine Windows Serveri eksemplaris

Märkus. See juhend töötab Windows 2012 R2 ja Windows 2016 eksemplaride jaoks. Windowsi serverites ei ole Windowsi heliteenus vaikimisi lubatud.

Vultr andmete teisaldamise juhend

Vultr andmete teisaldamise juhend

Kuidas ma saan oma pilvandmeid Vultrist alla laadida? Andmete teisaldatavus Vultri platvormil Pakume teile allalaadimiseks mitmeid lihtsaid lahendusi

BGP teadaannete volikirja näidis

BGP teadaannete volikirja näidis

Kasutage BGP teadete jaoks volituse taotlemisel järgmist malli. VOLUSTAMISKIRI [KUUPÄEV] Keda see puudutab, Thi

Nõuded OS ISO üleslaadimiseks Vultr

Nõuded OS ISO üleslaadimiseks Vultr

Vultr pakub laias valikus operatsioonisüsteeme. Mõnikord võite siiski soovida üles laadida oma kohandatud operatsioonisüsteemi ISO, näiteks Kal

Kuidas luua pöörd-DNS- või PTR-kirjeid Vultri juhtpaneelil

Kuidas luua pöörd-DNS- või PTR-kirjeid Vultri juhtpaneelil

Sissejuhatus Vultr Reverse DNS-i Oma eksemplari IP-aadressi jaoks PTR- või pöörd-DNS-kirje lisamiseks peate järgima alltoodud samme.

Sissejuhatus Vultr DNS-i

Sissejuhatus Vultr DNS-i

Vultr pakub klientide domeenidele tasuta DNS-i hostimist. Nimeserverid on AnyCAST võrgus ja tagavad kiire DNS-lahunduse. Vultrs DNS-i kasutamiseks peaksite

Juurdepääs ühe kasutaja režiimile (lähtestage juurparool)

Juurdepääs ühe kasutaja režiimile (lähtestage juurparool)

Serveri juurparooli lähtestamiseks peate käivitama ühe kasutaja režiimi. Juurdepääs oma serverile Vultri kliendiportaalis, seejärel järgige juhiseid

Mitu privaatvõrku

Mitu privaatvõrku

Vultr tutvustas 2018. aasta alguses mitme privaatvõrgu tuge. Seda funktsiooni pakutakse standardse privaatvõrgu täiustusena. kes

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit