Како користити Вултр Го библиотеку да бисте добили информације о серверу

Увод

Званична Вултр Го библиотека може да се користи за интеракцију са Вултр АПИ-јем . Вултр АПИ вам омогућава да контролишете ресурсе повезане са вашим налогом, укључујући сервере, ДНС, заштитни зид, снимке, мрежу и још много тога. Овај водич ће вам дати увод у коришћење званичног Го АПИ клијента креирањем једноставне апликације за добијање информација о вашим серверима.

Предуслови

  • Рачунар који користи Виндовс, Линук или мацОС са инсталираним Го 1.12+.
  • Основно знање програмирања.
  • Опционо: ИДЕ који подржава Го (на пример Висуал Студио Цоде, емацс или Атом).

Голови

  • Да научите како да користите званичну Вултр АПИ библиотеку.
  • Да напишете програм за преглед информација о серверу.

Корак 1: Креирање пројекта

Прво ћемо почети креирањем новог модула (пројекта). Обично бисте користили УРЛ до спремишта за ваш код као име модула, али то је ван оквира овог упутства. За сада ћемо користити серверинфо као име модула.

Да бисте креирали пројекат, покрените следеће команде:

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

Корак 2: Преузимање библиотеке

Затим ћемо преузети АПИ библиотеку са ГитХуб-а (сајт за хостовање кодова). Да бисте преузели библиотеке, потребно је да користите go getкоманду. Ово ће аутоматски преузети библиотеку и њене зависности док је додајете у го.мод датотеку. У истом терминалу који сте раније отворили унесите следећу команду:

go get github.com/vultr/govultr

Корак 3: Добијање вашег АПИ кључа

Да бисте користили АПИ клијент, биће вам потребан ваш АПИ кључ. Можете да преузмете свој АПИ кључ са картице АПИ у одељку Налог на контролној табли . Такође ћете морати да овластите своју ИП адресу за коришћење АПИ кључа. Своју ИП адресу можете пронаћи ако одете на ифцонфиг.ме . Имајте на уму да тражите своју јавну ИП адресу, а не своју приватну. Ваш приватни ИП је оно што бисте пронашли у мрежним поставкама на рачунару и налази се у једном од следећих ЦИДР опсега: 10.0.0.0/8 , 172.16.0.0/12 или 192.168.0.0/16 .

Када добијете своју ИП адресу, додајте је у одељак Контрола приступа . У пољу после / укуцајте 32. /32је мрежна маска значење 255.255.255.255. То значи да је само ваша ИП адреса укључена у опсег.

Упозорење: Заштитите свој АПИ кључ као што бисте заштитили своју лозинку. АПИ кључ има приступ целом налогу, укључујући обрачун, сервере и складиште.

Корак 4: Креирање програмске датотеке

Сада почињемо да радимо на програму. Отворите фасциклу коју смо направили у уређивачу по вашем избору и креирајте датотеку под називом main.go.

Унутар датотеке откуцајте или копирајте-налепите следећи код:

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

package mainГовори Иди да стварамо команду, а не библиотека. Изјава о увозу декларише зависности које ћемо користити. func main()је функција позвана када покренемо наш програм.

Корак 5: Иницијализација АПИ клијента

Следећи корак је иницијализација АПИ клијента. Да бисмо то урадили, треба да користимо функцију говултр.НевЦлиент(хттп.Цлиент, стринг) . Додајте следећи код унутар функције маин() :

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

Замените YOURAPIKEYса АПИ кључем који сте раније преузели.

Погледајмо овај код мало ближе. На левој страни :=имамо client. То је име променљиве . Променљива чува вредности. На десној страни имамо позив функције говултр.НевЦлиент . Први параметар је нула, јер не морамо да мењамо подразумевани ХТТП клијент. Други параметар је АПИ кључ који користимо за аутентификацију. :=Оператер додељује десном страном на левој страни, у овом случају, резултат функције позива client.

Корак 6: Коришћење АПИ-ја

Наш програм још увек ништа не ради. Да бисмо били корисни, ми ћемо преузети информације о нашим серверима од Вултр-а. Користићемо функцију говултр.Цлиент.Сервер.Лист(цонтект.Цонтект) ([]говултр.Сервер, грешка) . Додајте следећи код на крај функције маин() :

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

У овом коду позивамо АПИ функцију да преузмемо информације о серверу. Не брините још о значењу контекста , јер је то напреднија тема. За сада, све што треба да знамо је да контекст контролише како ради АПИ клијент. цонтект.Бацкгроунд() враћа празан контекст . Након што преузмемо информације о серверу у две променљиве, сервере и ерр , проверавамо да ли је дошло до грешке. Ако јесте, обавештавамо корисника о грешци и излазимо са кодом 1 (грешка).

Корак 7: Приказ информација

Сада када имамо низ сервера у променљивој сервера ( []говултр.Сервер ), заправо можемо да га прикажемо. Додајте следећи код на крај функције маин() :

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

Прво, штампамо (приказујемо) заглавље, Servers:. Затим прелазимо преко низа сервера , игноришући индекс тако што ћемо га доделити _, и додељивати тренутни сервер променљивој сервера . Унутар петље приказујемо ознаку сервера, ИП адресу, локацију, трошкове на чекању, тренутни пропусни опсег и дозвољени пропусни опсег. Да бисмо то учинили ефикасно, користимо стрингове формата , стринг који изгледа као " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". На %sначин да замене следећи низ, док су %.2fсредства за штампање поред флоат (децимални број) заокружени на 2 децимале. Остатак стринга формата се штампа дословно (као што јесте).

Корак 8: Трчање

У овом тренутку, ваш код би требао изгледати овако:

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

Сада можемо да покренемо код. Вратите се на терминал који смо раније отворили и унесите команду go run. Излаз ће личити на следеће:

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

Ако добијете грешку, уверите се да су ваш АПИ кључ и ИП адреса тачни.

Закључак

У овом тренутку ћете успешно научити основе коришћења званичног АПИ клијента и написати програм који ће приказати информације о серверима на вашем налогу.

Даљи кораци

Одавде можете учинити много више. На пример, можете написати програм који ће обезбедити нови сервер када вам недостаје меморије. Можете написати апликацију за аутоматску надоградњу вашег сервера када вам је мало пропусног опсега или простора за складиштење. Можете чак написати алатку за аутоматско ажурирање ДНС записа на основу вашег тренутног ИП-а.

За више информација о говултр библиотеци, можете пронаћи документацију говултр библиотеке на годоц .

говултр је пројекат отвореног кода . Ако пронађете било какве грешке у говултр-у, можете их пријавити на ГитХуб-у . Такође можете директно допринети коду слањем захтева за повлачење .

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више