Cara Menggunakan Perpustakaan Vultr Go Untuk Mendapatkan Info Server

pengantar

Perpustakaan Vultr Go resmi dapat digunakan untuk berinteraksi dengan Vultr API . API Vultr memungkinkan Anda untuk mengontrol sumber daya yang terkait dengan akun Anda, termasuk server, dns, firewall, snapshot, jaringan, dan banyak lagi. Tutorial ini akan memberikan pengantar untuk menggunakan klien Go API resmi dengan membuat aplikasi sederhana untuk mendapatkan informasi tentang server Anda.

Prasyarat

  • Komputer yang menjalankan Windows, Linux, atau macOS dengan Go 1.12+ terinstal.
  • Pengetahuan pemrograman dasar.
  • Opsional: IDE yang mendukung Go (misalnya Visual Studio Code, emacs, atau Atom).

Tujuan

  • Untuk mempelajari cara menggunakan perpustakaan API Vultr resmi.
  • Untuk menulis program untuk melihat informasi server.

Langkah 1: Membuat proyek

Pertama, kita akan mulai dengan membuat modul (proyek) baru. Biasanya, Anda akan menggunakan URL ke repositori untuk kode Anda sebagai nama modul, tapi itu di luar cakupan tutorial ini. Untuk saat ini, kami akan menggunakan serverinfo sebagai nama modul.

Untuk membuat proyek, jalankan perintah berikut:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

Langkah 2: Mengunduh perpustakaan

Selanjutnya, kita akan mengunduh pustaka API dari GitHub (situs hosting kode). Untuk mengunduh perpustakaan, Anda perlu menggunakan go getperintah. Ini akan secara otomatis mengunduh perpustakaan dan dependensinya sambil menambahkannya ke file go.mod . Di terminal yang sama dengan yang Anda buka sebelumnya, masukkan perintah berikut:

go get github.com/vultr/govultr

Langkah 3: Mendapatkan kunci API Anda

Untuk menggunakan klien API, Anda perlu kunci API Anda. Anda dapat mengambil kunci API Anda dari tab API bagian Akun di Dasbor Anda . Anda juga perlu mengesahkan alamat IP Anda untuk menggunakan kunci API. Anda dapat menemukan alamat IP Anda dengan membuka ifconfig.me . Perhatikan bahwa Anda mencari IP publik Anda , bukan IP pribadi Anda. IP pribadi Anda adalah apa yang akan Anda temukan dalam pengaturan jaringan di komputer Anda, dan berada dalam salah satu rentang CIDR berikut: 10.0.0.0/8 , 172.16.0.0/12 , atau 192.168.0.0/16 .

Setelah Anda memiliki alamat IP Anda, tambahkan di bawah bagian Access Control . Dalam kotak setelah / , ketik 32. /32adalah arti netmask 255.255.255.255. Ini berarti bahwa hanya IP Anda yang termasuk dalam kisaran tersebut.

Peringatan: Lindungi kunci API Anda seperti Anda akan melindungi kata sandi Anda. Kunci API memiliki akses ke seluruh akun Anda, termasuk penagihan, server, dan penyimpanan.

Langkah 4: Membuat file program

Sekarang, kita akan mulai mengerjakan program. Buka folder yang kami buat di editor pilihan Anda, dan buat file bernama main.go.

Di dalam file, ketik atau salin-tempel kode berikut:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

The package mainmemberitahu Go bahwa kita sedang membuat perintah, bukan perpustakaan. Pernyataan impor menyatakan dependensi yang akan kita gunakan. func main()adalah fungsi yang dipanggil ketika kita menjalankan program kita.

Langkah 5: Inisialisasi klien API

Langkah selanjutnya adalah menginisialisasi klien API. Untuk melakukan ini, kita perlu menggunakan fungsi govultr.NewClient (http.Client, string) . Tambahkan kode berikut di dalam fungsi main () :

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

Ganti YOURAPIKEYdengan kunci API yang Anda ambil sebelumnya.

Mari kita lihat kode ini sedikit lebih dekat. Di sisi kiri :=, kita miliki client. Itu adalah nama variabel . Variabel menyimpan nilai. Di sisi kanan, kami memiliki panggilan fungsi ke govultr.NewClient . Parameter pertama adalah nil, karena kita tidak perlu mengubah klien HTTP default. Parameter kedua adalah kunci API yang kami gunakan untuk mengotentikasi diri kami. The :=Operator memberikan hak-sisi ke sisi kiri, dalam hal ini, hasil dari fungsi panggilan untuk client.

Langkah 6: Menggunakan API

