Kaip naudotis „Vultr Go“ biblioteka serverio informacijai gauti

Įvadas

Oficialioji Vultr Go biblioteka gali būti naudojama sąveikai su Vultr API . Vultr API leidžia valdyti su paskyra susietus išteklius, įskaitant serverius, DNS, ugniasienę, momentines nuotraukas, tinklą ir kt. Šioje pamokoje bus supažindinama su oficialiu Go API klientu, sukuriant paprastą programą, skirtą informacijai apie serverius gauti.

Būtinos sąlygos

  • Kompiuteris, kuriame veikia „Windows“, „Linux“ arba „MacOS“, kuriame įdiegta „Go 1.12+“.
  • Pagrindinės programavimo žinios.
  • Pasirenkama: IDE, palaikanti „Go“ (pvz., „Visual Studio Code“, „emacs“ arba „Atom“).

Tikslai

  • Norėdami sužinoti, kaip naudotis oficialia Vultr API biblioteka.
  • Parašyti programą serverio informacijai peržiūrėti.

1 veiksmas: projekto kūrimas

Pirmiausia pradėsime kurdami naują modulį (projektą). Paprastai kaip modulio pavadinimą naudojate savo kodo saugyklos URL, tačiau tai nepatenka į šios mokymo programos taikymo sritį. Kol kas kaip modulio pavadinimą naudosime serverinfo .

Norėdami sukurti projektą, paleiskite šias komandas:

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

2 veiksmas: atsisiųskite biblioteką

Tada atsisiųsime API biblioteką iš „GitHub“ (kodo prieglobos svetainės). Norėdami atsisiųsti bibliotekas, turite naudoti go getkomandą. Tai automatiškai atsisiųs biblioteką ir jos priklausomybes, pridėdama ją prie failo go.mod . Tame pačiame terminale, kurį atidarėte anksčiau, įveskite šią komandą:

go get github.com/vultr/govultr

3 veiksmas: gaukite API raktą

Norėdami naudoti API klientą, jums reikės API rakto. API raktą galite nuskaityti informacijos suvestinės paskyros skilties API skirtuke . Taip pat turėsite įgalioti savo IP adresą, kad galėtumėte naudoti API raktą. Savo IP adresą galite rasti apsilankę adresu ifconfig.me . Atminkite, kad jūs ieškote savo viešojo , o ne privataus IP. Jūsų privatus IP yra tas, kurį rastumėte savo kompiuterio tinklo nustatymuose ir yra viename iš šių CIDR diapazonų: 10.0.0.0/8 , 172.16.0.0/12 arba 192.168.0.0/16 .

Kai turėsite savo IP adresą, pridėkite jį prie prieigos kontrolės skiltyje. Laukelyje po / įveskite 32. /32yra tinklo kaukės reikšmė 255.255.255.255. Tai reiškia, kad į diapazoną įtrauktas tik jūsų IP.

Įspėjimas: apsaugokite savo API raktą taip, kaip apsaugotumėte slaptažodį. API raktas turi prieigą prie visos paskyros, įskaitant atsiskaitymą, serverius ir saugyklą.

4 veiksmas: sukurkite programos failą

Dabar mes pradedame dirbti su programa. Atidarykite aplanką, kurį sukūrėme pasirinkę redaktorių, ir sukurkite failą pavadinimu main.go.

Failo viduje įveskite arba nukopijuokite ir įklijuokite šį kodą:

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

package mainGo “ nurodo, kad kuriame komandą, o ne biblioteką. Importavimo ataskaitoje deklaruojamos priklausomybės, kurias naudosime. func main()yra funkcija, kuri iškviečiama, kai vykdome savo programą.

5 veiksmas: inicijuokite API klientą

Kitas žingsnis – inicijuoti API klientą. Norėdami tai padaryti, turime naudoti funkciją govultr.NewClient(http.Client, string) . Įtraukite šį kodą į main() funkciją:

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

Pakeiskite YOURAPIKEYAPI raktu, kurį gavote anksčiau.

Pažvelkime į šį kodą šiek tiek atidžiau. Kairėje pusėje :=turime client. Tai yra kintamojo pavadinimas . Kintamasis saugo reikšmes. Dešinėje pusėje yra funkcijos iškvietimas į govultr.NewClient . Pirmasis parametras yra nulis, nes mums nereikia keisti numatytojo HTTP kliento. Antrasis parametras yra API raktas, kurį naudojame autentifikuoti. :=Operatorius priskiria dešinės į kairę pusę, šiuo atveju, skambinimo funkcijos sukelti client.

6 veiksmas: API naudojimas

Mūsų programa dar nieko nedaro. Kad tai būtų naudinga, mes ketiname gauti informaciją apie savo serverius iš Vultr. Naudosime funkciją govultr.Client.Server.List(context.Context) ([]govultr.Server, error) . Funkcijos main() pabaigoje pridėkite šį kodą :

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

