Si të përdorni Bibliotekën Vultr Go për të marrë informacione për serverin

Prezantimi

Biblioteka zyrtare Vultr Go mund të përdoret për të bashkëvepruar me Vultr API . API Vultr ju lejon të kontrolloni burimet e lidhura me llogarinë tuaj, duke përfshirë serverët, dns, murin e zjarrit, fotografitë, rrjetin dhe më shumë. Ky tutorial do të japë një hyrje në përdorimin e klientit zyrtar Go API duke krijuar një aplikacion të thjeshtë për të marrë informacion rreth serverëve tuaj.

Parakushtet

  • Një kompjuter me Windows, Linux ose macOS me Go 1.12+ të instaluar.
  • Njohuri bazë për programim.
  • Opsionale: Një IDE që mbështet Go (për shembull Visual Studio Code, emacs ose Atom).

Golat

  • Për të mësuar se si të përdorni bibliotekën zyrtare të Vultr API.
  • Për të shkruar një program për të parë informacionin e serverit.

Hapi 1: Krijimi i projektit

Së pari, do të fillojmë duke krijuar një modul (projekt) të ri. Zakonisht, ju do të përdorni URL-në e një depoje për kodin tuaj si emër të modulit, por kjo është përtej qëllimit të këtij tutoriali. Tani për tani, ne do të përdorim serverinfo si emër të modulit.

Për të krijuar projektin, ekzekutoni komandat e mëposhtme:

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

Hapi 2: Shkarkimi i bibliotekës

Më pas, ne do të shkarkojmë bibliotekën API nga GitHub (një sajt pritës i kodit). Për të shkarkuar bibliotekat, duhet të përdorni go getkomandën. Kjo do të shkarkojë automatikisht bibliotekën dhe varësitë e saj ndërsa e shton atë në skedarin go.mod . Në të njëjtin terminal që hapët më herët, futni komandën e mëposhtme:

go get github.com/vultr/govultr

Hapi 3: Marrja e çelësit tuaj API

Për të përdorur klientin API, do t'ju duhet çelësi juaj API. Ju mund ta merrni çelësin tuaj API nga skeda API në seksionin LlogariaPanelit tuaj . Ju gjithashtu do të duhet të autorizoni adresën tuaj IP për të përdorur çelësin API. Ju mund ta gjeni adresën tuaj IP duke shkuar te ifconfig.me . Vini re se po kërkoni IP-në tuaj publike , jo atë private. IP-ja juaj private është ajo që do të gjenit në cilësimet e rrjetit në kompjuterin tuaj dhe është në një nga diapazoni i mëposhtëm CIDR: 10.0.0.0/8 , 172.16.0.0/12 ose 192.168.0.0/16 .

Pasi të keni adresën tuaj IP, shtoni atë nën seksionin e Kontrollit të Aksesit . Në kutinë pas / , shkruani 32. /32është një kuptim maskë rrjeti 255.255.255.255. Kjo do të thotë që vetëm IP-ja juaj përfshihet në gamë.

Paralajmërim: Mbroni çelësin tuaj API ashtu siç do të mbroni fjalëkalimin tuaj. Çelësi API ka qasje në të gjithë llogarinë tuaj, duke përfshirë faturimin, serverët dhe hapësirën ruajtëse.

Hapi 4: Krijimi i skedarit të programit

Tani do të fillojmë të punojmë me programin. Hapni dosjen që krijuam sipas redaktuesit tuaj të zgjedhur dhe krijoni një skedar me emrin main.go.

Brenda skedarit, shkruani ose kopjoni-ngjisni kodin e mëposhtëm:

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

I package mainthotë Go se ne po krijojmë një komandë, jo një bibliotekë. Deklarata e importit deklaron varësitë që do të përdorim. func main()është funksioni që thirret kur ekzekutojmë programin tonë.

Hapi 5: Inicializimi i klientit API

Hapi tjetër është inicializimi i klientit API. Për ta bërë këtë, duhet të përdorim funksionin govultr.NewClient(http.Client, string) . Shtoni kodin e mëposhtëm brenda funksionit main() :

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

Zëvendësojeni YOURAPIKEYme çelësin API që keni marrë më parë.

