>  기사  >  백엔드 개발  >  Go에서 Google Cloud Platform을 어떻게 사용하나요?

Go에서 Google Cloud Platform을 어떻게 사용하나요?

PHPz
PHPz원래의
2023-05-11 15:28:541790검색

Google Cloud Platform(GCP)은 컴퓨팅, 스토리지, 네트워크, 데이터베이스, 인공지능 및 기타 서비스를 포함하여 Google이 제공하는 클라우드 컴퓨팅 서비스 플랫폼입니다. 이는 개발자가 고가용성, 성능 및 보안을 제공하는 동시에 애플리케이션을 더 빠르게 개발, 테스트 및 배포하는 데 도움이 됩니다.

Go 언어는 높은 성능과 좋은 동시성을 갖춘 프로그래밍 언어로서 클라우드 컴퓨팅 분야에서도 많은 주목을 받았습니다. 이 글에서는 개발 환경 설정 방법, GCP 서비스 연결 및 사용 방법 등 Go에서 GCP를 사용하는 방법을 소개합니다.

1. 개발 환경 설정

먼저 GCP 서비스를 이용하려면 GCP에 계정을 만들어야 합니다. 생성되면 GCP의 명령줄 도구인 gcloud를 사용하여 연결하고 구성할 수 있습니다.

  1. gcloud 설치

gcloud는 GCP에서 제공하는 명령줄 도구로, GCP 서비스를 연결하고 관리하는 데 사용할 수 있습니다. gcloud 설치 방법은 다음과 같습니다.

1) 먼저 https://cloud.google.com/sdk/에서 운영체제에 해당하는 gcloud SDK를 다운로드합니다.

2) 다운로드가 완료된 후 파일의 압축을 풀고 압축이 풀린 디렉터리를 환경 변수 PATH에 추가합니다.

3) 설치 성공 여부를 확인하려면 명령줄 도구에 다음 명령어를 입력하세요.

$ gcloud version

gcloud 버전 번호가 출력되면 설치가 성공한 것입니다.

  1. GCP 계정에 연결

gcloud를 설치한 후 이를 사용하여 GCP 계정에 연결할 수 있습니다. GCP 계정에 연결하는 방법은 다음과 같습니다.

1) 명령줄 도구에 다음 명령어를 입력합니다.

$ gcloud auth login

2) 그러면 gcloud가 브라우저에서 로그인 인터페이스를 열고 다음을 사용하여 로그인할 수 있습니다. GCP 계정.

3) 로그인 완료 후, GCP에 연결된 프로젝트를 확인해야 합니다. 연결하려는 GCP 프로젝트를 선택하고 허용을 클릭합니다.

연결이 성공하면 gcloud는 GCP 계정을 사용하여 GCP 서비스에 액세스할 수 있습니다. 다음 명령을 사용하여 연결이 성공했는지 확인할 수 있습니다.

$ gcloud config list

이 명령은 다른 구성과 함께 GCP 계정과 연결된 현재 프로젝트를 표시합니다.

2. GCP 서비스 사용

개발 환경이 설정되고 GCP 계정에 연결되면 Go에서 GCP 서비스를 사용할 수 있습니다. 여기에서는 GCP의 두 가지 서비스인 Cloud Storage와 Cloud Vision을 사용하는 방법을 소개합니다.

  1. Cloud Storage 사용하기

Cloud Storage는 다양한 유형의 데이터를 저장할 수 있도록 GCP에서 제공하는 객체 스토리지 서비스입니다.

Go 언어에서는 GCP의 저장소인 google.golang.org/cloud/storage를 사용하여 Cloud Storage에 연결하고 사용할 수 있습니다. 사용 단계는 다음과 같습니다.

1) google.golang.org/cloud/storage 설치:

$ go get google.golang.org/cloud/storage

2) 다음 코드 샘플을 사용하여 Cloud Storage 연결 및 사용 방법을 보여줍니다.

package main

import (
    "context"
    "fmt"
    "io/ioutil"
    "log"

    "google.golang.org/api/option"
    "google.golang.org/api/storage/v1"
)

func main() {
    // 定义GCP项目ID和GCP Bucket名称
    projectID := "my-project-id"
    bucketName := "my-bucket-name"

    // 使用gcloud配置文件来获取GCP凭据
    ctx := context.Background()
    client, err := storage.NewClient(ctx, option.WithoutAuthentication())
    if err != nil {
        log.Fatal(err)
    }

    // 下载文件
    objName := "file.txt"
    rc, err := client.Bucket(bucketName).Object(objName).NewReader(ctx)
    if err != nil {
        log.Fatal(err)
    }
    defer rc.Close()

    data, err := ioutil.ReadAll(rc)
    if err != nil {
        log.Fatal(err)
    }

    fmt.Printf("Content of %s: %s", objName, string(data))
}
  1. Cloud Vision 사용

Cloud Vision은 이미지와 동영상을 분석하여 유용한 정보를 추출하는 데 도움이 되는 GCP에서 제공하는 시각적 AI 서비스입니다.

Go 언어에서는 GCP의 저장소인 google.golang.org/genproto/googleapis/cloud/vision/v1을 사용하여 Cloud Vision에 연결하고 사용할 수 있습니다. 사용 단계는 다음과 같습니다.

1) google.golang.org/genproto/googleapis/cloud/vision/v1 설치:

$ go get google.golang.org/genproto/googleapis/cloud/vision/v1

2) 다음 코드 샘플을 사용하여 Cloud Vision 연결 및 사용 방법을 보여줍니다.

package main

import (
    "context"
    "fmt"
    "log"

    vision "google.golang.org/genproto/googleapis/cloud/vision/v1"
    "google.golang.org/api/option"
)

func main() {
    // 使用gcloud配置文件来获取GCP凭据
    ctx := context.Background()
    client, err := vision.NewImageAnnotatorClient(ctx, option.WithoutAuthentication())
    if err != nil {
        log.Fatal(err)
    }
    defer client.Close()

    // 加载图像
    imageURI := "gs://bucket-name/image_name.jpg"
    image := vision.NewImageFromURI(imageURI)

    // 进行图像注释
    annotation, err := client.DetectLabels(ctx, image, nil)
    if err != nil {
        log.Fatal(err)
    }

    // 输出图像标签
    for _, label := range annotation.LabelAnnotations {
        fmt.Printf("%s (score: %f)
", label.Description, label.Score)
    }
}

위는 Go를 사용한 것입니다. GCP를 사용한 언어 연결 및 서비스의 간단한 예입니다. 이 예는 이러한 서비스를 연결하고 사용하는 방법에 대한 기본적인 방법만 보여줍니다. 실제 응용 프로그램에서는 특정 상황에 따라 보다 풍부한 기능 확장 및 구현이 필요합니다.

위 내용은 Go에서 Google Cloud Platform을 어떻게 사용하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.