Šiame kode mes iškviečiame API funkciją, kad gautume serverio informaciją. Dar nesijaudinkite dėl konteksto reikšmės , nes tai sudėtingesnė tema. Kol kas viskas, ką turime žinoti, yra tai, kad kontekstas valdo, kaip veikia API klientas. kontekstas.Background() grąžina tuščią kontekstą . Nuskaitę serverio informaciją į du kintamuosius, serverius ir err , patikriname, ar įvyko klaida. Jei taip, informuojame vartotoją apie klaidą ir išeiname su kodu 1 (klaida).

7 veiksmas: informacijos rodymas

Dabar, kai turime daugybę serverių serverių kintamajame ( []govultr.Server ), galime jį rodyti. Funkcijos main() pabaigoje pridėkite šį kodą :

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

Pirmiausia atspausdiname (rodome) antraštę, Servers:. Tada pereiname per serverių masyvą, nepaisydami indekso, priskirdami jį _, o dabartinį serverį priskirdami serverio kintamajam. Ciklo viduje rodome serverio etiketę, IP adresą, vietą, laukiančius mokesčius, esamą pralaidumą ir leistiną pralaidumą. Kad tai padarytume efektyviai, naudojame formato eilutes , kurios atrodo kaip " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Priemonės, %sskirtos pakeisti kitą eilutę, o %.2fpriemonės, skirtos spausdinti kitą eilutę (dešimtainis skaičius), suapvalintos iki 2 skaitmenų po kablelio. Likusi formato eilutė spausdinama pažodžiui (tokia, kokia yra).

8 veiksmas: bėgimas

Šiuo metu jūsų kodas turėtų atrodyti taip:

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

Dabar galime paleisti kodą. Grįžkite į anksčiau atidarytą terminalą ir įveskite komandą go run. Išvestis bus panaši į:

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

Jei gaunate klaidą, įsitikinkite, kad API raktas ir IP adresas yra teisingi.

Išvada

Šiuo metu jūs sėkmingai išmoksite pagrindinius, kaip naudotis oficialiu API klientu, ir parašysite programą, kuri parodys informaciją apie jūsų paskyros serverius.

Tolimesni žingsniai

Iš čia galite padaryti daug daugiau. Pavyzdžiui, galite parašyti programą, skirtą naujam serveriui aprūpinti, kai trūksta atminties. Galite parašyti programą, kuri automatiškai atnaujintų serverį, kai trūksta pralaidumo ar saugyklos. Jūs netgi galite parašyti įrankį, skirtą automatiškai atnaujinti DNS įrašus pagal jūsų dabartinį IP.

Norėdami gauti daugiau informacijos apie govultr biblioteką, galite rasti govultr bibliotekos dokumentaciją apie godoc .

govultr yra atvirojo kodo projektas . Jei radote kokių nors „govultr“ klaidų, galite apie jas pranešti „ GitHub“ . Taip pat galite tiesiogiai prisidėti prie kodo pateikdami užklausą .


Bloko saugyklos tvirtinimas

Bloko saugyklos tvirtinimas

Blokų saugojimo tomai pridedami prie egzempliorių kaip papildomi diskai. Turite pridėti tomą prie egzemplioriaus, kad galėtumėte jį naudoti. Keli tomai gali b

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

Statinio tinklo ir IPv6 konfigūravimas CentOS 7

VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti

Kokie prievadai blokuojami?

Kokie prievadai blokuojami?

Tinklo saugumui blokuojame kelis išeinančius prievadus. Užblokuota pagal numatytuosius nustatymus Galite prašyti, kad šie blokai būtų pašalinti atidarę palaikymo bilietą. TCP prievadas 2

„Windows Custom ISO“ su ​​„VirtIO“ tvarkyklėmis

„Windows Custom ISO“ su ​​„VirtIO“ tvarkyklėmis

„Windows“ ISO kūrimas (tik serverio versijose) Gaukite naujausias dvejetaines „Windows“ skirtas VirtIO tvarkykles, supakuotas kaip ISO failas

„Windows Server 2016“ atkūrimo režimas

„Windows Server 2016“ atkūrimo režimas

Pasiekus atkūrimo režimą sistemoje „Windows Server 2016“, gali atsirasti sustabdymo klaida (mėlynas ekranas). Išeitis – pasiekti kompiuterio taisymo parinktį

Įdiekite Nginx + PHP FPM + Caching + MySQL Ubuntu 12.04

Įdiekite Nginx + PHP FPM + Caching + MySQL Ubuntu 12.04