Program kami masih belum melakukan apa pun. Untuk membuatnya berguna, kami akan mengambil informasi tentang server kami dari Vultr. Kami akan menggunakan fungsi govultr.Client.Server.List (context.Context) ([] govultr.Server, error) . Tambahkan kode berikut di akhir fungsi utama () :

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

Dalam kode ini, kami memanggil fungsi API untuk mengambil informasi server. Jangan khawatir tentang makna konteksnya , karena itu adalah topik yang lebih maju. Untuk saat ini, yang perlu kita ketahui adalah bahwa konteks mengontrol bagaimana klien API berjalan. context.Background () mengembalikan konteks kosong . Setelah kami mengambil informasi server ke dalam dua variabel, server dan err , kami memeriksa apakah ada kesalahan. Jika demikian, kami beri tahu pengguna kesalahan dan keluar dengan kode 1 (kesalahan).

Langkah 7: Menampilkan informasi

Sekarang kita memiliki array server dalam variabel server ( [] govultr.Server ), kita sebenarnya dapat menampilkannya. Tambahkan kode berikut di akhir fungsi utama () :

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

Pertama, kami mencetak (menampilkan) sebuah header Servers:,. Kemudian, kita lewati array server , mengabaikan indeks dengan menetapkannya _, dan menetapkan server saat ini ke variabel server . Di dalam loop, kami menampilkan label server, alamat IP, lokasi, biaya yang tertunda, bandwidth saat ini, dan bandwidth yang diperbolehkan. Untuk melakukan ini secara efisien, kami menggunakan format string , string yang terlihat seperti " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". The %s sarana untuk menggantikan string berikutnya, sedangkan %.2fsarana untuk mencetak mengapung berikutnya (angka desimal) dibulatkan ke 2 desimal. Sisa dari format string dicetak secara literal (sebagaimana adanya).

Langkah 8: Berlari

Pada titik ini, kode Anda akan terlihat seperti berikut:

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

Kami sekarang dapat menjalankan kode. Kembali ke terminal yang kita buka sebelumnya dan masukkan perintah go run. Outputnya akan menyerupai berikut ini:

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

Jika Anda menerima kesalahan, pastikan kunci API dan alamat IP Anda sudah benar.

Kesimpulan

Pada titik ini, Anda akan berhasil mempelajari dasar-dasar cara menggunakan klien API resmi dan menulis program yang akan menampilkan informasi tentang server di akun Anda.

Langkah selanjutnya

Dari sini, Anda dapat melakukan lebih banyak lagi. Misalnya, Anda dapat menulis sebuah program untuk menyediakan server baru saat Anda kehabisan memori. Anda dapat menulis aplikasi untuk meningkatkan server secara otomatis saat bandwidth atau penyimpanannya rendah. Anda bahkan dapat menulis alat untuk memperbarui data DNS secara otomatis berdasarkan IP Anda saat ini.

Untuk informasi lebih lanjut tentang perpustakaan govultr, Anda dapat menemukan dokumentasi perpustakaan govultr di godoc .

govultr adalah proyek sumber terbuka . Jika Anda menemukan bug di govultr, Anda dapat melaporkannya di GitHub . Anda juga dapat berkontribusi pada kode secara langsung dengan mengirimkan permintaan tarik .



Leave a Comment

Menjalankan CoreOS pada Vultr VPS

Menjalankan CoreOS pada Vultr VPS

Harap baca: Vultr sekarang menawarkan CoreOS pada halaman pemesanan - Panduan ini menjelaskan cara mengatur CoreOS secara manual. Instruksi ini akan memandu Anda saat berlari

Menggunakan Otentikasi Dua Faktor untuk masuk ke Panel Kontrol Vultr

Menggunakan Otentikasi Dua Faktor untuk masuk ke Panel Kontrol Vultr

Two Factor Authentication, atau 2FA, adalah teknik yang menambahkan lapisan keamanan dengan meminta langkah otentikasi tambahan untuk masuk. Untuk keamanan yang kuat

Panduan Portabilitas Data Vultr

Panduan Portabilitas Data Vultr

Bagaimana saya bisa mengunduh data cloud saya dari Vultr? Portabilitas data pada platform Vultr Kami menyediakan sejumlah solusi sederhana untuk Anda unduh

Tambahkan Alamat IPv4 Sekunder ke VPS Anda

Tambahkan Alamat IPv4 Sekunder ke VPS Anda

Tutorial ini menjelaskan cara mengatur alamat IPv4 tambahan di Vultr VPS Anda. Kami akan menganggap sebagai berikut: Alamat IP Utama VPS Anda adalah 1.2.3.4.

Ubuntu 16,04 Gambar Laporkan Kesalahan Tentang Layanan Metadata EC2

Ubuntu 16,04 Gambar Laporkan Kesalahan Tentang Layanan Metadata EC2

Saat boot, beberapa instance Ubuntu 16.04 yang lebih lama dapat menampilkan peringatan berikut: ********************************** ************************************

Kloning Server Virtual Dengan Vultr

Kloning Server Virtual Dengan Vultr

Kadang-kadang, Anda harus mengkloning server virtual baik untuk tujuan penskalaan atau untuk mengubah wilayah server, misalnya. Pada Vultr, ini mudah, a

Ketersediaan Tinggi di Vultr dengan IP Terapung dan BGP

Ketersediaan Tinggi di Vultr dengan IP Terapung dan BGP

Vultr memungkinkan Anda untuk menggabungkan dua fitur kami (IP Terapung dan BGP) untuk mencapai ketersediaan tinggi. Setup Anda akan membutuhkan dua instance di sam

Cara Mengakses VPS Vultr Anda

Cara Mengakses VPS Vultr Anda

Vultr menyediakan beberapa cara berbeda untuk mengakses VPS Anda untuk mengonfigurasi, menginstal, dan menggunakan. Kredensial Akses Kredensial akses default untuk ar VPS Anda

Windows Custom ISO dengan Virtio Drivers

Windows Custom ISO dengan Virtio Drivers

Membangun Windows ISO (hanya versi Server) Dapatkan driver Virtio biner terbaru untuk Windows, yang dikemas sebagai file ISO, dari

Contoh Surat Kuasa untuk Pengumuman BGP

Contoh Surat Kuasa untuk Pengumuman BGP

Silakan gunakan templat berikut saat meminta otorisasi untuk pengumuman BGP. SURAT OTORISASI [TANGGAL] Kepada siapa pun yang berkepentingan, Thi

Modul Vultr WHMCS

Modul Vultr WHMCS

Catatan: Silakan baca dokumen ini sepenuhnya sebelum Anda menginstal Modul Informasi Modul Vultr WHMCS Versi: 2.0.0 (Diperbarui) Tanggal Rilis: 25 Juni 2019

Mengkonfigurasi BGP di Vultr

Mengkonfigurasi BGP di Vultr

Fitur Vultrs BGP memungkinkan Anda membawa ruang IP Anda sendiri dan menggunakannya di salah satu lokasi kami. Persiapan Untuk menggunakan BGP, Anda perlu: Vult yang digunakan

Bagaimana Saya Menghasilkan Kunci SSH?

Bagaimana Saya Menghasilkan Kunci SSH?

Kunci SSH memungkinkan Anda untuk masuk ke server Anda tanpa perlu kata sandi. Kunci SSH dapat secara otomatis ditambahkan ke server selama proses instalasi.

Reset Kata Sandi Administrator Server Windows

Reset Kata Sandi Administrator Server Windows

Ada kalanya Anda lupa kata sandi administrator lokal di Windows dan harus mengaturnya ulang. Mudah untuk mereset kata sandi ini i

Aktifkan Audio Windows pada Windows Server Instance

Aktifkan Audio Windows pada Windows Server Instance

Catatan: Panduan ini akan berfungsi untuk instance Windows 2012 R2 dan Windows 2016. Server Windows, secara default, tidak mengaktifkan layanan Audio Windows.

Persyaratan untuk Mengunggah OS ISO ke Vultr

Persyaratan untuk Mengunggah OS ISO ke Vultr

Vultr menawarkan berbagai macam sistem operasi untuk dipilih. Namun, kadang-kadang, Anda mungkin ingin mengunggah sistem operasi ISO kustom Anda sendiri seperti Kal

Mengubah Alamat IP Outbound Postfix

Mengubah Alamat IP Outbound Postfix

Ketika server memiliki lebih dari satu alamat IP yang ditetapkan, Postfix secara acak memilih alamat IP untuk email keluar. Perilaku Postfix default ini dapat diaktifkan kembali

Mengkonfigurasi Jaringan Pribadi

Mengkonfigurasi Jaringan Pribadi

Jika Anda menetapkan jaringan pribadi ke mesin yang ada (atau menggunakan sistem operasi Anda sendiri), Anda harus mengkonfigurasi alamat IP pada privat tersebut.

Pemantauan Solusi untuk VPS Anda

Pemantauan Solusi untuk VPS Anda

Pada artikel ini, Anda akan belajar tentang pilihan solusi pemantauan yang tersedia untuk server Vultr Anda. Tergantung pada pilihan sistem operasi Anda, ada

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut