Sunucu Bilgisi Almak İçin Vultr Go Kitaplığı Nasıl Kullanılır

Giriş

Resmi Vultr Go kütüphanesi , Vultr API'sı ile etkileşim kurmak için kullanılabilir . Vultr API'si, sunucular, dns, güvenlik duvarı, anlık görüntüler, ağ ve daha fazlası dahil olmak üzere hesabınızla ilişkili kaynakları kontrol etmenizi sağlar. Bu eğitimde, sunucularınız hakkında bilgi almak için basit bir uygulama oluşturarak resmi Go API istemcisini kullanma hakkında bir giriş yapılacaktır.

Ön şartlar

  • Go 1.12+ yüklü Windows, Linux veya macOS çalıştıran bir bilgisayar.
  • Temel programlama bilgisi.
  • İsteğe bağlı: Go özelliğini destekleyen bir IDE (örneğin, Visual Studio Code, emacs veya Atom).

Hedefler

  • Resmi Vultr API kitaplığının nasıl kullanılacağını öğrenmek.
  • Sunucu bilgilerini görüntülemek üzere bir program yazmak için.

1. Adım: Projeyi oluşturma

İlk olarak, yeni bir modül (proje) oluşturarak başlayacağız. Genellikle, kodun bir havuzunun URL'sini modül adı olarak kullanırsınız, ancak bu öğreticinin kapsamı dışındadır. Şimdilik , modül adı olarak serverinfo kullanacağız .

Projeyi oluşturmak için aşağıdaki komutları çalıştırın:

# Create the folder in the current directory.
mkdir serverinfo

# Enter the new folder.
cd serverinfo

# Initialize the module.
go mod init serverinfo

Adım 2: Kütüphaneyi indirme

Ardından, API kütüphanesini GitHub'dan (bir kod barındırma sitesi) indireceğiz. Kitaplıkları indirmek için go getkomutu kullanmanız gerekir . Böylece kütüphane ve bağımlılıkları go.mod dosyasına eklenirken otomatik olarak indirilir . Daha önce açtığınız terminalde aşağıdaki komutu girin:

go get github.com/vultr/govultr

3. Adım: API anahtarınızı alma

API istemcisini kullanmak için API anahtarınıza ihtiyacınız olacaktır. API anahtarınızı Gösterge Tablonuzun Hesap bölümünün API sekmesinden alabilirsiniz . Ayrıca API anahtarınızı kullanmak için IP adresinizi yetkilendirmeniz gerekir. IP adresinizi ifconfig.me adresine giderek bulabilirsiniz . Özel IP'nizi değil, genel IP'nizi aradığınızı unutmayın . Özel IP'niz bilgisayarınızdaki ağ ayarlarınızda bulacağınız addır ve aşağıdaki CIDR aralıklarından birinde bulunur: 10.0.0.0/8 , 172.16.0.0/12 veya 192.168.0.0/16 .

IP adresinizi aldıktan sonra, Erişim Kontrolü bölümüne ekleyin . / İşaretinden sonraki kutuya yazın 32. /32netmask bir anlamdır 255.255.255.255. Bu, aralığa yalnızca IP'nizin dahil olduğu anlamına gelir.

Uyarı: API anahtarınızı şifrenizi koruyacak şekilde koruyun. API anahtarı, faturalandırma, sunucular ve depolama dahil tüm hesabınıza erişebilir.

Adım 4: Program dosyasını oluşturma

Şimdi program üzerinde çalışmaya başlayacağız. Editör seçiminizde oluşturduğumuz klasörü açın ve adlı bir dosya oluşturun main.go.

Dosyanın içine aşağıdaki kodu yazın veya kopyalayıp yapıştırın:

package main

import (
    "context"
    "fmt"
    "os"

    "github.com/vultr/govultr"
)

func main() {

}

package mainBiz komutu, bir kütüphane yaratmakta olduğu Git söyler. İçe aktarma ifadesi, kullanacağımız bağımlılıkları beyan eder. func main()programımızı çalıştırdığımızda çağrılan işlevdir.

5. Adım: API istemcisini başlatma

Bir sonraki adım API istemcisini başlatmaktır. Bunu yapmak için govultr.NewClient (http.Client, string) işlevini kullanmamız gerekir . Main () işlevinin içine aşağıdaki kodu ekleyin :

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

YOURAPIKEYDaha önce aldığınız API anahtarıyla değiştirin .

Bu koda biraz daha yakından bakalım. Sol tarafında, :=var client. Bu bir değişkenin adıdır . Değişken değerleri saklar. Sağ tarafta, govultr.NewClient işlev çağrısına sahibiz . İlk parametre nil'dir, çünkü varsayılan HTTP istemcisini değiştirmemiz gerekmez. İkinci parametre, kendimizi doğrulamak için kullandığımız API anahtarıdır. :=Operatör, bu durumda, işlev çağrısının sonucunu sol tarafa doğru yüzünü atar client.

6. Adım: API'yı kullanma

Programımız henüz bir şey yapmıyor. Yararlı hale getirmek için Vultr'dan sunucularımız hakkında bilgi alacağız. Biz kullanır govultr.Client.Server.List (context.Context) ([] govultr.Server, hatası) fonksiyonu. Main () işlevinin sonuna aşağıdaki kodu ekleyin :

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

Bu kodda, sunucu bilgilerini almak için API işlevini çağırıyoruz. Daha gelişmiş bir konu olduğu için henüz bağlamın anlamı hakkında endişelenmeyin . Şimdilik bilmemiz gereken tek şey, bağlamın API istemcisinin nasıl çalıştığını denetlediği. context.Background () boş bir bağlam döndürür . Biz iki değişken, içine sunucu bilgilerini almak sonra sunucular ve err bir hata varsa, biz kontrol edin. Öyleyse, kullanıcıyı hatayı bildirir ve kod 1 (hata) ile çıkarız.

Adım 7: Bilgileri gösterme

Artık sunucu değişkeninde ( [] govultr.Server ) bir dizi sunucu bulunduğuna göre, bunu gerçekten görüntüleyebiliriz. Main () işlevinin sonuna aşağıdaki kodu ekleyin :

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

İlk olarak, bir başlık yazdırırız (görüntüler) Servers:. Daha sonra, dizini atayarak dizini yok sayarak ve geçerli sunucuyu sunucu değişkenine atayarak, sunucular dizisi üzerinde döngü yaparız . Döngünün içinde sunucunun etiketini, IP adresini, konumunu, bekleyen ücretleri, geçerli bant genişliğini ve izin verilen bant genişliğini gösteririz. Bunu etkili bir şekilde yapmak için, biçim dizeleri gibi görünen dize kullanırız . Bir sonraki dizgiyi değiştirmek için araçlar, bir sonraki kayan nokta (ondalık sayı) yazdırmak için araçlar 2 ondalık basamağa yuvarlanır. Biçim dizisinin geri kalanı tam anlamıyla yazdırılır (olduğu gibi)._" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n"%s%.2f

Adım 8: Koşu

Bu noktada, kodunuz aşağıdaki gibi görünmelidir:

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

Şimdi kodu çalıştırabiliriz. Daha önce açtığımız terminale dönün ve komutu girin go run. Çıktı aşağıdakine benzer:

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

Bir hata alırsanız, API anahtarınızın ve IP adresinizin doğru olduğundan emin olun.

Sonuç

Bu noktada, resmi API istemcisini nasıl kullanacağınızla ilgili temel bilgileri başarıyla öğrenmiş olacak ve hesabınızdaki sunucular hakkında bilgi görüntüleyen bir program yazmış olacaksınız.

Sonraki adımlar

Buradan daha fazlasını yapabilirsiniz. Örneğin, belleği az olduğunda yeni bir sunucu sağlamak için bir program yazabilirsiniz. Bant genişliği veya depolama alanı azaldığında sunucunuzu otomatik olarak yükseltmek için bir uygulama yazabilirsiniz. Mevcut IP'nize göre DNS kayıtlarını otomatik olarak güncellemek için bir araç bile yazabilirsiniz.

Govultr kütüphaneye ilgili daha fazla bilgi için, üzerinde govultr kütüphane belgeleri bulabilirsiniz godoc .

govultr açık kaynaklı bir projedir . Govultr'da herhangi bir hata bulursanız, bunları GitHub'da bildirebilirsiniz . Ayrıca, bir çekme isteği göndererek koda doğrudan katkıda bulunabilirsiniz .



Leave a Comment

CoreOSu Vultr VPSde Çalıştırma

CoreOSu Vultr VPSde Çalıştırma

Lütfen okuyun: Vultr artık sipariş sayfasında CoreOSu sunuyor - Bu kılavuzda CoreOSun manuel olarak nasıl kurulacağı açıklanmaktadır. Bu talimatlar koşu boyunca size yol gösterecektir

Vultr Denetim Masasında oturum açmak için İki Faktörlü Kimlik Doğrulamayı Kullanma

Vultr Denetim Masasında oturum açmak için İki Faktörlü Kimlik Doğrulamayı Kullanma

İki Faktörlü Kimlik Doğrulama veya 2FA, oturum açmak için ek bir kimlik doğrulama adımı gerektirerek güvenlik katmanı ekleyen bir tekniktir. Güçlü güvenlik için

Bir OS ISOyu Vultra Yükleme Gereksinimleri

Bir OS ISOyu Vultra Yükleme Gereksinimleri

Vultr, aralarından seçim yapabileceğiniz çok çeşitli işletim sistemleri sunar. Bununla birlikte, bazen, Kal gibi kendi özel işletim sistemi ISOnuzu yüklemek isteyebilirsiniz.

VPSnize İkincil IPv4 Adresi Ekleme

VPSnize İkincil IPv4 Adresi Ekleme

Bu eğiticide Vultr VPSnize nasıl ek bir IPv4 adresi ayarlanacağı açıklanmaktadır. Aşağıdakileri varsayacağız: VPSnizin Ana IP Adresi 1.2.3.4tür.

Ubuntu 16.04 Images EC2 Meta Veri Hizmeti Hakkında Hataları Bildir

Ubuntu 16.04 Images EC2 Meta Veri Hizmeti Hakkında Hataları Bildir

Önyükleme sonrasında bazı eski Ubuntu 16.04 bulut sunucuları aşağıdaki uyarıyı gösterebilir: ************************************ **************************************

VPSniz için İzleme Çözümleri

VPSniz için İzleme Çözümleri

Bu makalede, Vultr sunucunuz için kullanılabilen izleme çözümlerinin bir seçimi hakkında bilgi edineceksiniz. İşletim sistemi seçiminize bağlı olarak,

Sanal Sunucuyu Vultr ile Klonlama

Sanal Sunucuyu Vultr ile Klonlama

Bazen, sanal bir sunucuyu ölçeklendirme amacıyla ya da sunucunun bölgesini değiştirmek için klonlamanız gerekir. Vultrda bu kolay,

Kayan IP ve BGP ile Vultrda Yüksek Kullanılabilirlik

Kayan IP ve BGP ile Vultrda Yüksek Kullanılabilirlik

Vultr, yüksek kullanılabilirlik elde etmek için iki özelliğimizi (Yüzen IPler ve BGP) birleştirmenize izin verir. Kurulum Sam iki örneğe ihtiyacınız olacak

Vultr VPSnize Nasıl Erişilir

Vultr VPSnize Nasıl Erişilir

Vultr, yapılandırmak, kurmak ve kullanmak için VPSnize erişmek için birkaç farklı yol sunar. Erişim Kimlik Bilgileri VPS sisteminiz için varsayılan erişim kimlik bilgileri

VirtIO Sürücülü Windows Özel ISO

VirtIO Sürücülü Windows Özel ISO

Windows ISOyu oluşturma (Yalnızca sunucu sürümleri) Windows için ISO dosyası olarak paketlenmiş en yeni ikili VirtIO sürücülerini edinin

BGP Duyuruları için Örnek Yetkilendirme Mektubu

BGP Duyuruları için Örnek Yetkilendirme Mektubu

BGP duyuruları için yetki isterken lütfen aşağıdaki şablonu kullanın. YETKİ MEKTUBU [TARİH] Endişe duyabileceği, Thi

Vultr WHMCS Modülü

Vultr WHMCS Modülü

Not: Vultr WHMCS Modül Modülünü Kurmadan önce lütfen bu belgeyi tam olarak okuyun Bilgi Sürümü: 2.0.0 (Güncelleme) Çıkış Tarihi: 25 Haziran 2019

Vultrda BGPyi yapılandırma

Vultrda BGPyi yapılandırma

Vultrs BGP özelliği kendi IP alanınızı getirmenize ve konumlarımızdan herhangi birinde kullanmanıza olanak tanır. Başlarken BGPyi kullanmak için şunlara ihtiyacınız vardır: Dağıtılmış bir Vult

SSH Anahtarlarını Nasıl Üretirim?

SSH Anahtarlarını Nasıl Üretirim?

SSH Anahtarı, parola gerekmeden sunucunuza oturum açmanıza olanak tanır. SSH Anahtarları, yükleme işlemi sırasında sunuculara otomatik olarak eklenebilir.

Windows Server Yönetici Parolasını Sıfırla

Windows Server Yönetici Parolasını Sıfırla

Windowsta yerel yönetici şifrenizi unuttuğunuz ve sıfırlamanız gereken zamanlar vardır. Bu şifreyi sıfırlamak kolayca mümkündür i

Windows Server Örneğinde Windows Sesini Etkinleştirme

Windows Server Örneğinde Windows Sesini Etkinleştirme

Not: Bu kılavuz, Windows 2012 R2 ve Windows 2016 örnekleri için çalışacaktır. Windows Sunucuları varsayılan olarak Windows Ses hizmetini etkinleştirmez.

Postfix Giden IP Adresini Değiştirme

Postfix Giden IP Adresini Değiştirme

Bir sunucuya atanmış birden fazla IP adresi olduğunda, Postfix giden e-postalar için rastgele bir IP adresi seçer. Bu varsayılan Postfix davranışı,

Cloudflare Güvenlik Olayı Raporu

Cloudflare Güvenlik Olayı Raporu

Önemli Güvenlik Bildirimi: Bildiğiniz gibi Vultr, web sitemizin dünyadaki hızını artırmak ve web sitelerini korumak için Cloudflares CDN ürününü kullanıyor

Anlık Görüntü Geri Yükleme Sonrası Ağ Yapılandırmasını Düzeltme

Anlık Görüntü Geri Yükleme Sonrası Ağ Yapılandırmasını Düzeltme

Anlık görüntüyü yeni bir makineye geri yükledikten sonra, ağ bağdaştırıcısının MAC adresinin değişmesinden kaynaklanan sorunlarla karşılaşabilirsiniz. Genellikle, ağ

Tek seferlik

Tek seferlik

Kurumsal giriş sisteminiz Tek Oturum Açma (TOA) özelliği kullanılarak Vultrs hesap sistemiyle entegre edilebilir. TOA, şifre yönetimini basitleştirmeye yardımcı olur

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun