Kā izmantot Vultr Go bibliotēku, lai iegūtu informāciju par serveri

Ievads

Oficiālo Vultr Go bibliotēku var izmantot, lai mijiedarbotos ar Vultr API . Vultr API ļauj kontrolēt ar jūsu kontu saistītos resursus, tostarp serverus, DNS, ugunsmūri, momentuzņēmumus, tīklu un daudz ko citu. Šī apmācība sniegs ievadu oficiālā Go API klienta izmantošanā, izveidojot vienkāršu lietojumprogrammu, lai iegūtu informāciju par jūsu serveriem.

Priekšnoteikumi

  • Dators, kurā darbojas operētājsistēma Windows, Linux vai macOS un ir instalēta Go 1.12+.
  • Programmēšanas pamatzināšanas.
  • Pēc izvēles: IDE, kas atbalsta Go (piemēram, Visual Studio Code, emacs vai Atom).

Mērķi

  • Lai uzzinātu, kā izmantot oficiālo Vultr API bibliotēku.
  • Lai uzrakstītu programmu servera informācijas apskatei.

1. darbība: projekta izveide

Pirmkārt, mēs sāksim ar jauna moduļa (projekta) izveidi. Parasti kā moduļa nosaukumu jūs izmantojat sava koda repozitorija URL, taču tas ir ārpus šīs apmācības darbības jomas. Pagaidām kā moduļa nosaukumu izmantosim serverinfo .

Lai izveidotu projektu, palaidiet šādas komandas:

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

2. darbība. Bibliotēkas lejupielāde

Pēc tam mēs lejupielādēsim API bibliotēku no GitHub (koda mitināšanas vietnes). Lai lejupielādētu bibliotēkas, jums ir jāizmanto go getkomanda. Tas automātiski lejupielādēs bibliotēku un tās atkarības, vienlaikus pievienojot to failam go.mod . Tajā pašā terminālī, kuru atvērāt iepriekš, ievadiet šādu komandu:

go get github.com/vultr/govultr

3. darbība. API atslēgas iegūšana

Lai izmantotu API klientu, jums būs nepieciešama API atslēga. API atslēgu varat izgūt informācijas paneļa sadaļas Konts cilnē API . Jums būs arī jāautorizē sava IP adrese, lai izmantotu API atslēgu. Savu IP adresi varat atrast, apmeklējot vietni ifconfig.me . Ņemiet vērā, ka jūs meklējat savu publisko IP, nevis savu privāto. Jūsu privātais IP ir tas, ko varat atrast tīkla iestatījumos datorā, un tas ir vienā no šiem CIDR diapazoniem: 10.0.0.0/8 , 172.16.0.0/12 vai 192.168.0.0/16 .

Kad esat ieguvis savu IP adresi, pievienojiet to sadaļā Piekļuves kontrole . Lodziņā pēc / ierakstiet 32. /32ir tīkla maskas nozīme 255.255.255.255. Tas nozīmē, ka diapazonā ir iekļauts tikai jūsu IP.

Brīdinājums: aizsargājiet savu API atslēgu tāpat, kā aizsargātu savu paroli. API atslēgai ir piekļuve visam jūsu kontam, tostarp norēķiniem, serveriem un krātuvei.

4. darbība: programmas faila izveide

Tagad mēs sāksim strādāt pie programmas. Atveriet mapi, ko izveidojām jūsu izvēlētajā redaktorā, un izveidojiet failu ar nosaukumu main.go.

Failā ierakstiet vai kopējiet un ielīmējiet šādu kodu:

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

package mainStāsta Go, ka mēs veidojam komandu, nevis bibliotēka. Importēšanas paziņojumā ir norādītas atkarības, kuras mēs izmantosim. func main()ir funkcija, kas tiek izsaukta, kad mēs palaižam mūsu programmu.

5. darbība. API klienta inicializācija

Nākamais solis ir inicializēt API klientu. Lai to izdarītu, mums ir jāizmanto funkcija govultr.NewClient(http.Client, string) . Pievienojiet šādu kodu galvenajā () funkcijā:

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

Aizstāt YOURAPIKEYar API atslēgu, ko izguvāt iepriekš.

Apskatīsim šo kodu mazliet tuvāk. Kreisajā pusē :=mums ir client. Tas ir mainīgā lieluma nosaukums . Mainīgais saglabā vērtības. Labajā pusē ir funkcijas izsaukums uz govultr.NewClient . Pirmais parametrs ir nulle, jo mums nav jāmaina noklusējuma HTTP klients. Otrais parametrs ir API atslēga, ko izmantojam, lai sevi autentificētu. :=Operators piešķir labās puses uz kreiso pusi, šajā gadījumā rezultāts funkcijas zvanu client.

6. darbība. API izmantošana

