A Vultr Go Library használata szerverinformációk lekéréséhez

Bevezetés

A hivatalos Vultr Go könyvtár használható a Vultr API-val való interakcióhoz . A Vultr API lehetővé teszi a fiókjához társított erőforrások vezérlését, beleértve a kiszolgálókat, a DNS-t, a tűzfalat, a pillanatképeket, a hálózatot és egyebeket. Ez az oktatóanyag bemutatja a hivatalos Go API kliens használatát egy egyszerű alkalmazás létrehozásával, amellyel információkat szerezhet a szervereiről.

Előfeltételek

  • Windowst, Linuxot vagy macOS-t futtató számítógép, amelyen Go 1.12+ telepítve van.
  • Alapvető programozási ismeretek.
  • Opcionális: Go-t támogató IDE (például Visual Studio Code, emacs vagy Atom).

Gólok

  • A hivatalos Vultr API-könyvtár használatának megismeréséhez.
  • Program írása a szerver információinak megtekintéséhez.

1. lépés: A projekt létrehozása

Először egy új modul (projekt) létrehozásával kezdjük. Általában a kód tárhelyének URL-címét használja modulnévként, de ez meghaladja ennek az oktatóanyagnak a hatókörét. Egyelőre a serverinfo- t fogjuk használni modulnévként.

A projekt létrehozásához futtassa a következő parancsokat:

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

2. lépés: A könyvtár letöltése

Ezután letöltjük az API-könyvtárat a GitHubról (egy kódtárhelyről). A könyvtárak letöltéséhez a go getparancsot kell használnia . Ez automatikusan letölti a könyvtárat és függőségeit, miközben hozzáadja a go.mod fájlhoz. Ugyanabban a terminálban, amelyet korábban megnyitott, írja be a következő parancsot:

go get github.com/vultr/govultr

3. lépés: Az API-kulcs beszerzése

Az API-kliens használatához szüksége lesz az API-kulcsra. Az API-kulcsot lekérheti az irányítópult Fiók szakaszának API lapjáról . Az API-kulcs használatához az IP-címét is engedélyeznie kell. Az IP-címét az ifconfig.me webhelyen találhatja meg . Ne feledje, hogy a nyilvános IP-címét keresi , nem a sajátját. Az Ön privát IP-címe a számítógép hálózati beállításaiban található, és a következő CIDR-tartományok egyikébe esik: 10.0.0.0/8 , 172.16.0.0/12 vagy 192.168.0.0/16 .

Miután megvan az IP-címe, adja hozzá a Hozzáférés-vezérlés szakaszhoz. A doboz után / írja 32. /32egy hálózati maszk jelentése 255.255.255.255. Ez azt jelenti, hogy csak az Ön IP-címe szerepel a tartományban.

Figyelmeztetés: Óvja API-kulcsát, mintha jelszavát védené. Az API-kulcs hozzáfér a teljes fiókjához, beleértve a számlázást, a szervereket és a tárhelyet.

4. lépés: A programfájl létrehozása

Most elkezdjük a munkát a programon. Nyissa meg az általunk kiválasztott szerkesztőben létrehozott mappát, és hozzon létre egy fájlt main.go.

A fájlba írja be vagy másolja be a következő kódot:

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

A package mainGo azt mondja, hogy parancsot hozunk létre, nem könyvtárat. Az import utasítás deklarálja az általunk használt függőségeket. func main()az a függvény, amelyet programunk futtatásakor hívunk meg.

5. lépés: Az API-kliens inicializálása

A következő lépés az API kliens inicializálása. Ehhez a govultr.NewClient(http.Client, string) függvényt kell használnunk. Adja hozzá a következő kódot a main() függvényhez:

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

Cserélje YOURAPIKEYki a korábban letöltött API-kulcsot.

Nézzük meg kicsit közelebbről ezt a kódot. A bal oldalon :=van client. Ez egy változó neve . A változó értékeket tárol. A jobb oldalon található a govultr.NewClient függvényhívása . Az első paraméter nulla, mert nem kell módosítanunk az alapértelmezett HTTP-klienst. A második paraméter az API-kulcs, amelyet önmagunk hitelesítésére használunk. Az :=operátor a jobb oldalt a bal oldalhoz rendeli, ebben az esetben a függvényhívás eredményét client.

6. lépés: Az API használata