Tikriausiai daugelis žmonių ketina naudoti savo Vultr VPS kaip žiniatinklio serverius, geras pasirinkimas būtų Nginx kaip žiniatinklio serveris. Šioje temoje aprašysiu o

Vultr bloko saugykla

Vultr bloko saugykla

„Vultrs Cloud Block Storage“ technologija leidžia prie jūsų egzemplioriaus prijungti didelio našumo keičiamo dydžio saugyklą, todėl erdvės valdymas žymiai pagerėja

Kaip pasiekti „Vultr VPS“.

Kaip pasiekti „Vultr VPS“.

„Vultr“ siūlo kelis skirtingus būdus pasiekti VPS, kad būtų galima konfigūruoti, įdiegti ir naudoti. Prieigos kredencialai Numatytieji prieigos kredencialai jūsų VPS ar

Kaip pakeisti savo VPS disko dydį?

Kaip pakeisti savo VPS disko dydį?

Šiame vadove paaiškinama, kaip pakeisti Vultr VPS standžiojo disko dydį. Jei neseniai atnaujinote savo planą į planą su didesniu disku, galite vadovautis šiais nurodymais

Pasirinktinis ISO ant pliko metalo

Pasirinktinis ISO ant pliko metalo

Įvadas „Vultr“ šiuo metu neturi sistemos, leidžiančios įkelti pasirinktinius ISO ir juos pritvirtinti prie pliko metalo. Tačiau tai jūsų nesustabdo

„Ubuntu 16.04 Images“ praneša apie klaidas apie EC2 metaduomenų paslaugą

„Ubuntu 16.04 Images“ praneša apie klaidas apie EC2 metaduomenų paslaugą

Įkrovus kai kurie senesni Ubuntu 16.04 egzemplioriai gali rodyti šį įspėjimą: **************************************** ******************************************

„Vultr“ objektų saugykla

„Vultr“ objektų saugykla

Su S3 suderinama* objektų saugykla dabar pasiekiama Vultr debesyje. Mūsų objektų saugojimo technologija yra prieinama, keičiamo dydžio ir lengvai integruojama į jus

Įgalinkite „Windows Audio“ „Windows Server“ egzemplioriuje

Įgalinkite „Windows Audio“ „Windows Server“ egzemplioriuje

Pastaba: Šis vadovas veiks su Windows 2012 R2 ir Windows 2016 egzemplioriais. Pagal numatytuosius nustatymus „Windows“ serveriuose „Windows Audio“ paslauga neįjungta.

„Vultr“ duomenų perkeliamumo vadovas

„Vultr“ duomenų perkeliamumo vadovas

Kaip galiu atsisiųsti debesies duomenis iš „Vultr“? Duomenų perkeliamumas Vultr platformoje Siūlome keletą paprastų sprendimų, kaip atsisiųsti

Įgaliojimo rašto BGP pranešimams pavyzdys

Įgaliojimo rašto BGP pranešimams pavyzdys

Prašydami leidimo BGP pranešimams naudokite šį šabloną. ĮGALIOJIMO LAIŠKAS [DATE] Kam tai gali būti aktualu, Thi

Reikalavimai OS ISO įkėlimui į Vultr

Reikalavimai OS ISO įkėlimui į Vultr

„Vultr“ siūlo platų operacinių sistemų pasirinkimą. Tačiau kartais galbūt norėsite įkelti savo pasirinktinę operacinę sistemą ISO, pvz., Kal

Kaip sukurti atvirkštinius DNS arba PTR įrašus „Vultr“ valdymo skydelyje

Kaip sukurti atvirkštinius DNS arba PTR įrašus „Vultr“ valdymo skydelyje

Įvadas į Vultr Reverse DNS Norėdami pridėti PTR arba atvirkštinio DNS įrašą savo egzempliorių IP adresui, turite atlikti toliau nurodytus veiksmus.

Įvadas į Vultr DNS

Įvadas į Vultr DNS

„Vultr“ siūlo nemokamą DNS prieglobą klientų domenams. Vardų serveriai yra AnyCAST tinkle ir užtikrina greitą DNS skyrimą. Norėdami naudoti Vultrs DNS, turėtumėte

Prieiga prie vieno vartotojo režimo (iš naujo nustatyti pagrindinį slaptažodį)

Prieiga prie vieno vartotojo režimo (iš naujo nustatyti pagrindinį slaptažodį)

Norėdami iš naujo nustatyti pagrindinį serverio slaptažodį, turėsite paleisti vieno vartotojo režimą. Prisijunkite prie serverio Vultr klientų portale, tada atlikite veiksmą

Keli privatūs tinklai

Keli privatūs tinklai

2018 m. pradžioje „Vultr“ pristatė kelių privačių tinklų palaikymą. Ši funkcija siūloma kaip standartinio privataus tinklo patobulinimas. kas

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį