Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
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.
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
Seterusnya, kami akan memuat turun perpustakaan API dari GitHub (tapak hosting kod). Untuk memuat turun perpustakaan, anda perlu menggunakan go get
arahan 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
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
. /32
adalah 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.
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 main
Go 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 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 YOURAPIKEY
dengan 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
.
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).
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 %.2f
cara untuk mencetak float seterusnya (nombor perpuluhan) bulat ke 2 tempat perpuluhan. Selebihnya rentetan format dicetak secara literal (as-is).
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.
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.
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 .
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
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'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
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 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?
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.
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!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
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