Mūsu programma joprojām neko nedara. Lai tas būtu noderīgs, mēs izgūsim informāciju par mūsu serveriem no Vultr. Mēs izmantosim funkciju govultr.Client.Server.List(context.Context) ([]govultr.Server, error) . Funkcijas main() beigās pievienojiet šādu kodu :

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

Šajā kodā mēs izsaucam API funkciju, lai izgūtu servera informāciju. Vēl neuztraucieties par konteksta nozīmi , jo tā ir sarežģītāka tēma. Pagaidām viss, kas mums jāzina, ir tas, ka konteksts kontrolē API klienta darbību. konteksts.Background() atgriež tukšu kontekstu . Pēc servera informācijas izgūšanas divos mainīgajos — serveros un err , mēs pārbaudām, vai nav radusies kļūda. Ja tā, mēs ziņojam lietotājam par kļūdu un izejam ar kodu 1 (kļūda).

7. darbība: informācijas parādīšana

Tagad, kad mums ir serveru masīvs serveru mainīgajā ( []govultr.Server ), mēs faktiski varam to parādīt. Funkcijas main() beigās pievienojiet šādu kodu :

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

Vispirms mēs izdrukājam (parāda) galveni, Servers:. Pēc tam mēs veicam cilpu pāri serveru masīvam, ignorējot indeksu, piešķirot to _, un piešķirot pašreizējo serveri servera mainīgajam. Cilpas iekšpusē tiek parādīta servera etiķete, IP adrese, atrašanās vieta, neapstiprinātās maksas, pašreizējais joslas platums un atļautais joslas platums. Lai to izdarītu efektīvi, mēs izmantojam formāta virknes , kas izskatās kā " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Līdzekļi %snākamās virknes aizstāšanai, savukārt %.2flīdzekļi nākamā pludiņa (decimālskaitļa) drukāšanai, kas noapaļoti līdz 2 zīmēm aiz komata. Pārējā formāta virkne tiek drukāta burtiski (tāda, kāda ir).

8. darbība. Skriešana

Šajā brīdī jūsu kodam vajadzētu izskatīties šādi:

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

Tagad mēs varam palaist kodu. Atgriezieties terminālī, kuru atvērām iepriekš, un ievadiet komandu go run. Izvade būs līdzīga šādai:

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

Ja saņemat kļūdu, pārliecinieties, vai API atslēga un IP adrese ir pareiza.

Secinājums

Šajā brīdī jūs būsiet veiksmīgi apguvis oficiālā API klienta lietošanas pamatus un uzrakstījis programmu, kas parādīs informāciju par serveriem jūsu kontā.

Tālākie soļi

No šejienes jūs varat darīt daudz vairāk. Piemēram, varat uzrakstīt programmu jauna servera nodrošināšanai, kad trūkst atmiņas. Varat uzrakstīt lietotni, lai automātiski jauninātu serveri, kad ir maz joslas platuma vai krātuves. Jūs pat varētu uzrakstīt rīku, lai automātiski atjauninātu DNS ierakstus, pamatojoties uz jūsu pašreizējo IP.

Lai iegūtu papildinformāciju par govultr bibliotēku, varat atrast govultr bibliotēkas dokumentāciju vietnē godoc .

govultr ir atvērtā koda projekts . Ja vietnē govultr atrodat kļūdas, varat ziņot par tām vietnē GitHub . Varat arī dot ieguldījumu koda izveidē tieši, iesniedzot izvilkšanas pieprasījumu .


Bloku krātuves pievienošana

Bloku krātuves pievienošana

Bloku krātuves apjomi tiek pievienoti gadījumiem kā papildu diski. Lai to varētu izmantot, sējums ir jāpievieno instancei. Var būt vairāki sējumi

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot

Kuri porti ir bloķēti?

Kuri porti ir bloķēti?

Tīkla drošības nolūkos mēs bloķējam vairākus izejošos portus. Bloķēts pēc noklusējuma Varat pieprasīt šo bloku noņemšanu, atverot atbalsta biļeti. TCP ports 2

Windows pielāgotais ISO ar VirtIO draiveriem

Windows pielāgotais ISO ar VirtIO draiveriem

Windows ISO izveide (tikai servera versijām) Iegūstiet jaunākos bināros VirtIO draiverus operētājsistēmai Windows, kas ir iesaiņoti kā ISO fails.

Windows Server 2016 atkopšanas režīms

Windows Server 2016 atkopšanas režīms

Piekļūstot atkopšanas režīmam operētājsistēmā Windows Server 2016, var rasties apturēšanas kļūda (zils ekrāns). Risinājums ir piekļūt opcijai Labot datoru

Instalējiet Nginx + PHP FPM + Caching + MySQL Ubuntu 12.04

