Как да инсталирате Golang 1.8.3 на CentOS 7, Ubuntu 16.04 и Debian 9
Golang е език за програмиране, разработен от Google. Благодарение на своята гъвкавост, простота и надеждност, Golang се превърна в един от най-популярните
Това ръководство обяснява как да създадете Vultr Object Storage във вашето приложение Go с клиента Vultr Go . Vultr Object Storage е съвместим с API на S3.
На клиента Vultr Go се използва за взаимодействие с 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
Задайте променливата на средата VULTR_API_KEY на вашия API ключ. Вашият API ключ се намира тук: https://my.vultr.com/settings/#settingsapi
Предупреждение: Защитете своя API ключ, както бихте защитили паролата си. API ключът има достъп до целия ви акаунт, включително таксуване, сървъри и съхранение.
Например в Ubuntu Linux добавете този ред към ~/.profile
.
export VULTR_API_KEY=YOUR_API_KEY_HERE
Поставете всеки от следните кодови фрагменти в нов файл с име 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)
Създайте хранилището на обекти в избрания клъстер.
// 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)
Изчакайте, докато обектното съхранение е активно.
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]
В този пример името на крайната точка е ewr1.vultrobjects.com и ключовете са редактирани. Достъп до новото си хранилище за обекти с всеки клиент, съвместим със S3, като използвате името на крайната точка, ключа за достъп и секретния ключ, показани от вашата програма Go.
Golang е език за програмиране, разработен от Google. Благодарение на своята гъвкавост, простота и надеждност, Golang се превърна в един от най-популярните
Golang е език за програмиране, разработен от Google, който ще запази традициите на C, но се фокусира върху простотата и безопасността. Той се превърна в популярен език
Go (известен също като Golang) е статично въведен, компилиран, C-подобен език за програмиране, разработен от Google. Простотата и гъвкавостта на Gos го направиха до b
Изисквания Основни познания по UNIX. FreeBSD x64 с инсталиран Nginx. Инструменти за инсталиране Ще ви трябват няколко програми, които не се доставят с FreeBSD. Ru
Go (Golang) е модерен език за програмиране, разработен в Google и фокусиран върху простотата и безопасността. Той се превърна в популярен език, използван за сървърна страна
Въведение Това ръководство обяснява как да създадете Vultr Object Storage във вашето Go приложение с клиента Vultr Go. Vultr Object Storage е съвместим с остроумие
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече