Vultr Go İstemcisi ile Vultr Nesne Depolaması Oluşturma

Giriş

Bu kılavuz , Vultr Go istemcisi ile Go uygulamanızda Vultr Nesne Deposu oluşturmayı açıklar . Vultr Nesne Depolama, S3 API ile uyumludur.

Ö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).

Vultr Go İstemcisi ile Nesne Deposu Oluşturma

Vultr Git istemcisi ile etkileşim için kullanılan Vultr API . Vultr API, hesabınızla ilişkili Vultr Nesne Depolaması da dahil olmak üzere kaynakları kontrol etmenizi sağlar. Vultr Go istemcisi hakkında ayrıntılı bilgi bu makalede bulunmaktadır .

Proje Klasörünü Oluşturma

Geçerli dizinde klasör oluşturun.

$ mkdir vultr_demo

Yeni klasörü girin.

$ cd vultr_demo

Modülü başlat

$ go mod init vultr_demo

Kütüphaneyi İndirin

$ go get github.com/vultr/govultr

API Anahtar Ortamı Değişkenini Ayarlama

VULTR_API_KEY ortam değişkenini API anahtarınıza ayarlayın. API anahtarınız burada bulunur: https://my.vultr.com/settings/#settingsapi

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

Örneğin, Ubuntu Linux'ta bu satırı şuraya ekleyin ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

Git Programını Oluşturma

Aşağıdaki kod parçalarının her birini adlı yeni bir dosyaya yapıştırın main.go. Tam dosya da indirilebilir .

Paketi kurun ve gerekli kitaplıkları alın.

package main

import (
    "context"
    "log"
    "os"
    "time"

    "github.com/vultr/govultr"
)

main()İşlevi başlatın .

func main() {

API anahtarı ortam değişkenini okuyun.

var (
    // Get our Vultr API Key from an environment variable.
    VultrAPIKey = os.Getenv("VULTR_API_KEY")
)

Vultr istemcisini oluşturun.

// Create a Vultr client with our API Key.
vultr := govultr.NewClient(nil, VultrAPIKey)

Nesne Deposu oluşturmak için bir konum belirtin. Küme konumlarını alın, kullanılabilir bir konum olduğunu doğrulayın, bir küme seçin ve görüntüleyin.

// Find the clusters we can create our Object Storage in.
clusters, err := vultr.ObjectStorage.ListCluster(ctx)
if err != nil {
    log.Fatalf("Error listing clusters: %s", err)
}

// Verify there's at least one cluster.
if len(clusters) < 1 {
    log.Fatal("Could not find any clusters to create our Object Storage")
}

// Choose the first cluster, and print it.
cluster := clusters[0]
log.Printf("Chosen cluster: %+v", cluster)

Seçilen kümede Nesne Deposu oluşturun.

// Create our Object Storage in the first cluster listed with our custom label.
label := "my-object-storage"
storageID, err := vultr.ObjectStorage.Create(ctx, cluster.ObjectStoreClusterID, label)
if err != nil {
    log.Fatalf("Error creating storage: %s", err)
}

log.Printf("Created our Object Storage with the ID: %d", storageID.ID)

Nesne Deposu etkin olana kadar bekleyin.

var storage govultr.ObjectStorage

// Query the API every five seconds to until our server is ready.
for {
    // List all of the Object Storage containers with our label and include the S3 credentials.
    list, err := vultr.ObjectStorage.List(ctx, &govultr.ObjectListOptions{
        Label:     label,
        IncludeS3: true,
    })
    if err != nil {
        log.Fatalf("Error listing storage with label \"%s\": %s", label, err)
    }

    // Make sure we found one (and only one) Object Storage container.
    if len(list) != 1 {
        log.Fatalf("%d object storage containers exist with the label \"%s\"; we need 1", len(list), label)
    }

    storage = list[0]

    // If the server is active, break out of this loop.
    if storage.Status == "active" {
        break
    }

    // Wait for five seconds before querying the API again.
    log.Printf("The Object Storage's status is currently \"%s\", waiting for another five seconds to check if it's \"active\".", storage.Status)
    time.Sleep(time.Second * 5)
}

Uç nokta adını ve bağlantı kimlik bilgilerini görüntüleyin.

// Print the information of our new Object Storage.
log.Print("Successfully created and listed our Object Storage!")
log.Printf("Object Storage: %+v", storage)

// We also have S3 credentials here now, so we could open an S3 compatible client.
log.Printf("S3 credentials: %s - %s - %s", storage.S3Hostname, storage.S3AccessKey, storage.S3SecretKey)

Ana işlevi sonlandırın.

// end main()
}

Tamamlanan main.godosyayı kaydedin ve çalıştırın .

go run main.go

Örnek Çıktı

2020/03/03 13:05:48 Chosen cluster: {ObjectStoreClusterID:2 RegionID:1 Location:New Jersey Hostname:ewr1.vultrobjects.com Deploy:yes}
2020/03/03 13:05:48 Created our Object Storage with the ID: xxxxxxxx
2020/03/03 13:05:49 The Object Storage's status is currently pending, waiting for another five seconds to check if it's active.
2020/03/03 13:06:06 Object Storage: {ID:34214512 DateCreated:2020-03-03 13:05:47 ObjectStoreClusterID:2 RegionID:1 Location:New Jersey Label:my-object-storage Status:active S3Keys:{S3Hostname:ewr1.vultrobjects.com S3AccessKey:[REDACTED ACCESS KEY] S3SecretKey:[REDACTED SECRET KEY]}}
2020/03/03 13:06:06 S3 credentials: ewr1.vultrobjects.com - [REDACTED ACCESS KEY] - [REDACTED SECRET KEY]

Bu örnekte, uç nokta adı ewr1.vultrobjects.com'dur ve anahtarlar düzeltilmiştir. Git programınız tarafından gösterilen uç nokta adını, erişim anahtarını ve gizli anahtarı kullanarak herhangi bir S3 uyumlu istemciyle yeni nesne depolama alanınıza erişin.



Leave a Comment

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

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?