ایجاد حافظه Vultr Object With Vultr Go Client

معرفی

در این راهنما نحوه ایجاد Vultr Object Storage در برنامه Go با مشتری Vultr Go توضیح داده شده است . Vultr Object Storage با S3 API سازگار است.

پیش نیازها

  • رایانه ای که ویندوز ، لینوکس یا macOS با Go 1.12+ نصب کرده است.
  • دانش پایه برنامه نویسی.
  • اختیاری: یک IDE که از Go پشتیبانی می کند (به عنوان مثال کد ویژوال استودیو ، emac ها یا Atom).

ایجاد فضای ذخیره سازی شیء با Vultr Go Client

مشتری Vultr برو استفاده می شود برای تعامل با API Vultr . Vultr API به شما اجازه می دهد تا منابع مرتبط با حساب خود ، از جمله Vultr Object Storage را کنترل کنید. اطلاعات دقیق در مورد مشتری Vultr Go در این مقاله موجود است .

پوشه پروژه را ایجاد کنید

پوشه را در فهرست موجود ایجاد کنید.

$ mkdir vultr_demo

پوشه جدید را وارد کنید.

$ cd vultr_demo

ابتدا ماژول را شروع کنید

$ go mod init vultr_demo

کتابخانه را بارگیری کنید

$ go get github.com/vultr/govultr

متغیر API Key Environment Variable را تنظیم کنید

متغیر محیط VULTR_API_KEY را روی کلید API خود تنظیم کنید. کلید API شما در اینجا یافت می شود: https://my.vultr.com/settings/#settingsapi

هشدار: از کلید API خود محافظت کنید مانند رمز عبور خود محافظت می کند. کلید API به کل حساب شما ، از جمله صورتحساب ، سرورها و ذخیره سازی دسترسی دارد.

به عنوان مثال ، در Ubuntu Linux ، این خط را به آن اضافه کنید ~/.profile.

export VULTR_API_KEY=YOUR_API_KEY_HERE

برنامه Go را ایجاد کنید

هر یک از قطعات کد زیر را در یک پرونده جدید به نام قرار دهید main.go. فایل کامل نیز برای بارگیری در دسترس است .

بسته را تنظیم کرده و کتابخانه های مورد نیاز را وارد کنید.

package main

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

    "github.com/vultr/govultr"
)

main()عملکرد را شروع کنید .

func main() {

متغیر محیط کلید API را بخوانید.

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

مشتری Vultr را ایجاد کنید.

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

مکانی را برای ایجاد فضای ذخیره سازی مشخص کنید. مکانهای خوشه را بازیابی کنید ، تأیید کنید که یکی در دسترس است ، یک خوشه را انتخاب کنید و آن را نمایش دهید.

// 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)

Object Storage را در خوشه انتخاب شده ایجاد کنید.

// 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)

صبر کنید تا Object Storage فعال شود.

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

نام پایان نامه و اعتبارنامه اتصال را نمایش دهید.

// 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)

عملکرد اصلی را پایان دهید.

// end main()
}

main.goپرونده تکمیل شده را ذخیره و اجرا کنید.

go run main.go

خروجی مثال

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]

در این مثال ، نام endpoint ewr1.vultrobjects.com است ، و کلیدها redact می شوند. با استفاده از نام انتهایی ، کلید دسترسی و کلید مخفی نشان داده شده توسط برنامه Go خود ، به هر شیء سازگار S3 با حافظه سازگار با S3 دسترسی پیدا کنید.



Leave a Comment

نحوه نصب Golang 1.8 در اوبونتو 16.04

نحوه نصب Golang 1.8 در اوبونتو 16.04

Go (Golang) یک زبان برنامه نویسی مدرن است که در گوگل ساخته شده و روی سادگی و ایمنی متمرکز شده است. این یک زبان محبوب است که برای سرور sid استفاده می شود

نحوه نصب Golang 1.13 در CentOS 8 ، Ubuntu 18.04 ، Debian 10 و Fedora 31

نحوه نصب Golang 1.13 در CentOS 8 ، Ubuntu 18.04 ، Debian 10 و Fedora 31

Go (همچنین با عنوان Golang شناخته می شود) یک زبان برنامه نویسی شبیه به C ، کامپایل شده و شبیه C است که توسط گوگل ساخته شده است. Gos سادگی و تطبیق پذیری آن را به b تبدیل کرده است

نحوه نصب Golang 1.8.3 در CentOS 7 ، Ubuntu 16.04 و Debian 9

نحوه نصب Golang 1.8.3 در CentOS 7 ، Ubuntu 16.04 و Debian 9

Golang یک زبان برنامه نویسی است که توسط گوگل ساخته شده است. به لطف تطبیق پذیری ، سادگی و قابلیت اطمینان ، Golang به یکی از پرجمعیت ترین کشورها تبدیل شده است

Nginx Reverse Proxy و Golang Setup در FreeBSD

Nginx Reverse Proxy و Golang Setup در FreeBSD

دانش اساسی UNIX. FreeBSD x64 با نصب Nginx. نصب ابزارها به چندین برنامه نیاز دارید که با FreeBSD ارسال نمی شوند. مس

نصب Golang در اوبونتو 14.04

نصب Golang در اوبونتو 14.04

Golang یک زبان برنامه نویسی است که توسط گوگل ایجاد شده است و سنت C را حفظ می کند ، اما روی سادگی و ایمنی تمرکز دارد. تبدیل به یک زبان اصلی محبوب شده است

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد