

# タグ付きディレクトリバケットを作成する
<a name="directory-bucket-create-tag"></a>

Amazon S3 ディレクトリバケットは、作成時にタグ付けできます。ディレクトリバケットでタグを使用することによる追加料金は、標準の S3 API リクエスト料金を超えて発生しません。詳細については、「[Amazon S3 の料金](https://docs.aws.amazon.com/s3/pricing/)」を参照してください。ディレクトリバケットのタグ付けの詳細については、「[S3 ディレクトリバケットでのタグの使用](directory-buckets-tagging.md)」を参照してください。

## アクセス許可
<a name="create-tag-permissions"></a>

タグ付きディレクトリバケットを作成するには、次のアクセス許可が必要です。
+ `s3express:CreateBucket`
+ `s3express:TagResource`

## エラーのトラブルシューティング
<a name="create-tag-troubleshooting"></a>

タグ付きディレクトリバケットを作成しようとしたときにエラーが発生した場合は、以下を実行できます。
+ ディレクトリバケットを作成し、それにタグを追加するために必要な [アクセス許可](#create-tag-permissions) アクセス許可があることを確認します。
+ 属性ベースのアクセス制御 (ABAC) 条件については、IAM ユーザーポリシーを確認してください。ディレクトリバケットには、特定のタグキーと値のみを使用してラベルを付ける必要がある場合があります。詳細については、「[属性ベースのアクセス制御 (ABAC) のタグを使用する](tagging.md#using-tags-for-abac)」を参照してください。

## Steps
<a name="create-tag-steps"></a>

Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、Amazon S3 REST API、AWS SDK を使用して、タグを適用したディレクトリバケットを作成できます。

## S3 コンソールの使用
<a name="directory-bucket-create-tag-console"></a>

Amazon S3 コンソールを使用してタグ付きディレクトリバケットを作成するには

1. Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) にサインインします。

1. 左のナビゲーションペインで、**[ディレクトリバケット]** を選択します。

1. 新しいバケットを作成するには、**[バケットの作成]** を選択します。

1. 次の 2 種類のディレクトリバケットを作成できます。

   高性能ワークロードのアベイラビリティーゾーンにディレクトリバケットを作成します。詳細については、「[高性能ワークロード](directory-bucket-high-performance.md)」を参照してください。

   データレジデンシーワークロードのローカルゾーンにディレクトリバケットを作成します。詳細については、「[データレジデンシーワークロード](directory-bucket-data-residency.md)」を参照してください。

1. どちらのタイプのディレクトリバケットでも、**[バケットの作成]** ページで、**[タグ]** は新しいディレクトリバケットを作成する際のオプションです。

1. バケットの名前を入力します。詳細については、「[ディレクトリバケットの命名規則](directory-bucket-naming-rules.md)」を参照してください。

1. **[新しいタグを追加]** を選択してタグエディタを開き、タグのキーと値のペアを入力します。タグキーは必須ですが、値はオプションです。

1. 別のタグを追加するには、**[新しいタグを追加]** を再度選択します。最大 50 個のタグのキーと値のペアを入力できます。

1. 新しいディレクトリバケットのオプションを指定したら、**[バケットの作成]** を選択します。

## AWS SDK の使用
<a name="directory-bucket-create-tag-sdks"></a>

------
#### [ SDK for Java 2.x ]

AWS SDK for Java 2.x を使用してタグ付きディレクトリバケットを作成する方法は、次の例のとおりです。このコマンドを使用する際は、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.BucketInfo;
import software.amazon.awssdk.services.s3.model.BucketType;
import software.amazon.awssdk.services.s3.model.CreateBucketConfiguration;
import software.amazon.awssdk.services.s3.model.CreateBucketRequest;
import software.amazon.awssdk.services.s3.model.CreateBucketResponse;
import software.amazon.awssdk.services.s3.model.DataRedundancy;
import software.amazon.awssdk.services.s3.model.LocationInfo;
import software.amazon.awssdk.services.s3.model.LocationType;
import software.amazon.awssdk.services.s3.model.Tag;

public class CreateBucketWithTagsExample {
    public static void createBucketWithTagsExample() {
        S3Client s3 = S3Client.builder().region(Region.US_WEST_2).build();

        CreateBucketConfiguration bucketConfiguration = CreateBucketConfiguration.builder()
                .location(LocationInfo.builder()
                        .type(LocationType.AVAILABILITY_ZONE)
                        .name("usw2-az1").build())
                .bucket(BucketInfo.builder()
                        .type(BucketType.DIRECTORY)
                        .dataRedundancy(DataRedundancy.SINGLE_AVAILABILITY_ZONE)
                        .build())
                .tags(Tag.builder().key("MyTagKey").value("MyTagValue").build())
                .build();

        CreateBucketRequest createBucketRequest = CreateBucketRequest.builder()
                .bucket("amzn-s3-demo-bucket--usw2-az1--x-s3--usw2-az1--x-s3")
                .createBucketConfiguration(bucketConfiguration)
                .build();

        CreateBucketResponse response = s3.createBucket(createBucketRequest);
        System.out.println("Status code (should be 200):");
        System.out.println(response.sdkHttpResponse().statusCode());
    }
}
```

------

## REST API の使用
<a name="directory-bucket-tag-delete-api"></a>

Amazon S3 REST API でのタグ付きディレクトリバケット作成のサポートの詳細については、「*Amazon Simple Storage Service API リファレンス*」の次のセクションを参照してください。
+ [:CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)

## の使用AWS CLI
<a name="directory-bucket-create-tag-cli"></a>

AWS CLI をインストールする方法については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS CLI のインストール](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

以下の CLI の例は、AWS CLI を使用してタグ付きディレクトリバケットを作成する方法を示しています。このコマンドを使用する際は、*ユーザー入力用プレースホルダー*を独自の情報に置き換えます。

ディレクトリバケットを作成する際は、設定の詳細を指定して、`bucket-base-name--zone-id--x-s3` の命名規則を使用する必要があります。

**リクエスト:**

```
aws s3api create-bucket \
--bucket bucket-base-name--zone-id--x-s3 \
--create-bucket-configuration "Location={Type=AvailabilityZone,Name=zone-id},Bucket={DataRedundancy=SingleAvailabilityZone,Type=Directory},Tags=[{Key=mykey1,Value=myvalue1}, {Key=mykey2,Value=myvalue2}]"
```

**レスポンス:**

```
{
  "Location": "http://bucket--use1-az4--x-s3.s3express-use1-az4.us-east-1.amazonaws.com/"
}
```