CentOS 8, Ubuntu 18.04, Debian 10 및 Fedora 31에 Golang 1.13을 설치하는 방법 31
Go (Golang이라고도 함)는 Google에서 개발 한 정적으로 형식이 지정된 컴파일 된 C 유사 프로그래밍 언어입니다. 단순성과 다목적 성으로 인해 b가되었습니다.
이 안내서는 Vultr Go 클라이언트를 사용하여 Go 애플리케이션에서 Vultr 오브젝트 스토리지 를 작성하는 방법을 설명합니다 . Vultr Object Storage는 S3 API와 호환됩니다.
Vultr 이동 클라이언트 와 상호 작용하는 데 사용되는 Vultr의 API . 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이며 키는 수정되었습니다. Go 프로그램에 표시된 엔드 포인트 이름, 액세스 키 및 비밀 키를 사용하여 S3 호환 클라이언트로 새 오브젝트 스토리지에 액세스하십시오.
Go (Golang이라고도 함)는 Google에서 개발 한 정적으로 형식이 지정된 컴파일 된 C 유사 프로그래밍 언어입니다. 단순성과 다목적 성으로 인해 b가되었습니다.
Golang은 Google에서 개발 한 프로그래밍 언어입니다. 다목적 성, 단순성 및 신뢰성으로 인해 Golang은 가장 대중적인 사람 중 하나가되었습니다.
Golang은 Google에서 개발 한 프로그래밍 언어로 C의 전통은 유지하지만 단순성과 안전에 중점을 둡니다. 그것은 인기있는 언어가되었습니다
Go (Golang)는 Google에서 개발 한 현대적인 프로그래밍 언어이며 단순성과 안전에 중점을 둡니다. server-sid에 널리 사용되는 언어가되었습니다.
요구 사항 UNIX에 대한 기본 지식. Nginx가 설치된 FreeBSD x64. 설치 도구 FreeBSD와 함께 제공되지 않는 여러 프로그램이 필요합니다. 루
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.
Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구