Как установить Golang 1.8 на Ubuntu 16.04
Go (Golang) - это современный язык программирования, разработанный в Google и ориентированный на простоту и безопасность. Это стало популярным языком, используемым для сервера-sid
В этом руководстве объясняется, как создать Vultr Object Storage в приложении Go с помощью клиента Vultr Go . Vultr Object Storage совместим с S3 API.
Клиент 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.
Go (Golang) - это современный язык программирования, разработанный в Google и ориентированный на простоту и безопасность. Это стало популярным языком, используемым для сервера-sid
Golang - это язык программирования, разработанный Google. Благодаря своей универсальности, простоте и надежности, Голанг стал одним из самых популярных
Go (также известный как Golang) - это статически типизированный, скомпилированный, C-подобный язык программирования, разработанный Google. Gos простота и универсальность сделали это б
Требования Базовые знания UNIX. FreeBSD x64 с установленным Nginx. Инструменты для установки Вам понадобятся несколько программ, которые не поставляются с FreeBSD. Ру
Golang - это язык программирования, разработанный Google, который сохранил традиции C, но сосредоточился на простоте и безопасности. Это стало популярным языком
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше