Bagaimana Menggunakan Perpustakaan Go Vultr Untuk Dapatkan Maklumat Pelayan

Pengenalan

Perpustakaan Vultr Go rasmi boleh digunakan untuk berinteraksi dengan API Vultr . API Vultr membolehkan anda mengawal sumber-sumber yang dikaitkan dengan akaun anda, termasuk pelayan, DNS, firewall, syot kilat, rangkaian, dan banyak lagi. Tutorial ini akan memberi pengenalan menggunakan klien Go API rasmi dengan membuat aplikasi mudah untuk mendapatkan maklumat tentang pelayan anda.

Prasyarat

  • Komputer yang menjalankan Windows, Linux, atau macOS dengan pemasangan Go 1.12+.
  • Pengetahuan pengaturcaraan asas.
  • Pilihan: IDE yang menyokong Go (contohnya Visual Studio Code, emacs, atau Atom).

Matlamat

  • Untuk mengetahui cara menggunakan perpustakaan API Vultr rasmi.
  • Untuk menulis program untuk melihat maklumat pelayan.

Langkah 1: Membuat projek

Pertama, kita akan mulakan dengan membuat modul (projek) baru. Biasanya, anda akan menggunakan URL ke repositori untuk kod anda sebagai nama modul, tetapi itu di luar ruang lingkup tutorial ini. Buat masa ini, kami akan menggunakan serverinfo sebagai nama modul.

Untuk membuat projek, jalankan arahan 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: Memuat turun perpustakaan

Seterusnya, kami akan memuat turun perpustakaan API dari GitHub (tapak hosting kod). Untuk memuat turun perpustakaan, anda perlu menggunakan go getarahan tersebut. Ini akan memuat turun perpustakaan dan keragaman secara automatik sambil menambahnya ke fail go.mod . Dalam terminal yang sama yang anda buka sebelum ini, masukkan arahan berikut:

go get github.com/vultr/govultr

Langkah 3: Mendapatkan kunci API anda

Untuk menggunakan klien API, anda memerlukan kunci API anda. Anda boleh mengambil kunci API anda dari tab API bahagian Akaun Papan Pemuka anda . Anda juga perlu memberi kuasa alamat IP anda untuk menggunakan kunci API. Anda boleh mencari alamat IP anda dengan pergi ke ifconfig.me . Perhatikan bahawa anda mencari IP awam anda , bukan IP peribadi anda. IP peribadi anda adalah apa yang anda akan dapati dalam tetapan rangkaian anda pada komputer anda, dan berada dalam salah satu julat CIDR berikut: 10.0.0.0/8 , 172.16.0.0/12 , atau 192.168.0.0/16 .

Sebaik sahaja anda mempunyai alamat IP anda, tambahkan di bawah bahagian Kawalan Akses . Di kotak selepas / , taipkan 32. /32adalah makna netmask 255.255.255.255. Ini bermaksud bahawa hanya IP anda yang disertakan dalam julat.

Amaran: Lindungi kunci API anda seperti melindungi kata laluan anda. Kunci API mempunyai akses ke seluruh akaun anda, termasuk penagihan, pelayan dan penyimpanan.

Langkah 4: Membuat fail program

Sekarang, kita akan mula mengerjakan program ini. Buka folder yang kami buat mengikut pilihan editor anda, dan buat fail bernama main.go.

Di dalam fail, ketik atau salin-tampal kod berikut:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

The package mainGo memberitahu bahawa kita membuat perintah, bukan perpustakaan. Kenyataan import menyatakan kebergantungan yang akan kami gunakan. func main()adalah fungsi yang dipanggil semasa kita menjalankan program kita.

Langkah 5: Memulakan klien API

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

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

Ganti YOURAPIKEYdengan kunci API yang anda ambil sebelumnya.

Mari lihat kod ini sedikit lebih dekat. Di sebelah kiri :=, kami ada client. Itulah nama pembolehubah . Nilai-nilai kedai berubah-ubah. Di sebelah kanan, kami mempunyai panggilan fungsi untuk govultr.NewClient . Parameter pertama adalah nil, kerana kita tidak perlu menukar klien HTTP lalai. Parameter kedua ialah kunci API yang kami gunakan untuk mengesahkan diri kami. The :=operator memberikan sebelah kanan ke sebelah kiri, dalam kes ini, hasil daripada panggilan fungsi untuk client.

Langkah 6: Menggunakan API

Program kami masih belum membuat apa-apa. Untuk menjadikannya berguna, kami akan mendapatkan maklumat mengenai pelayan kami dari Vultr. Kami akan menggunakan fungsi govultr.Client.Server.List (konteks.Context) ([] govultr.Server, error) . Tambahkan kod 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 kod ini, kami memanggil fungsi API untuk mengambil maklumat pelayan. Jangan bimbang tentang makna konteks lagi, kerana itu adalah topik yang lebih maju. Buat masa ini, yang perlu kita ketahui adalah bahawa konteks mengawal bagaimana klien API berjalan. konteks.Background () mengembalikan konteks kosong . Setelah kami mengambil maklumat pelayan ke dalam dua pembolehubah, pelayan dan salah , kami periksa apakah terdapat ralat. Sekiranya ada, kami memberitahu memberitahu pengguna tentang kesalahan dan keluar dengan kod 1 (ralat).

Langkah 7: Menunjukkan maklumat

Sekarang kita mempunyai pelbagai pelayan dalam pembolehubah pelayan ( [] govultr.Server ), kita sebenarnya boleh memaparkannya. Tambahkan kod 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, kita cetak (paparan) tandukan, Servers:. Kemudian, kita melingkari pelbagai pelayan , mengabaikan indeks dengan memberikannya kepada _, dan memberikan pelayan semasa kepada pembolehubah pelayan . Di dalam gelung, kami memaparkan label pelayan, alamat IP, lokasi, caj pending, jalur lebar semasa, dan jalur lebar yang dibenarkan. Untuk melakukan ini dengan berkesan, kami menggunakan rentetan format , rentetan yang kelihatan seperti " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". Cara %s untuk menggantikan rentetan seterusnya, manakala %.2fcara untuk mencetak float seterusnya (nombor perpuluhan) bulat ke 2 tempat perpuluhan. Selebihnya rentetan format dicetak secara literal (as-is).

Langkah 8: Berjalan

Pada ketika ini, kod anda harus kelihatan 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,
        )
    }
}

Kita kini boleh menjalankan kod tersebut. Kembali ke terminal yang kami buka lebih awal dan masukkan arahan go run. Output akan menyerupai yang berikut:

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 ralat, pastikan kunci API dan alamat IP anda betul.

Kesimpulannya

Pada ketika ini, anda akan berjaya mempelajari asas cara menggunakan klien API rasmi dan menulis program yang akan memaparkan maklumat mengenai pelayan dalam akaun anda.

Langkah seterusnya

Dari sini, anda boleh melakukan lebih banyak lagi. Sebagai contoh, anda boleh menulis sebuah program untuk menyediakan pelayan baru apabila anda mempunyai memori yang rendah. Anda boleh menulis aplikasi untuk menaik taraf pelayan anda secara automatik apabila anda terlalu rendah pada lebar jalur atau storan. Anda juga boleh menulis alat untuk mengemas kini rekod DNS secara automatik berdasarkan IP semasa anda.

Untuk maklumat lanjut mengenai perpustakaan govultr, anda boleh mencari dokumentasi perpustakaan govultr pada godoc .

govultr adalah projek sumber terbuka . Sekiranya anda menemui bug di govultr, anda boleh melaporkannya di GitHub . Anda juga boleh menyumbang kepada kod tersebut dengan terus mengemukakan permintaan tarik .



Leave a Comment

Cara Mengakses VPS Vultr Anda

Cara Mengakses VPS Vultr Anda

Vultr menyediakan beberapa cara yang berbeza untuk mengakses VPS anda untuk mengkonfigurasi, memasang, dan menggunakan. Akses Kredensial Kelayakan akses lalai untuk VPS anda

Windows Custom ISO dengan Pemandu VirtIO

Windows Custom ISO dengan Pemandu VirtIO

Membangun ISO Windows (Versi pelayan sahaja) Dapatkan pemacu VirtIO binari terkini untuk Windows, yang dibungkus sebagai fail ISO, dari dulu

Mengkonfigurasi BGP pada Vultr

Mengkonfigurasi BGP pada Vultr

Ciri Vultrs BGP membolehkan anda membawa ruang IP anda sendiri dan menggunakannya di mana-mana lokasi kami. Bermula Untuk menggunakan BGP, anda memerlukan: Vult yang digunakan

Membetulkan Masa di Pelayan Windows

Membetulkan Masa di Pelayan Windows

Secara lalai, Vultr VPS dengan Windows Server 2012 menetapkan masa sistemnya ke zon waktu UTC. Anda mungkin mengubah zon waktu yang anda inginkan, tetapi mengubahnya

Log Masuk Tunggal

Log Masuk Tunggal

Sistem log masuk korporat anda boleh disatukan dengan sistem akaun Vultrs dengan menggunakan ciri Single Sign-On (SSO). SSO membantu mempermudahkan pengurusan kata laluan

Firewall Vultr

Firewall Vultr

Vultr menawarkan penyelesaian firewall berasaskan web yang dapat diaktifkan untuk melindungi satu atau lebih keadaan komputasi. Mempunyai set peraturan firewall untuk pelayan anda i

Mengkonfigurasi IPv6 pada VPS anda

Mengkonfigurasi IPv6 pada VPS anda

Setiap contoh ini menganggap subnet IPv6 tahun 2001: db8: 1000 :: / 64. Anda perlu mengemas kini dengan subnet yang telah anda tetapkan. Kami akan menjadi usin

Contoh Surat Kebenaran untuk Pengumuman BGP

Contoh Surat Kebenaran untuk Pengumuman BGP

Sila gunakan templat berikut ketika meminta kebenaran untuk pengumuman BGP. SURAT KEBENARAN [TARIKH] Kepada siapa yang dikhawatirkannya, Thi

Cara Membuat Rekod DNS Terbalik atau PTR di Panel Kawalan Vultr

Cara Membuat Rekod DNS Terbalik atau PTR di Panel Kawalan Vultr

Pengenalan kepada Vultr Reverse DNS Untuk menambahkan PTR, atau Reverse DNS record untuk alamat IP contoh anda, anda perlu mengikuti langkah-langkah yang digariskan di bawah:

Pasang Nginx + PHP FPM + Caching + MySQL di Ubuntu 12.04

Pasang Nginx + PHP FPM + Caching + MySQL di Ubuntu 12.04

Mungkin banyak orang akan menggunakan Vultr VPS mereka sebagai pelayan laman web, pilihan yang baik adalah Nginx sebagai pelayan laman web. Dalam topik ini saya akan menerangkan o

Penyimpanan Objek Vultr

Penyimpanan Objek Vultr

Penyimpanan objek * yang serasi dengan S3 kini tersedia di awan Vultr. Teknologi penyimpanan objek kami berpatutan, berskala, dan mudah disatukan dengan anda

Bagaimana Saya Menjana Kunci SSH?

Bagaimana Saya Menjana Kunci SSH?

Kunci SSH membolehkan anda masuk ke pelayan anda tanpa memerlukan kata laluan. Kunci SSH dapat ditambahkan secara automatik ke pelayan semasa proses pemasangan.

Dayakan Windows Audio pada Windows Server Instance

Dayakan Windows Audio pada Windows Server Instance

Catatan: Panduan ini akan berfungsi untuk contoh Windows 2012 R2 dan Windows 2016. Windows Server, secara lalai, tidak mempunyai perkhidmatan Windows Audio diaktifkan.

Menjalankan CoreOS pada Vultr VPS

Menjalankan CoreOS pada Vultr VPS

Sila baca: Vultr kini menawarkan CoreOS di halaman pesanan - Panduan ini menerangkan cara menyediakan CoreOS secara manual. Arahan ini akan memandu anda berjalan

Modul Vultr WHMCS

Modul Vultr WHMCS

Catatan: Sila baca dokumen ini dengan lengkap sebelum anda memasang Maklumat Maklumat Modul Vultr WHMCS Versi: 2.0.0 (Dikemas kini) Tarikh Tayangan: 25 Jun 2019

Panduan Portability Data Vultr

Panduan Portability Data Vultr

Bagaimanakah saya boleh memuat turun data awan saya dari Vultr? Portabiliti data pada platform Vultr Kami menyediakan beberapa penyelesaian mudah untuk anda memuat turun anda

Imej Ubuntu 16.04 Laporkan Ralat Mengenai Perkhidmatan Metadata EC2

Imej Ubuntu 16.04 Laporkan Ralat Mengenai Perkhidmatan Metadata EC2

Semasa boot, beberapa contoh Ubuntu 16.04 yang lebih tua mungkin menunjukkan amaran berikut: ************************************ **************************************

Menukar Alamat IP Keluar Postfix

Menukar Alamat IP Keluar Postfix

Apabila pelayan mempunyai lebih dari satu alamat IP yang diberikan kepadanya, Postfix secara rawak memilih alamat IP untuk e-mel keluar. Perilaku Postfix lalai ini dapat menghasilkan keputusan

Syarat untuk Memuat naik OS ISO ke Vultr

Syarat untuk Memuat naik OS ISO ke Vultr

Vultr menawarkan pelbagai jenis sistem operasi untuk dipilih. Namun, kadangkala, anda mungkin mahu memuat naik sistem operasi ISO anda sendiri seperti Kal

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut