Amazon S3 Object Lambda アクセスポイントの使用 - Amazon Simple Storage Service

Amazon S3 Object Lambda アクセスポイントの使用

Amazon S3 Object Lambda アクセスポイントを介してリクエストを行うことは、他のアクセスポイントを介してリクエストを行う場合と同様に機能します。アクセスポイントを介してリクエストを行う方法の詳細については、「アクセスポイントの使用」を参照してください。Amazon S3 コンソール、AWS Command Line Interface、(AWS CLI)、AWS SDK、または Amazon S3 REST API を使用して Object Lambda アクセスポイントを介し、リクエストを行うことができます。

重要

Object Lambda アクセスポイントの Amazon リソースネーム (ARN) では、s3-object-lambda のサービス名が使用されます。したがって、Object Lambda アクセスポイントの ARN は、arn:aws::s3 の代わりに arn:aws::s3-object-lambda で始まり、他のアクセスポイントと共に使用されます。

Object Lambda アクセスポイントの ARN を見つける方法

AWS CLI または AWS SDK で Object Lambda アクセスポイントを使用するには、Object Lambda アクセスポイントの Amazon リソースネーム (ARN) を知る必要があります。以下の例では、Amazon S3 コンソールまたは AWS CLI を使用して Object Lambda アクセスポイントの ARN を検索する方法を示します。

コンソールを使用して Object Lambda アクセスポイントの ARN を見つける方法
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左のナビゲーションペインで、[Object Lambda Access Points] (Object Lambda アクセスポイント)を選択します。

  3. ARN をコピーする Object Lambda アクセスポイントの横にあるオプションボタンを選択します。

  4. [ARN のコピー] を選択します。

AWS CLI を使用して Object Lambda アクセスポイントの ARN を見つける方法
  1. AWS アカウント に関連付けられている Object Lambda アクセスポイントのリストを取得するにはで、以下のコマンドを実行します。コマンドを実行する前に、アカウント ID 111122223333 と AWS アカウント ID を交換してください。

    aws s3control list-access-points-for-object-lambda --account-id 111122223333
  2. コマンド出力を確認して、使用するオブジェクト Lambda アクセスポイント ARN を見つけます。先ほどのコマンドの出力は、次の例のようになります。

    { "ObjectLambdaAccessPointList": [ { "Name": "my-object-lambda-ap", "ObjectLambdaAccessPointArn": "arn:aws:s3-object-lambda:us-east-1:111122223333:accesspoint/my-object-lambda-ap" }, ... ] }

S3 バケット Object Lambda アクセスポイントでのバケット形式のエイリアスの使用方法

Object Lambda アクセスポイントを作成すると、Amazon S3 は Object Lambda アクセスポイントの固有のエイリアスを自動的に生成します。アクセスポイントのデータプレーンオペレーションのリクエストで、Amazon S3 バケット名や Object Lambda アクセスポイント Amazon Resource Name (ARN) の代わりに、このエイリアスを使用することができます。これらのオペレーションのリストについては、AWS サービスとアクセスポイントの互換性 を参照してください。

Object Lambda アクセスポイントのエイリアス名は、Amazon S3 バケットと同じ名前空間内に作成されます。このエイリアス名は自動的に生成され、変更できません。既存の Object Lambda アクセスポイントには、エイリアスが自動的に割り当てられて使用されます。Object Lambda アクセスポイントのエイリアス名は、有効な Amazon S3 バケット名のすべての要件を満たしており、次の部分で構成されています。

Object Lambda Access Point name prefix-metadata--ol-s3

注記

--ol-s3 サフィックスは、Object Lambda アクセスポイントのエイリアス名用に予約されており、バケット名や Object Lambda アクセスポイント名には使用できません。Amazon S3 バケット命名規則の詳細については、「バケットの名前付け」を参照してください。