Le ta shohim këtë kod pak më afër. Në anën e majtë të :=, ne kemi client. Ky është emri i një ndryshoreje . Një ndryshore ruan vlerat. Në anën e djathtë, kemi një thirrje funksioni te govultr.NewClient . Parametri i parë është zero, sepse nuk kemi nevojë të ndryshojmë klientin e paracaktuar HTTP. Parametri i dytë është çelësi API që ne përdorim për të vërtetuar veten. :=Operatori cakton nga krahu i djathtë në anën e majtë, në këtë rast, rezultatet e thirrjes së funksionit në client.

Hapi 6: Përdorimi i API-së

Programi ynë ende nuk bën asgjë. Për ta bërë atë të dobishëm, ne do të marrim informacione rreth serverëve tanë nga Vultr. Ne do të përdorim funksionin govultr.Client.Server.List(context.Context) ([]govultr.Server, gabim) . Shtoni kodin e mëposhtëm në fund të funksionit main() :

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

Në këtë kod, ne po thërrasim funksionin API për të marrë informacionin e serverit. Mos u shqetësoni ende për kuptimin e kontekstit , pasi kjo është një temë më e avancuar. Tani për tani, gjithçka që duhet të dimë është se konteksti kontrollon se si funksionon klienti API. kontekst.Background() kthen një kontekst bosh . Pasi të marrim informacionin e serverit në dy variablat, serverët dhe err , kontrollojmë nëse ka pasur një gabim. Nëse po, ne i themi informoni përdoruesit për gabimin dhe dilni me kodin 1 (gabim).

Hapi 7: Shfaqja e informacionit

Tani që kemi një grup serverësh në variablin e serverëve ( []govultr.Server ), në fakt mund ta shfaqim atë. Shtoni kodin e mëposhtëm në fund të funksionit 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, ) }

Së pari, ne shtypim (shfaqim) një kokë, Servers:. Më pas, ne kalojmë mbi grupin e serverëve , duke injoruar indeksin duke e caktuar atë në _, dhe duke caktuar serverin aktual në ndryshoren e serverit . Brenda qarkut, ne shfaqim etiketën e serverit, adresën IP, vendndodhjen, tarifat në pritje, gjerësinë aktuale të brezit dhe gjerësinë e lejuar të brezit. Për ta bërë këtë në mënyrë efikase, ne përdorim vargjet e formatit , vargu që duket si " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Mjeti %spër të zëvendësuar vargun tjetër, ndërsa %.2fmjeti për të printuar float-in tjetër (numrin dhjetor) rrumbullakoset në 2 shifra dhjetore. Pjesa tjetër e vargut të formatit shtypet fjalë për fjalë (siç është).

Hapi 8: Vrapimi

Në këtë pikë, kodi juaj duhet të duket si më poshtë:

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

Tani mund të ekzekutojmë kodin. Kthehuni në terminalin që hapëm më parë dhe futni komandën go run. Prodhimi do të jetë i ngjashëm me sa vijon:

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

Nëse merrni një gabim, sigurohuni që çelësi juaj API dhe adresa IP janë të sakta.

konkluzioni

Në këtë pikë, ju do të keni mësuar me sukses bazat se si të përdorni klientin zyrtar API dhe do të keni shkruar një program që do të shfaqë informacione rreth serverëve në llogarinë tuaj.

Hapat e mëtejshëm

Nga këtu, ju mund të bëni shumë më tepër. Për shembull, mund të shkruani një program për të siguruar një server të ri kur nuk keni memorie të ulët. Ju mund të shkruani një aplikacion për të përmirësuar automatikisht serverin tuaj kur nuk keni gjerësi brezi ose hapësirë ​​ruajtëse. Ju madje mund të shkruani një mjet për të përditësuar automatikisht të dhënat DNS bazuar në IP-në tuaj aktuale.

Për më shumë informacion mbi bibliotekën govultr, mund të gjeni dokumentacionin e bibliotekës govultrgodoc .

govultr është një projekt me burim të hapur . Nëse gjeni ndonjë defekt në govultr, mund t'i raportoni në GitHub . Ju gjithashtu mund të kontribuoni në kodin drejtpërdrejt duke paraqitur një kërkesë për tërheqje .

Lëreni një koment

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë