

# 汎用バケットのアクセスポイントを介してオブジェクトをアップロードする
<a name="put-object-ap"></a>

このセクションでは、AWS マネジメントコンソール、AWS Command Line Interface、または REST API を使用して汎用バケットのアクセスポイントを介してオブジェクトをアップロードする方法について説明します。

## S3 コンソールの使用
<a name="put-object-ap-console"></a>

**AWS アカウント内のアクセスポイント経由でオブジェクトをアップロードするには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、アクセスポイントをリスト表示するリージョンを選択します。

1. コンソールの左側のナビゲーションペインで、**[アクセスポイント]** を選択します。

1. (オプション) アクセスポイントを名前で検索します。選択した AWS リージョンのアクセスポイントのみがここに表示されます。

1. 管理または使用するアクセスポイントの名前を選択します。

1. **[オブジェクト]** タブで、**[アップロード]** を選択します。

1. アップロードするファイルやフォルダをここにドラッグアンドドロップするか、**[ファイルを追加]** または **[フォルダの追加]** を選択します。
**注記**  
Amazon S3 コンソールを使用すると、アップロードできるファイルの最大サイズが 160 GB になります。160 GB を超えるファイルをアップロードするには、AWS Command Line Interface (AWS CLI)、AWS SDK、または Amazon S3 REST API を使用します。

1. アクセスコントロールリストの許可を変更するには、**[Permissions]** (許可) を選択します。

1. **[Access control list (ACL)]** (アクセスコントロールリスト (ACL) で、許可を編集します。

   オブジェクトのアクセス許可については、[S3 コンソールを使用した、オブジェクトの ACL アクセス権限の設定](managing-acls.md#set-object-permissions) を参照してください。アップロードするすべてのファイルについて、オブジェクトの読み取りアクセスをパブリック (世界中のすべてのユーザー) に付与できます。ただし、パブリック読み取りアクセスのデフォルト設定を変更しないことをお勧めします。パブリック読み取りアクセス権限の付与は、バケットがウェブサイトなどに使用されるなど、ユースケースの小さいサブセットに適用されます。オブジェクトをアップロードした後で、オブジェクトの許可をいつでも変更できます。

1. その他の追加プロパティを設定するには、**[Properties]** (プロパティ) を選択します。

1. **[ストレージクラス]** で、アップロードするファイルのストレージクラスを選択します。

   ストレージクラスの詳細については、[Amazon S3 ストレージクラスの理解と管理](storage-class-intro.md) を参照してください。

1. オブジェクトの暗号化設定を更新するには、[**Server−side encryption settings**] (サーバー側の暗号化設定) で、次の操作を行います。

   1. **[Specify an encryption key]** (暗号化キーを指定する) を選択します。

   1. **[暗号化設定]** で、**[デフォルトの暗号化にバケット設定を使用する]** または **[デフォルトの暗号化にバケット設定を上書きする]** を選択します。

   1. **[デフォルトの暗号化にバケット設定を上書きする]** を選択した場合は、次の暗号化設定を設定する必要があります。
      + Amazon S3 管理のキーを使用してアップロードされたファイルを暗号化するには、**[Amazon S3 マネージドキー (SSE−S3)]** を選択します。

        詳細については、「[Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)](UsingServerSideEncryption.md)」を参照してください。
      + AWS Key Management Service (AWS KMS) に保存されているキーを使用してアップロード済みファイルを暗号化するには、**AWS Key Management Service キー (SSE−KMS)** を選択します。次に、**AWS KMS キー**について、以下のいずれかのオプションを選択します。
        + 使用可能な KMS キーのリストから選択するには、**[AWS KMS keys から選択する]** を選択し、使用可能なキーのリストから自分の **KMS** キーを選択します。

          AWS マネージドキー (`aws/s3`) とカスタマーマネージドキーの両方がこのリストに表示されます。カスタマーマネージドキーの詳細については、*AWS Key Management Serviceデベロッパーガイド*の「[カスタマーキーと AWS キー](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt)」を参照してください。
        + KMS キー ARN を入力するには、**[AWS KMS key ARN を入力]** を選択し、表示されるフィールドに KMS キー ARN を入力します。
        + AWS KMS コンソールで新しいカスタマーマネージドキーを作成するには、**[KMS キーを作成]** を選択します。

          AWS KMS key の作成の詳細については、**「AWS Key Management Service デベロッパーガイド」の「[キーの作成](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html)」を参照してください。
**重要**  
バケットと同じ AWS リージョン で使用可能な KMS キーのみを使用できます。Amazon S3 コンソールには、バケットと同じリージョンで最初の 100 個の KMS キーしか表示されません。リストに存在しない KMS キーを使用するには、KMS キー ARN を入力する必要があります。別のアカウントが所有している KMS キーを使用する場合は、まずそのキーを使用するアクセス許可が必要であり、次に KMS キー ARN を入力する必要があります。  
Amazon S3 では、対称暗号化 KMS キーのみがサポートされ、非対称暗号化 KMS キーはサポートされません。詳細については、*AWS Key Management Service デベロッパーガイド*の「[Identifying symmetric and asymmetric KMS keys](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html)」(対称および非対称 KMS キーの識別) を参照してください。

1. 追加のチェックサムを使用するには、**[On]** (オン) を選択します。次に、**[Checksum function]** (チェックサム関数) で、使用する関数を選択します。Amazon S3 は、オブジェクト全体を受け取った後、チェックサム値を計算して保存します。**[Precalculated value]** (事前計算された値) ボックスを使用して、事前計算された値を指定できます。その場合、Amazon S3 は、指定した値と計算した値を比較します。2 つの値が一致しない場合、Amazon S3 はエラーを生成します。

   追加のチェックサムを使用すると、データの検証に使用するチェックサムアルゴリズムを指定できます。追加のチェックサムの詳細については、「[Amazon S3 でのオブジェクトの整合性のチェック](checking-object-integrity.md)」を参照してください。

1. アップロードするすべてのオブジェクトにタグを追加するには、[**Add tag (タグの追加)**] を選択します。**[キー]** フィールドにタグ名を入力します。タグの値を入力します。

   オブジェクトのタグ付けにより、ストレージを分類する方法が提供されます。各タグはキーと値のペアです。キーとタグ値は大文字と小文字が区別されます。オブジェクトごとに最大 10 個のタグを持つことができます。タグキーには最大 128 個の Unicode 文字、タグ値には最大 255 個の Unicode 文字を使用できます。オブジェクトタグの詳細については、[タグを使用したオブジェクトの分類](object-tagging.md)を参照してください。

1. メタデータを追加するには、[**Add metadata**] (メタデータの追加) を選択します。

   1. [**Type**] (タイプ) で、[**System defined**] (システム定義) または [**User defined**] (ユーザー定義) を選択します。

      システム定義のメタデータの場合は、**Content−Type** や **Content−Disposition** などの一般的な HTTP ヘッダーを選択できます。システム定義のメタデータのリストと値を追加できるかどうかについては、[システムで定義されたオブジェクトメタデータ](UsingMetadata.md#SysMetadata) を参照してください。プレフィックス `x-amz-meta-` で始まるメタデータはすべてユーザー定義のメタデータとして扱われます。ユーザー定義メタデータはオブジェクトと共に保存され、オブジェクトのダウンロード時に返されます。キーと値の両方が US−ASCII 標準に従っている必要があります。ユーザー定義メタデータのサイズは最大 2 KB です。システム定義メタデータとユーザー定義メタデータの詳細については、[オブジェクトメタデータの使用](UsingMetadata.md) を参照してください。

   1. [**Key**] (キー) で、キーを選択します。

   1. キーの値を入力します。

1. オブジェクトをアップロードするには、[**Upload**] (アップロード) を選択します。

   Amazon S3 はオブジェクトをアップロードします。アップロードが完了すると、[**Upload: status**] (アップロード: ステータス) ページに成功のメッセージが表示されます。

## の使用AWS CLI
<a name="put-object-ap-cli"></a>

次の `put-object` コマンド例は、AWS CLI を使用してアクセスポイント経由でオブジェクトをアップロードする方法を示しています。

次のコマンドは、アクセスポイント *my-access-point* を使用して AWS アカウント *111122223333* のオブジェクト `puppy.jpg` をアップロードします。

```
aws s3api put-object --bucket arn:aws:s3:AWS リージョン:111122223333:accesspoint/my-access-point --key puppy.jpg --body puppy.jpg      
```

**注記**  
S3 は、すべてのアクセスポイントに対してアクセスポイントエイリアスを自動的に生成します。アクセスポイントエイリアスは、バケット名を使用してオブジェクトレベルのオペレーションを実行する任意の場所で使用できます。詳細については、「[アクセスポイントエイリアス](access-points-naming.md#access-points-alias)」を参照してください。

詳細と例については、「AWS CLI コマンドリファレンス」の「[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html)」を参照してください。**

## REST API の使用
<a name="put-object-ap-rest"></a>

REST API を使用して、アクセスポイントを介してオブジェクトをアップロードできます。詳細については、「**Amazon Simple Storage Service API リファレンス」の「[https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)」を参照してください。

## AWS SDK の使用
<a name="put-object-ap-SDKs"></a>

AWS SDK for Python を使用して、アクセスポイントを介してオブジェクトをアップロードできます。

------
#### [ Python ]

次の例では、*my-access-point* という名前のアクセスポイントを使用して、`hello.txt` という名前のファイルが AWS アカウント *111122223333* 用にアップロードされます。

```
import boto3
s3 = boto3.client('s3')
s3.upload_file('/tmp/hello.txt', 'arn:aws:s3:us-east-1:111122223333:accesspoint/my-access-point', 'hello.txt')
```

------