ホームページ >バックエンド開発 >Golang >Go で Google Cloud Platform を使用するにはどうすればよいですか?

Go で Google Cloud Platform を使用するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-05-11 15:28:541829ブラウズ

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の2つのサービス「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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。