

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SDK for Go の開始方法
<a name="getting-started"></a>

 AWS SDK for Go を使用するには、Go 1.23 以上のバージョンが必要です。次のコマンドを実行することで、Go の現在のバージョンを確認できます。

```
go version
```

 Go のインストールやアップグレードの方法については、Go のドキュメントの「[Download and install](https://go.dev/doc/install)」を参照してください。

## Amazon アカウントを取得する
<a name="get-an-amazon-account"></a>

 AWS SDK for Go v2 を使用するには、Amazon アカウントが必要です。詳細については、「[AWS アカウントを作成する](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-creating.html)」を参照してください。

## AWS SDK for Go v2 をインストールする
<a name="install-the-aws-sdk-for-go-v2"></a>

 AWS SDK for Go v2 は Go モジュールを使用します。これは Go 1.11 で導入された機能です。次の Go コマンドを実行してローカルプロジェクトを初期化します。

```
go mod init example
```

 Go モジュールプロジェクトを初期化した後、`go get` コマンドを使用して SDK とその必要な依存関係を取得できるようになります。これらの依存関係は、前のコマンドで作成された `go.mod` ファイルに記録されます。

 次のコマンドは、アプリケーションで使用する標準的な SDK モジュール群の取得方法を示しています。

```
go get github.com/aws/aws-sdk-go-v2
go get github.com/aws/aws-sdk-go-v2/config
```

 これにより、コア SDK モジュールと、AWS 共有設定のロードに使用される設定モジュールが取得されます。

 次に、アプリケーションに必要な 1 つ以上の AWS サービス API クライアントをインストールできます。すべての API クライアントは `github.com/aws/aws-sdk-go-v2/service` インポート階層下にあります。現在サポートされている API クライアントの一覧は[こちら](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service)で確認できます。サービスクライアントをインストールするには、次のコマンドを実行してモジュールを取得し、依存関係を `go.mod` ファイルに記録します。この例では、Amazon S3 API クライアントを取得します。

```
go get github.com/aws/aws-sdk-go-v2/service/s3
```

## AWS アクセスキーを取得する
<a name="get-your-aws-access-keys"></a>

 アクセスキーはアクセスキー ID とシークレットアクセスキーから成り、AWS に対するプログラムによるリクエストに署名するときに使用されます。アクセスキーがない場合は、[AWS マネジメントコンソール](https://console.aws.amazon.com/console/home)を使用して作成できます。AWS ルートアカウントのアクセスキーの代わりに、IAM のアクセスキーを使用することをお勧めします。IAM では、AWS アカウントでの AWS サービスとリソースへのアクセスを安全に制御できます。

**注記**  
アクセスキーを作成するには、必要な IAM アクションを実行するためのアクセス許可が必要です。詳細については、「IAM ユーザーガイド」の「[IAM リソースにアクセスするために必要なアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html)」を参照してください。

### アクセスキー ID とシークレットアクセスキーを取得するには:
<a name="to-get-your-access-key-id-and-secret-access-key"></a>

1.  [[IAM コンソール]](https://console.aws.amazon.com/iam/home) を開きます。

1.  ナビゲーションメニューで [**ユーザー**] を選択します。

1.  IAM ユーザー名 (チェックボックスではありません) を選択します。

1.  [**認証情報**] タブを開き、次に [**アクセスキーの作成**] を選択します。

1.  新しいアクセスキーを表示するには、[**表示**] を選択します。認証情報は次のようになります。
   +  アクセスキー ID: `AKIAIOSFODNN7EXAMPLE` 
   +  シークレットアクセスキー: `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` 

1.  キーペアをダウンロードするには、[**Download .csv file.csv (.csv ファイルのダウンロード)**] を選択します。このキーは安全な場所に保存してください。

**警告**  
 AWS アカウントを保護するために、これらのキーは厳重に管理し、組織外の誰とも共有しないでください。

### 関連トピック
<a name="related-topics"></a>
+  「IAM ユーザーガイド」の「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」。
+  「Amazon Web Services 全般的なリファレンス」の「[AWS セキュリティの認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html)」。

## オペレーションを呼び出す
<a name="invoke-an-operation"></a>

 SDK をインストールした後、Go アプリケーションに AWS パッケージをインポートすることで SDK を使用できます。次の例では、AWS、Config、および Amazon S3 ライブラリをインポートしています。SDK パッケージをインポートした後、AWS SDK の共有設定がロードされ、クライアントが作成されて、API オペレーションが呼び出されます。

```
package main

import (
    "context"
    "log"
    "github.com/aws/aws-sdk-go-v2/aws"
    "github.com/aws/aws-sdk-go-v2/config"
    "github.com/aws/aws-sdk-go-v2/service/s3"
)

func main() {
    // Load the Shared AWS Configuration (~/.aws/config)
    cfg, err := config.LoadDefaultConfig(context.TODO())
    if err != nil {
        log.Fatal(err)
    }

    // Create an Amazon S3 service client
    client := s3.NewFromConfig(cfg)

    // Get the first page of results for ListObjectsV2 for a bucket
    output, err := client.ListObjectsV2(context.TODO(), &s3.ListObjectsV2Input{
        Bucket: aws.String("amzn-s3-demo-bucket"),
    })
    if err != nil {
        log.Fatal(err)
    }

    log.Println("first page results")
    for _, object := range output.Contents {
        log.Printf("key=%s size=%d", aws.ToString(object.Key), *object.Size)
    }
}
```