Kuinka käyttää Vultr Go -kirjastoa palvelintietojen saamiseksi

Johdanto

Virallista Vultr Go -kirjastoa voidaan käyttää vuorovaikutukseen Vultr API:n kanssa . Vultr API:n avulla voit hallita tiliisi liittyviä resursseja, kuten palvelimia, dns:ää, palomuuria, tilannekuvia, verkkoa ja paljon muuta. Tämä opetusohjelma antaa johdannon virallisen Go API -asiakkaan käyttöön luomalla yksinkertaisen sovelluksen saadakseen tietoja palvelimistasi.

Edellytykset

  • Windows-, Linux- tai macOS-tietokone, johon on asennettu Go 1.12+.
  • Ohjelmoinnin perustiedot.
  • Valinnainen: Go:ta tukeva IDE (esimerkiksi Visual Studio Code, emacs tai Atom).

Tavoitteet

  • Opi käyttämään virallista Vultr API -kirjastoa.
  • Ohjelman kirjoittaminen palvelimen tietojen tarkastelemiseksi.

Vaihe 1: Projektin luominen

Ensin aloitamme luomalla uuden moduulin (projektin). Yleensä käytät koodisi arkiston URL-osoitetta moduulin nimenä, mutta se ei kuulu tämän opetusohjelman piiriin. Käytämme toistaiseksi serverinfoa moduulin nimenä.

Luo projekti suorittamalla seuraavat komennot:

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

Vaihe 2: Lataa kirjasto

Seuraavaksi lataamme API-kirjaston GitHubista (koodin isännöintisivusto). Jos haluat ladata kirjastoja, sinun on käytettävä go getkomentoa. Tämä lataa automaattisesti kirjaston ja sen riippuvuudet, kun lisäät sen go.mod- tiedostoon. Syötä seuraava komento samaan terminaaliin, jonka avasit aiemmin:

go get github.com/vultr/govultr

Vaihe 3: API-avaimen hankkiminen

Tarvitset API-avaimen käyttääksesi API-asiakasta. Voit noutaa API-avaimesi hallintapaneelisi Tili- osion API- välilehdeltä . Sinun on myös valtuutettava IP-osoitteesi käyttääksesi API-avainta. Löydät IP-osoitteesi siirtymällä osoitteeseen ifconfig.me . Huomaa, että etsit julkista IP-osoitettasi, et yksityistä. Yksityinen IP-osoitteesi on se, jonka löydät tietokoneesi verkkoasetuksista, ja se on jollakin seuraavista CIDR-alueista: 10.0.0.0/8 , 172.16.0.0/12 tai 192.168.0.0/16 .

Kun sinulla on IP-osoitteesi, lisää se Access Control -osioon. Laatikossa jälkeen / , tyyppi 32. /32on verkkomaskin merkitys 255.255.255.255. Tämä tarkoittaa, että vain IP-osoitteesi sisältyy alueeseen.

Varoitus: Suojaa API-avaimesi samalla tavalla kuin salasanasi. API-avaimella on pääsy koko tiliisi, mukaan lukien laskutus, palvelimet ja tallennustila.

Vaihe 4: Ohjelmatiedoston luominen

Nyt aletaan työstää ohjelmaa. Avaa kansio, jonka loimme valitsemallasi editorilla, ja luo tiedosto nimeltä main.go.

Kirjoita tai kopioi ja liitä seuraava koodi tiedoston sisään:

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

package mainKertoo Go että olemme luomassa komentoa, ei kirjasto. Tuontilausunto ilmoittaa käytettävät riippuvuudet. func main()on funktio, jota kutsutaan, kun suoritamme ohjelmaa.

Vaihe 5: API-asiakkaan alustaminen

Seuraava vaihe on API-asiakkaan alustaminen. Tätä varten meidän on käytettävä funktiota govultr.NewClient(http.Client, string) . Lisää seuraava koodi main()- funktion sisään:

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

Korvaa YOURAPIKEYaiemmin hakemallasi API-avaimella.

Katsotaanpa tätä koodia hieman tarkemmin. Vasemmalla puolella :=meillä on client. Se on muuttujan nimi . Muuttuja tallentaa arvot. Oikealla puolella on funktiokutsu govultr.NewClient . Ensimmäinen parametri on nolla, koska meidän ei tarvitse muuttaa oletusarvoista HTTP-asiakasta. Toinen parametri on API-avain, jota käytämme todentamaan itsemme. :=Operaattori määrittää oikealla puolella vasemmalle puolelle, tässä tapauksessa tulos toiminnon puhelun client.

Vaihe 6: API:n käyttö

Ohjelmamme ei vieläkään tee mitään. Jotta se olisi hyödyllistä, aiomme hakea tietoja palvelimistamme Vultrilta. Käytämme funktiota govultr.Client.Server.List(context.Context) ([]govultr.Server, error) . Lisää seuraava koodi main()- funktion loppuun :

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

Tässä koodissa kutsumme API-toimintoa hakemaan palvelintiedot. Älä vielä ole huolissasi kontekstin merkityksestä , sillä se on edistyneempi aihe. Toistaiseksi meidän tarvitsee vain tietää, että konteksti ohjaa API-asiakasohjelman toimintaa. konteksti.Background () palauttaa tyhjän kontekstin . Kun olemme hakeneet palvelintiedot kahteen muuttujaan, palvelimet ja err , tarkistamme, tapahtuiko virhe. Jos näin on, ilmoitamme käyttäjälle virheestä ja poistumme koodilla 1 (virhe).

Vaihe 7: Näytä tiedot

Nyt kun meillä on joukko palvelimia palvelinmuuttujassa ( []govultr.Server ), voimme itse asiassa näyttää sen. Lisää seuraava koodi main()- funktion loppuun :

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

Ensin tulostamme (näytämme) otsikon, Servers:. Sitten teemme silmukan palvelintaulukon yli, jätämme indeksin huomioimatta määrittämällä sen _ja määrittämällä nykyisen palvelimen palvelinmuuttujalle . Silmukan sisällä näytämme palvelimen tunnisteen, IP-osoitteen, sijainnin, odottavat maksut, nykyisen kaistanleveyden ja sallitun kaistanleveyden. Tehdäksemme tämän tehokkaasti käytämme muotoiltuja merkkijonoja , jotka näyttävät tältä " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". %sKeino korvata seuraavan merkkijonon, vaikka %.2fkeinot tulostaa seuraavan float (desimaalilukuna) pyöristettynä 2 desimaalin tarkkuudella. Loput muotomerkkijonosta tulostetaan kirjaimellisesti (sellaisenaan).

Vaihe 8: Juokse

Tässä vaiheessa koodisi pitäisi näyttää tältä:

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

Voimme nyt suorittaa koodin. Palaa aiemmin avaamiimme päätteisiin ja kirjoita komento go run. Tulos muistuttaa seuraavaa:

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

Jos saat virheilmoituksen, varmista, että API-avaimesi ja IP-osoitteesi ovat oikein.

Johtopäätös

Tässä vaiheessa olet onnistuneesti oppinut virallisen API-asiakkaan käytön perusteet ja kirjoittanut ohjelman, joka näyttää tiedot tilisi palvelimista.

Jatkovaiheet

Täältä voit tehdä paljon enemmän. Voit esimerkiksi kirjoittaa ohjelman uuden palvelimen luomiseksi, kun muisti on vähissä. Voit kirjoittaa sovelluksen, joka päivittää palvelimesi automaattisesti, kun kaistanleveys tai tallennustila on vähissä. Voit jopa kirjoittaa työkalun, joka päivittää DNS-tietueet automaattisesti nykyisen IP-osoitteesi perusteella.

Lisätietoja govultr-kirjastosta löydät govultr-kirjaston dokumentaatiosta godocista .

govultr on avoimen lähdekoodin projekti . Jos löydät vikoja govultrissa, voit ilmoittaa niistä GitHubissa . Voit myös osallistua koodiin suoraan lähettämällä vetopyynnön .


Lohkon varastoinnin kiinnitys

Lohkon varastoinnin kiinnitys

Block-tallennuslevyt liitetään ilmentymiin lisälevyinä. Sinun on liitettävä taltio esiintymään ennen kuin sitä voidaan käyttää. Useita määriä voi b

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Mitkä portit on estetty?

Mitkä portit on estetty?

Estämme useita lähteviä portteja verkon turvallisuuden vuoksi. Oletusarvoisesti estetty Voit pyytää näiden estojen poistamista avaamalla tukilipun. TCP portti 2

Vultr Block -varasto

Vultr Block -varasto

Vultrs Cloud Block Storage -teknologian avulla voit asentaa instanssiisi korkean suorituskyvyn skaalautuvaa tallennustilaa, mikä tekee tilanhallinnasta huomattavasti tehokkaampaa

Kuinka muutan VPS-levyni kokoa?

Kuinka muutan VPS-levyni kokoa?

Tämä opas selittää, kuinka Vultr VPS:n kiintolevyn kokoa muutetaan. Jos olet äskettäin päivittänyt suunnitelmasi suunnitelmaksi, jossa on suurempi levy, voit seurata näitä

Mukautettu ISO Bare Metalilla

Mukautettu ISO Bare Metalilla

Johdanto Vultrilla ei tällä hetkellä ole järjestelmää, joka sallisi mukautetun ISO:n lataamisen ja asentamisen paljaalle metallille. Tämä ei kuitenkaan estä sinua

Ubuntu 16.04 -kuvat ilmoittavat virheistä EC2-metatietopalvelussa

Ubuntu 16.04 -kuvat ilmoittavat virheistä EC2-metatietopalvelussa

Käynnistyksen yhteydessä jotkin vanhemmat Ubuntu 16.04 -esiintymät voivat näyttää seuraavan varoituksen: **************************************** *****************************************

Vultr-objektien tallennustila

Vultr-objektien tallennustila

S3-yhteensopiva* objektitallennus on nyt saatavilla Vultr-pilvessä. Objektien tallennustekniikkamme on edullinen, skaalautuva ja helppo integroida sinuun

Esimerkki valtuutuskirjeestä BGP-ilmoituksille

Esimerkki valtuutuskirjeestä BGP-ilmoituksille

Käytä seuraavaa mallia pyytäessäsi lupaa BGP-ilmoituksille. VALTUUTUSKIRJE [PÄIVÄMÄÄRÄ] Ketä asia koskee, Thi

Vaatimukset OS ISO:n lataamiselle Vultr

Vaatimukset OS ISO:n lataamiselle Vultr

Vultr tarjoaa laajan valikoiman käyttöjärjestelmiä, joista valita. Joskus saatat kuitenkin haluta ladata oman mukautetun käyttöjärjestelmän ISO, kuten Kal

Käänteisten DNS- tai PTR-tietueiden luominen Vultr-ohjauspaneelissa

Käänteisten DNS- tai PTR-tietueiden luominen Vultr-ohjauspaneelissa

Johdatus Vultr Reverse DNS:ään Jos haluat lisätä PTR- tai käänteisen DNS-tietueen esiintymien IP-osoitteeseen, sinun on noudatettava alla kuvattuja vaiheita:

Johdatus Vultr DNS:ään

Johdatus Vultr DNS:ään

Vultr tarjoaa asiakkailleen ilmaisen DNS-isännöinnin. Nimipalvelimet ovat AnyCAST-verkossa ja varmistavat nopean DNS-selvityksen. Voit käyttää Vultrs DNS:ää

Pääsy yhden käyttäjän tilaan (nollaa pääsalasana)

Pääsy yhden käyttäjän tilaan (nollaa pääsalasana)

Palvelimesi pääkäyttäjän salasanan nollaamiseksi sinun on käynnistettävä yhden käyttäjän tilassa. Siirry palvelimellesi Vultr-asiakasportaalissa ja seuraa sitten vaihetta

Useita yksityisiä verkkoja

Useita yksityisiä verkkoja

Vultr esitteli tuen useille yksityisille verkoille vuoden 2018 alussa. Tämä ominaisuus tarjotaan parannuksena tavalliseen yksityiseen verkkoon. kuka

Kuinka käyttää Vultr Go -kirjastoa palvelintietojen saamiseksi

Kuinka käyttää Vultr Go -kirjastoa palvelintietojen saamiseksi

Johdanto Virallista Vultr Go -kirjastoa voidaan käyttää vuorovaikutukseen Vultr API:n kanssa. Vultr API:n avulla voit hallita sinuun liittyviä resursseja

Korkea saatavuus Vultrissa kelluvalla IP-osoitteella ja BGP:llä

Korkea saatavuus Vultrissa kelluvalla IP-osoitteella ja BGP:llä

Vultr antaa sinun yhdistää kaksi ominaisuuttamme (kelluvat IP-osoitteet ja BGP) korkean käytettävyyden saavuttamiseksi. Asennus Tarvitset kaksi esiintymää samassa

Valvontaratkaisut VPS:llesi

Valvontaratkaisut VPS:llesi

Tässä artikkelissa opit Vultr-palvelimellesi saatavilla olevista valvontaratkaisuista. Riippuen käyttöjärjestelmän valinnastasi

Kuinka palauttaa tilannekuva

Kuinka palauttaa tilannekuva

Tilannekuvat ovat tehokas tapa tehdä täydellinen varmuuskopio palvelimestasi. Et voi palauttaa yksittäisiä tiedostoja, vaan koko palvelinta. Thi

Kuinka luon SSH-avaimia?

Kuinka luon SSH-avaimia?

SSH-avaimen avulla voit kirjautua palvelimellesi ilman salasanaa. SSH-avaimet voidaan lisätä automaattisesti palvelimille asennuksen aikana.

Verkkoasetusten korjaaminen Snapshot Restore -toiminnon jälkeen

Verkkoasetusten korjaaminen Snapshot Restore -toiminnon jälkeen

Kun olet palauttanut tilannevedoksen uuteen koneeseen, saatat kohdata ongelmia, jotka johtuvat verkkosovittimen MAC-osoitteen muuttumisesta. Yleensä, kun verkko

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja