

# S3 Object Lambda を使用したオブジェクトの変換
<a name="transforming-objects"></a>

**注記**  
2025 年 11 月 7 日現在、S3 Object Lambda は、現在サービスを使用している既存のお客様、および一部の AWS パートナーネットワーク (APN) パートナーのみが利用できます。S3 Object Lambda と同様の機能の詳細については、「[Amazon S3 Object Lambda availability change](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazons3-ol-change.html)」を参照してください。

Amazon S3 Object Lambda を使用すると、Amazon S3 `GET`、`LIST`、`HEAD` リクエストに独自のコードを追加して、データがアプリケーションに返されるときにそのデータを変更および処理できます。カスタムコードを使用すると、S3 `GET` リクエストによって返されるデータを変更し、行のフィルタリング、画像の動的なサイズ変更と透かし、機密データの編集などを行うことができます。また、S3 Object Lambda を使用して、バケット内のすべてのオブジェクトのカスタムビューを作成する S3 `LIST` リクエストの出力や、オブジェクト名やサイズなどのオブジェクトメタデータを変更する S3 `HEAD` リクエストの出力を変更することもできます。S3 Object Lambda を Amazon CloudFront ディストリビューションのオリジンとして使用して、画像の自動サイズ変更、古い形式 (JPEG から WebP など) のトランスコーディング、メタデータの削除など、エンドユーザー向けにデータを調整できます。詳細については、AWS ブログの「[Use Amazon S3 Object Lambda with Amazon CloudFront](https://aws.amazon.com/blogs/aws/new-use-amazon-s3-object-lambda-with-amazon-cloudfront-to-tailor-content-for-end-users/)」(Amazon S3 Object Lambda を Amazon CloudFront で使用する) を参照してください。AWS Lambda 関数を利用しているため、コードは AWS によって完全に管理されたインフラストラクチャ上で実行されます。S3 Object Lambda を使用すると、データの派生コピーを作成して保存したり、プロキシを実行したりする必要が少なくなり、アプリケーションに変更を加える必要もなくなります。

**S3 オブジェクト Lambda の仕組み**  
S3 Object Lambda は AWS Lambda 関数を使用して、標準の S3 `GET`、`LIST`、`HEAD` リクエストの出力を自動的に処理します。AWS Lambda は、基盤となるコンピューティングリソースの管理を必要とせずに、顧客定義のコードを実行するサーバーレスコンピューティングサービスです。データ変換を特定のユースケースに合わせて調整し、独自のカスタム Lambda 関数を作成して実行することができます。

Lambda 関数を設定したら、*Object Lambda アクセスポイント*と呼ばれる S3 Object Lambda サービスエンドポイントにアタッチします。Object Lambda アクセスポイントは、*サポートアクセスポイント*と呼ばれる、標準の S3 アクセスポイントを使用してデータにアクセスします。

Object Lambda アクセスポイントにリクエストを送信すると、Amazon S3 は自動的に Lambda 関数を呼び出します。その後、S3 Object Lambda アクセスポイントを介して S3 `GET`、`LIST`、または `HEAD` リクエストを使用して取得されたデータは、変換された結果をアプリケーションに返します。次の図に示すように、他のすべてのリクエストは通常どおりに処理されます。



![S3 Object Lambda の仕組みを説明する図](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/images/ObjectLamdaDiagram.png)


このセクションのトピックでは、S3 Object Lambda の使用方法について説明します。

**Topics**
+ [Object Lambda アクセスポイントの作成](olap-create.md)
+ [Amazon S3 Object Lambda アクセスポイントの使用](olap-use.md)
+ [S3 Object Lambda アクセスポイントのセキュリティに関する考慮事項](olap-security.md)
+ [S3 Object Lambda アクセスポイントの Lambda 関数の記述](olap-writing-lambda.md)
+ [AWS で構築された Lambda 関数の使用](olap-examples.md)
+ [S3 Object Lambda のベストプラクティスとガイドライン](olap-best-practices.md)
+ [S3 Object Lambda のチュートリアル](olap-tutorials.md)
+ [S3 Object Lambda のデバッグとトラブルシューティング](olap-debugging-lambda.md)

S3 Object Lambda チュートリアルについては、以下を参照してください。
+ [チュートリアル: S3 Object Lambda を使用したアプリケーションのデータの変換](tutorial-s3-object-lambda-uppercase.md)
+ [チュートリアル: S3 Object Lambda と Amazon Comprehend を使用した PII データの検出と編集](tutorial-s3-object-lambda-redact-pii.md)
+ [チュートリアル: S3 Object Lambda を使用して、取得時に画像に動的に透かしを入れる](https://aws.amazon.com/getting-started/hands-on/amazon-s3-object-lambda-to-dynamically-watermark-images/?ref=docs_gateway/amazons3/transforming-objects.html)

標準のアクセスポイントの詳細については、[アクセスポイントを使用した共有データセットへのアクセスの管理](access-points.md) を参照してください。

バケットの操作方法の詳細については、「[汎用バケットの概要](UsingBucket.md)」を参照してください。オブジェクトの操作方法の詳細については、[Amazon S3 オブジェクトの概要](UsingObjects.md) を参照してください。