A programunk még mindig nem csinál semmit. A hasznosság érdekében a szervereinkre vonatkozó információkat fogunk lekérni a Vultr-tól. A govultr.Client.Server.List(context.Context) ([]govultr.Server, error) függvényt fogjuk használni . Adja hozzá a következő kódot a main() függvény végéhez :

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

Ebben a kódban az API függvényt hívjuk meg a szerver információinak lekéréséhez. Ne törődj még a szövegkörnyezet jelentésével , mivel ez egy fejlettebb téma. Egyelőre csak annyit kell tudnunk, hogy a környezet szabályozza az API-kliens futását. kontekst.A Background() üres kontextust ad vissza . Miután lekértük a szerverinformációkat a két változóban, a servers és az errben , ellenőrizzük, hogy történt-e hiba. Ha igen, értesítjük a felhasználót a hibáról, és kilépünk az 1-es kóddal (hiba).

7. lépés: Az információk megjelenítése

Most, hogy a szerverek változójában ( []govultr.Server ) van egy kiszolgálótömbünk , meg tudjuk jeleníteni. Adja hozzá a következő kódot a main() függvény végéhez :

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

Először kinyomtatunk (megjelenítünk) egy fejlécet, Servers:. Ezután áthurkoljuk a szerverek tömbjét, figyelmen kívül hagyva az indexet azáltal, hogy _hozzárendeljük a -hoz, és hozzárendeljük az aktuális szervert a szerverváltozóhoz . A hurkon belül megjelenítjük a szerver címkéjét, IP-címét, helyét, a függőben lévő díjakat, az aktuális sávszélességet és a megengedett sávszélességet. Ennek hatékony végrehajtásához formátum stringeket használunk , a karakterlánc, amely így néz ki " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". A %skövetkező karakterlánc helyettesítésének eszköze, míg %.2fa következő float (tizedes szám) kinyomtatásának eszköze 2 tizedesjegyre kerekítve. A formátum karakterlánc többi része szó szerint (ahogy van) nyomtatva.

8. lépés: Futás

Ezen a ponton a kódnak így kell kinéznie:

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

Most már futtathatjuk a kódot. Térjen vissza a korábban megnyitott terminálhoz, és írja be a parancsot go run. A kimenet a következőhöz fog hasonlítani:

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

Ha hibaüzenetet kap, győződjön meg arról, hogy az API-kulcs és az IP-cím helyes.

Következtetés

Ezen a ponton sikeresen megtanulta a hivatalos API-kliens használatának alapjait, és írt egy programot, amely információkat jelenít meg a fiókjában lévő szerverekről.

További lépések

Innentől sokkal többet tehet. Például írhat egy programot egy új kiszolgáló létrehozásához, amikor kevés a memóriája. Írhat egy alkalmazást, amely automatikusan frissíti a szervert, ha kevés a sávszélessége vagy a tárhelye. Akár olyan eszközt is írhat, amely automatikusan frissíti a DNS-rekordokat az aktuális IP-címe alapján.

A govultr könyvtárral kapcsolatos további információkért megtalálja a govultr könyvtár dokumentációját a godocon .

A govultr egy nyílt forráskódú projekt . Ha bármilyen hibát talál a govultr, akkor jelentse őket GitHub . A kódhoz közvetlenül is hozzájárulhat egy lehívási kérelem elküldésével .


Blokktároló rögzítése

Blokktároló rögzítése

A blokktároló kötetek további lemezként csatlakoznak a példányokhoz. Használat előtt csatolnia kell a kötetet egy példányhoz. Több kötet is b

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Milyen portok vannak blokkolva?

Milyen portok vannak blokkolva?

A hálózat biztonsága érdekében több kimenő portot blokkolunk. Alapértelmezés szerint blokkolva Kérheti a blokkok eltávolítását egy támogatási jegy megnyitásával. TCP port 2

Windows egyéni ISO VirtIO illesztőprogramokkal

Windows egyéni ISO VirtIO illesztőprogramokkal

A Windows ISO felépítése (csak szerververziók esetén) Szerezze be a legújabb bináris VirtIO illesztőprogramokat a Windows rendszerhez, ISO-fájlként csomagolva, innen

Windows Server 2016 helyreállítási mód

Windows Server 2016 helyreállítási mód

A helyreállítási mód elérésekor a Windows Server 2016 rendszeren leállási hiba léphet fel (kék képernyő). A megoldás a Számítógép javítása opció elérése

Telepítse az Nginxet + PHP FPM + Caching + MySQL-t az Ubuntu 12.04-re

Telepítse az Nginxet + PHP FPM + Caching + MySQL-t az Ubuntu 12.04-re

Valószínűleg sokan fogják használni a Vultr VPS-eiket webszerverként, jó választás az Nginx webszerverként. Ebben a témában leírom o

Vultr Block Storage

Vultr Block Storage

A Vultrs Cloud Block Storage technológia lehetővé teszi a nagy teljesítményű, méretezhető tárhely csatlakoztatását a példányhoz, ami jelentősen javítja a területkezelést.

A Vultr VPS elérése

A Vultr VPS elérése

A Vultr számos különböző módot kínál a VPS elérésére a konfigurálás, a telepítés és a használat céljából. Hozzáférési hitelesítő adatok A VPS ar alapértelmezett hozzáférési hitelesítő adatai

Hogyan tudom átméretezni a VPS lemezemet?

Hogyan tudom átméretezni a VPS lemezemet?

Ez az útmutató elmagyarázza, hogyan kell átméretezni a merevlemezt Vultr VPS-en. Ha nemrégiben frissítette tervét egy nagyobb lemezzel rendelkező csomagra, akkor kövesse ezeket

Egyedi ISO Bare Metalon

Egyedi ISO Bare Metalon

Bevezetés A Vultr jelenleg nem rendelkezik olyan rendszerrel, amely lehetővé tenné az egyedi ISO-k feltöltését és csupasz fémre való rögzítését. Ez azonban nem akadályozza meg

Az Ubuntu 16.04 Images hibákat jelent az EC2 metaadatszolgáltatással kapcsolatban

Az Ubuntu 16.04 Images hibákat jelent az EC2 metaadatszolgáltatással kapcsolatban

Indításkor néhány régebbi Ubuntu 16.04 példány a következő figyelmeztetést jelenítheti meg: **************************************** ******************************************

Vultr objektumtároló

Vultr objektumtároló

S3-kompatibilis* objektumtárolás már elérhető a Vultr felhőben. Tárgytárolási technológiánk megfizethető, méretezhető és könnyen integrálható

A Windows Audio engedélyezése Windows Server-példányon

A Windows Audio engedélyezése Windows Server-példányon

Megjegyzés: Ez az útmutató a Windows 2012 R2 és Windows 2016 példányokra vonatkozik. A Windows szervereken alapértelmezés szerint nincs engedélyezve a Windows Audio szolgáltatás.

Vultr adathordozhatósági útmutató

Vultr adathordozhatósági útmutató

Hogyan tölthetem le felhőadataimat a Vultrból? Adathordozhatóság a Vultr platformon Számos egyszerű megoldást kínálunk a letöltéshez

Példa felhatalmazó levélre BGP közleményekhez

Példa felhatalmazó levélre BGP közleményekhez

Kérjük, használja a következő sablont, amikor engedélyt kér a BGP közleményekhez. FELHASZNÁLÓ LEVÉL [DÁTUM] Akit érint, Thi

Követelmények az OS ISO Vultr

Követelmények az OS ISO Vultr

A Vultr operációs rendszerek széles választékát kínálja. Néha azonban érdemes feltölteni saját, egyéni operációs rendszer ISO-ját, például a Kal-t

Fordított DNS vagy PTR rekordok létrehozása a Vultr vezérlőpulton

Fordított DNS vagy PTR rekordok létrehozása a Vultr vezérlőpulton

Bevezetés a Vultr fordított DNS-be Ha PTR vagy fordított DNS rekordot szeretne hozzáadni a példányok IP-címéhez, kövesse az alábbi lépéseket:

Bevezetés a Vultr DNS-be

Bevezetés a Vultr DNS-be

A Vultr ingyenes DNS-tárhelyet kínál az ügyfelek domainjei számára. A névszerverek AnyCAST hálózaton vannak, és gyors DNS-feloldást biztosítanak. A Vultrs DNS használatához az

Hozzáférés az egyfelhasználós módhoz (gyökérjelszó visszaállítása)

Hozzáférés az egyfelhasználós módhoz (gyökérjelszó visszaállítása)

A kiszolgáló root jelszavának visszaállításához egyfelhasználós módban kell rendszert indítania. Nyissa meg szerverét a Vultr ügyfélportálon, majd kövesse a lépést

Több magánhálózat

Több magánhálózat

A Vultr 2018 elején bevezette a több magánhálózat támogatását. Ezt a funkciót a szabványos magánhálózat továbbfejlesztéseként kínáljuk. Ki

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket