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

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