Jak korzystać z biblioteki Vultr Go, aby uzyskać informacje o serwerze

Wprowadzenie

Oficjalnej biblioteki Vultr Go można używać do interakcji z interfejsem API Vultr . Interfejs API Vultr pozwala kontrolować zasoby powiązane z kontem, w tym serwery, dns, zaporę ogniową, migawki, sieć i inne. Ten samouczek zawiera wprowadzenie do korzystania z oficjalnego klienta Go API, tworząc prostą aplikację do uzyskiwania informacji o serwerach.

Wymagania wstępne

  • Komputer z systemem Windows, Linux lub macOS z zainstalowanym Go 1.12+.
  • Podstawowa wiedza programistyczna.
  • Opcjonalnie: IDE obsługujące Go (na przykład Visual Studio Code, emacs lub Atom).

Cele

  • Aby dowiedzieć się, jak korzystać z oficjalnej biblioteki API Vultr.
  • Aby napisać program do przeglądania informacji o serwerze.

Krok 1: Tworzenie projektu

Najpierw zaczniemy od utworzenia nowego modułu (projektu). Zwykle używasz adresu URL do repozytorium dla swojego kodu jako nazwy modułu, ale wykracza to poza zakres tego samouczka. Na razie użyjemy serverinfo jako nazwy modułu.

Aby utworzyć projekt, uruchom następujące polecenia:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

Krok 2: Pobieranie biblioteki

Następnie pobierzemy bibliotekę API z GitHub (witryny hostującej kod). Aby pobrać biblioteki, musisz użyć go getpolecenia. Spowoduje to automatyczne pobranie biblioteki i jej zależności podczas dodawania jej do pliku go.mod . W tym samym terminalu, który otworzyłeś wcześniej, wprowadź następującą komendę:

go get github.com/vultr/govultr

Krok 3: Zdobycie klucza API

Aby korzystać z klienta API, potrzebujesz klucza API. Możesz pobrać swój klucz API z zakładki API sekcji Konto na pulpicie nawigacyjnym . Musisz także autoryzować swój adres IP, aby używać klucza API. Możesz znaleźć swój adres IP, przechodząc do ifconfig.me . Pamiętaj, że szukasz publicznego adresu IP, a nie prywatnego. Twój prywatny adres IP znajduje się w ustawieniach sieciowych na komputerze i należy do jednego z następujących zakresów CIDR: 10.0.0.0/8 , 172.16.0.0/12 lub 192.168.0.0/16 .

Po uzyskaniu adresu IP dodaj go w sekcji Kontrola dostępu . W polu po / wpisz 32. /32jest znaczeniem maski sieci 255.255.255.255. Oznacza to, że zakres obejmuje tylko twoje IP.

Ostrzeżenie: chroń swój klucz API tak, jakbyś chronił swoje hasło. Klucz API ma dostęp do całego konta, w tym rozliczeń, serwerów i pamięci.

Krok 4: Tworzenie pliku programu

Teraz zaczniemy pracować nad programem. Otwórz folder, który utworzyliśmy w wybranym przez siebie edytorze, i utwórz plik o nazwie main.go.

Wewnątrz pliku wpisz lub skopiuj i wklej następujący kod:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

package mainMówi Przejść że tworzymy polecenia, a nie biblioteki. Instrukcja importu określa zależności, których będziemy używać. func main()to funkcja wywoływana podczas uruchamiania naszego programu.

Krok 5: Inicjalizacja klienta API

Następnym krokiem jest zainicjowanie klienta API. Aby to zrobić, musimy użyć funkcji govultr.NewClient (http.Client, string) . Dodaj następujący kod do funkcji main () :

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

Zastąp YOURAPIKEYkluczem API pobranym wcześniej.

Przyjrzyjmy się temu kodowi nieco bliżej. Po lewej stronie :=mamy client. To jest nazwa zmiennej . Zmienna przechowuje wartości. Po prawej stronie mamy wywołanie funkcji do govultr.NewClient . Pierwszy parametr jest zerowy, ponieważ nie musimy zmieniać domyślnego klienta HTTP. Drugi parametr to klucz API, którego używamy do uwierzytelnienia się. :=Operator przydziela prawą stroną do lewej strony, w tym przypadku, wynik wywołania funkcji do client.

Krok 6: Korzystanie z interfejsu API

Nasz program wciąż nic nie robi. Aby było to przydatne, będziemy pobierać informacje o naszych serwerach od Vultr. Użyjemy funkcji govultr.Client.Server.List (context.Context) ([] govultr.Server, error) . Dodaj następujący kod na końcu funkcji main () :

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

W tym kodzie wywołujemy funkcję API w celu pobrania informacji o serwerze. Nie martw się jeszcze o znaczenie kontekstu , ponieważ jest to bardziej zaawansowany temat. Na razie musimy tylko wiedzieć, że kontekst kontroluje sposób działania klienta API. context.Background () zwraca pusty kontekst . Po pobraniu informacji o serwerze do dwóch zmiennych, serwerów i err , sprawdzamy, czy wystąpił błąd. Jeśli tak, informujemy użytkownika o błędzie i wychodzimy z kodem 1 (błąd).

Krok 7: Wyświetlenie informacji

Teraz, gdy mamy tablicę serwerów na serwerach zmiennej ( [] govultr.Server ), możemy rzeczywiście go wyświetlić. Dodaj następujący kod na końcu funkcji 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,
    )
}

Po pierwsze, możemy wydrukować (wyświetlacz) nagłówek, Servers:. Następnie zapętlamy tablicę serwerów , ignorując indeks, przypisując go do _i przypisując bieżący serwer do zmiennej serwera . Wewnątrz pętli wyświetlamy etykietę serwera, adres IP, lokalizację, oczekujące opłaty, bieżącą przepustowość i dozwoloną przepustowość. Aby to zrobić skutecznie, używamy ciągów formatu , które wyglądają jak " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Te %s środki zastąpił kolejny ciąg, podczas gdy %.2fśrodki do wydrukowania obok float (liczby dziesiętne) w zaokrągleniu do 2 miejsc po przecinku. Reszta ciągu formatu jest drukowana dosłownie (w stanie, w jakim się znajduje).

Krok 8: Uruchomienie

W tym momencie Twój kod powinien wyglądać następująco:

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

Możemy teraz uruchomić kod. Wróć do terminalu, który otworzyliśmy wcześniej i wprowadź polecenie go run. Dane wyjściowe będą przypominać następujące:

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

Jeśli pojawi się błąd, upewnij się, że klucz API i adres IP są poprawne.

Wniosek

W tym momencie nauczysz się podstaw korzystania z oficjalnego klienta API i napisałeś program, który wyświetli informacje o serwerach na twoim koncie.

Dalsze kroki

Stąd możesz zrobić znacznie więcej. Na przykład możesz napisać program, który zapewni nowy serwer, gdy będzie mało pamięci. Możesz napisać aplikację, aby automatycznie uaktualnić serwer, gdy brakuje przepustowości lub miejsca. Możesz nawet napisać narzędzie do automatycznej aktualizacji rekordów DNS na podstawie bieżącego adresu IP.

Więcej informacji na temat biblioteki govultr można znaleźć w dokumentacji biblioteki govultr na temat godoc .

govultr to projekt typu open source . Jeśli znajdziesz jakieś błędy w govultr, możesz zgłosić je na GitHub . Możesz także przyczynić się bezpośrednio do kodu, przesyłając żądanie ściągnięcia .



Leave a Comment

Jak uzyskać dostęp do Vultr VPS

Jak uzyskać dostęp do Vultr VPS

Vultr oferuje kilka różnych sposobów uzyskiwania dostępu do VPS w celu konfiguracji, instalacji i użytkowania. Poświadczenia dostępu Domyślne poświadczenia dostępu dla twojego VPS ar

System Windows niestandardowy ISO ze sterownikami VirtIO

System Windows niestandardowy ISO ze sterownikami VirtIO

Budowanie ISO systemu Windows (tylko wersje serwerowe) Pobierz najnowsze binarne sterowniki VirtIO dla Windows, spakowane jako plik ISO, z powrotem

Uruchamianie CoreOS na Vultr VPS

Uruchamianie CoreOS na Vultr VPS

Przeczytaj: Vultr oferuje teraz CoreOS na stronie zamówienia - ten przewodnik wyjaśnia, jak ręcznie skonfigurować CoreOS. Te instrukcje przeprowadzą Cię przez proces biegania

Konfigurowanie BGP na Vultr

Konfigurowanie BGP na Vultr

Funkcja Vultrs BGP pozwala przynieść własną przestrzeń IP i korzystać z niej w dowolnej z naszych lokalizacji. Pierwsze kroki Aby korzystać z BGP, potrzebujesz: Wdrożonego Vulta

Korekta czasu w systemie Windows Server

Korekta czasu w systemie Windows Server

Domyślnie Vultr VPS z systemem Windows Server 2012 ma ustawiony czas systemowy na strefę czasową UTC. Możesz zmienić strefę czasową, jak chcesz, ale zmieniając ją t

Dodaj dodatkowy adres IPv4 do swojego VPS

Dodaj dodatkowy adres IPv4 do swojego VPS

W tym samouczku wyjaśniono, jak skonfigurować dodatkowy adres IPv4 w Vultr VPS. Zakładamy, że: Główny adres IP twojego VPS to 1.2.3.4.

Obrazy Ubuntu 16.04 Zgłoś błędy dotyczące usługi metadanych EC2

Obrazy Ubuntu 16.04 Zgłoś błędy dotyczące usługi metadanych EC2

Podczas uruchamiania niektóre starsze instancje Ubuntu 16.04 mogą wyświetlać następujące ostrzeżenie: ************************************ **************************************

Zapora ogniowa Vultr

Zapora ogniowa Vultr

Vultr oferuje internetowe zapory ogniowe, które można włączyć w celu ochrony jednego lub więcej wystąpień obliczeniowych. Posiadanie zestawu reguł zapory dla serwerów

Dostęp do trybu jednego użytkownika (Resetuj hasło roota)

Dostęp do trybu jednego użytkownika (Resetuj hasło roota)

Aby zresetować hasło roota serwera, musisz uruchomić system w trybie pojedynczego użytkownika. Uzyskaj dostęp do swojego serwera w portalu klienta Vultr, a następnie postępuj zgodnie z instrukcjami

Wysoka dostępność na Vultr z pływającym IP i BGP

Wysoka dostępność na Vultr z pływającym IP i BGP

Vultr pozwala połączyć dwie nasze funkcje (zmienne adresy IP i BGP) w celu osiągnięcia wysokiej dostępności. Instalacja Będziesz potrzebował dwóch instancji w sam

Wiele sieci prywatnych

Wiele sieci prywatnych

Vultr wprowadził obsługę wielu sieci prywatnych na początku 2018 r. Ta funkcja jest oferowana jako rozszerzenie standardowej sieci prywatnej. Whe

Przykładowy list autoryzacyjny dla ogłoszeń BGP

Przykładowy list autoryzacyjny dla ogłoszeń BGP

Proszę poprosić o autoryzację dla ogłoszeń BGP przy użyciu następującego szablonu. LIST UPOWAŻNIENIA [DATA] Do kogo może to dotyczyć, Thi

Jak tworzyć rekordy odwrotnego DNS lub PTR w Panelu sterowania Vultr

Jak tworzyć rekordy odwrotnego DNS lub PTR w Panelu sterowania Vultr

Wprowadzenie do Vultr Reverse DNS Aby dodać PTR lub Reverse DNS dla twojego adresu IP instancji, musisz wykonać kroki opisane poniżej:

Zainstaluj Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Zainstaluj Nginx + PHP FPM + Caching + MySQL na Ubuntu 12.04

Prawdopodobnie wiele osób będzie używać Vultr VPS jako serwerów sieciowych, dobrym wyborem byłby Nginx jako serwer sieciowy. W tym temacie opiszę o

Vultr Object Storage

Vultr Object Storage

Pamięć obiektów zgodna z S3 * jest teraz dostępna w chmurze Vultr. Nasza technologia przechowywania obiektów jest niedroga, skalowalna i łatwa do zintegrowania z Tobą

Pojedyncze logowanie

Pojedyncze logowanie

Firmowy system logowania można zintegrować z systemem kont Vultrs za pomocą funkcji rejestracji jednokrotnej (SSO). Jednokrotne logowanie pomaga uprościć zarządzanie hasłami

Podręcznik przenoszenia danych Vultr

Podręcznik przenoszenia danych Vultr

Jak mogę pobrać moje dane w chmurze z Vultr? Przenoszenie danych na platformie Vultr Oferujemy szereg prostych rozwiązań do pobrania

Jak wygenerować klucze SSH?

Jak wygenerować klucze SSH?

Klucz SSH pozwala zalogować się do serwera bez potrzeby podawania hasła. Klucze SSH mogą być automatycznie dodawane do serwerów podczas procesu instalacji.

Wymagania dotyczące przesyłania ISO systemu operacyjnego do Vultr

Wymagania dotyczące przesyłania ISO systemu operacyjnego do Vultr

Vultr oferuje szeroką gamę systemów operacyjnych do wyboru. Czasami jednak możesz chcieć wgrać własny niestandardowy system operacyjny ISO, taki jak Kal

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.