以下は、my-object-lambda-access-point という名前の Object Lambda アクセスポイントの ARN と Object Lambda アクセスポイントのエイリアスの例です。

  • ARNarn:aws:s3-object-lambda:region:account-id:accesspoint/my-object-lambda-access-point

  • Object Lambda アクセスポイントのエイリアスmy-object-lambda-acc-1a4n8yjrb3kda96f67zwrwiiuse1a--ol-s3

Object Lambda アクセスポイントを使用する場合、コードを大幅に変更しなくても Object Lambda アクセスポイントのエイリアス名を使用できます。

Object Lambda アクセスポイントを削除すると、Object Lambda アクセスポイントのエイリアス名は非アクティブになり、プロビジョニングも解除されます。

Object Lambda アクセスポイントのエイリアスを見つける方法

コンソールを使用して Object Lambda アクセスポイントのエイリアスを見つけるには
  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左のナビゲーションペインで、[Object Lambda Access Points] (Object Lambda アクセスポイント)を選択します。

  3. 使用する Object Lambda アクセスポイントについて、Object Lambda アクセスポイントのエイリアス値をコピーします。

Object Lambda アクセスポイントを作成すると、次のコマンド例に示すように、Amazon S3 によって Object Lambda アクセスポイントのエイリアス名が自動的に生成されます。このコマンドを実行するには、user input placeholders をユーザー自身の情報に置き換えます。AWS CLI を使用して Object Lambda アクセスポイントを作成する方法については、「AWS CLI を使用して Object Lambda アクセスポイントを作成するには」を参照してください。

aws s3control create-access-point-for-object-lambda --account-id 111122223333 --name my-object-lambda-access-point --configuration file://my-olap-configuration.json { "ObjectLambdaAccessPointArn": "arn:aws:s3:region:111122223333:accesspoint/my-access-point", "Alias": { "Value": "my-object-lambda-acc-1a4n8yjrb3kda96f67zwrwiiuse1a--ol-s3", "Status": "READY" } }

生成された Object Lambda アクセスポイントのエイリアス名には 2 つのフィールドがあります。

  • Value フィールドは、Obda Lambda アクセスポイントのエイリアス値です。

  • Status フィールドは、Object Lambda アクセスポイントのエイリアスのステータスです。ステータスが PROVISIONING の場合、Amazon S3 は Object Lambda Access Point エイリアスをプロビジョニング中ですが、エイリアスはまだ使用できる状態ではありません。ステータスが READY の場合、Object Lambda Access Point エイリアスは正常にプロビジョニングされ、使用できる状態になっています。

REST API ObjectLambdaAccessPointAlias データ型の詳細については、Amazon Simple Storage Service API リファレンス の「CreateAccessPointForObjectLambda」および「ObjectLambdaAccessPointAlias」を参照してください。

Object Lambda アクセスポイントのエイリアスの使用方法

AWS サービスとアクセスポイントの互換性 に示されているオペレーションには、Amazon S3 バケット名の代わりに Object Lambda Access Point エイリアスを使用できます。

get-bucket-location コマンドの次の AWS CLI 例は、バケットのアクセスポイントエイリアスを使用して、バケットが置かれている AWS リージョン を返します。このコマンドを実行するには、user input placeholders をユーザー自身の情報に置き換えます。

aws s3api get-bucket-location --bucket my-object-lambda-acc-w7i37nq6xuzgax3jw3oqtifiusw2a--ol-s3 { "LocationConstraint": "us-west-2" }

リクエスト内の Object Lambda アクセスポイントのエイリアスが有効でない場合、エラーコード InvalidAccessPointAliasError が返されます。InvalidAccessPointAliasError の詳細については、Amazon Simple Storage Service API リファレンスの「List of Error Codes」(エラーコードのリスト) を参照してください。

Object Lambda アクセスポイントエイリアスの制限は、アクセスポイントエイリアスの制限と同じです。アクセスポイントエイリアスの制限の詳細については、「制限事項」を参照してください。