Instalējiet Nginx + PHP FPM + Caching + MySQL Ubuntu 12.04

Iespējams, daudzi cilvēki izmantos savus Vultr VPS kā tīmekļa serverus, laba izvēle būtu Nginx kā tīmekļa serveris. Šajā tēmā es aprakstīšu o

Vultr bloka krātuve

Vultr bloka krātuve

Vultrs Cloud Block Storage tehnoloģija ļauj jūsu instancei pievienot augstas veiktspējas mērogojamu krātuvi, ievērojami uzlabojot telpas pārvaldību.

Kā piekļūt savam Vultr VPS

Kā piekļūt savam Vultr VPS

Vultr nodrošina vairākus dažādus veidus, kā piekļūt jūsu VPS, lai to konfigurētu, instalētu un lietotu. Piekļuves akreditācijas dati Noklusētie piekļuves akreditācijas dati jūsu VPS ar

Kā es varu mainīt sava VPS diska izmēru?

Kā es varu mainīt sava VPS diska izmēru?

Šajā rokasgrāmatā ir paskaidrots, kā mainīt Vultr VPS cietā diska izmēru. Ja nesen esat jauninājis savu plānu uz plānu ar lielāku disku, varat sekot tiem

Pielāgots ISO uz tukša metāla

Pielāgots ISO uz tukša metāla

Ievads Vultr pašlaik nav ieviesta sistēma, kas ļautu augšupielādēt pielāgotus ISO un uzstādīt uz tukša metāla. Tomēr tas jūs neaptur

Ubuntu 16.04 attēli ziņo par kļūdām par EC2 metadatu pakalpojumu

Ubuntu 16.04 attēli ziņo par kļūdām par EC2 metadatu pakalpojumu

Sāknēšanas laikā daži vecāki Ubuntu 16.04 gadījumi var parādīt šādu brīdinājumu: **************************************** ******************************************

Vultr objektu krātuve

Vultr objektu krātuve

Ar S3 saderīga* objektu krātuve tagad ir pieejama Vultr mākonī. Mūsu objektu uzglabāšanas tehnoloģija ir pieejama, mērogojama un viegli integrējama

Iespējojiet Windows Audio Windows Server instancē

Iespējojiet Windows Audio Windows Server instancē

Piezīme. Šī rokasgrāmata darbosies Windows 2012 R2 un Windows 2016 gadījumiem. Windows serveros pēc noklusējuma nav iespējots Windows audio pakalpojums.

Pilnvaras vēstules paraugs BGP paziņojumiem

Pilnvaras vēstules paraugs BGP paziņojumiem

Lūdzu, izmantojiet šo veidni, pieprasot autorizāciju BGP paziņojumiem. ATĻAUJAS VĒSTULE [DATUMS] Kam tas attiecas, Thi

Prasības OS ISO augšupielādei Vultr

Prasības OS ISO augšupielādei Vultr

Vultr piedāvā plašu operētājsistēmu klāstu, no kurām izvēlēties. Tomēr dažreiz jūs varat augšupielādēt savu pielāgoto operētājsistēmu ISO, piemēram, Kal

Kā izveidot reversos DNS vai PTR ierakstus Vultr vadības panelī

Kā izveidot reversos DNS vai PTR ierakstus Vultr vadības panelī

Ievads Vultr Reverse DNS Lai pievienotu PTR vai Reverse DNS ierakstu jūsu gadījumu IP adresei, jums ir jāveic tālāk norādītās darbības.

Ievads Vultr DNS

Ievads Vultr DNS

Vultr piedāvā bezmaksas DNS mitināšanu klientu domēniem. Vārdserveri atrodas AnyCAST tīklā un nodrošina ātru DNS izšķirtspēju. Lai izmantotu Vultrs DNS, jums vajadzētu

Piekļuve viena lietotāja režīmam (atiestatīt saknes paroli)

Piekļuve viena lietotāja režīmam (atiestatīt saknes paroli)

Lai atiestatītu servera saknes paroli, jums būs jāielādē viena lietotāja režīms. Piekļūstiet savam serverim Vultr klientu portālā, pēc tam izpildiet šo darbību

Vairāki privātie tīkli

Vairāki privātie tīkli

Vultr 2018. gada sākumā ieviesa atbalstu vairākiem privātiem tīkliem. Šī funkcija tiek piedāvāta kā standarta privātā tīkla uzlabojums. Kas

Kā izmantot Vultr Go bibliotēku, lai iegūtu informāciju par serveri

Kā izmantot Vultr Go bibliotēku, lai iegūtu informāciju par serveri

Ievads Oficiālo Vultr Go bibliotēku var izmantot, lai mijiedarbotos ar Vultr API. Vultr API ļauj kontrolēt ar jums saistītos resursus

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk