

# S3 Object Lambda のベストプラクティスとガイドライン
<a name="olap-best-practices"></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)」を参照してください。

S3 Object Lambda を使用する場合は、操作とパフォーマンスを最適化するには、以下のベストプラクティスとガイドラインに従ってください。

**Topics**
+ [S3 Object Lambda の使用](#olap-working-with)
+ [S3 Object Lambda に関連して使用される AWS のサービス](#olap-services)
+ [`Range` および `partNumber` ヘッダー](#olap-managing-range-part)
+ [`expiry-date` の変換](#olap-console-download)
+ [AWS CLI と AWS SDK の使用](#olap-cli-sdk)

## S3 Object Lambda の使用
<a name="olap-working-with"></a>

S3 Object Lambda は、`GET`、`LIST`、および `HEAD` リクエストの処理のみをサポートします。他のリクエストは AWS Lambda を呼び出さず、標準の変換されていない API レスポンスを返します。リージョンごとに AWS アカウント あたり最大 1,000 個の Object Lambda アクセスポイントを作成できます。使用する AWS Lambda 関数は、Object Lambda アクセスポイントと同じ AWS アカウントおよびリージョンに存在する必要があります。

S3 Object Lambda では、発信者に完全なレスポンスをストリームするのに最大 60 秒かかります。関数には、AWS Lambda のデフォルトクォータも適用されます。詳細については、*AWS Lambda デベロッパーガイド*の「[Lambda のクォータ](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)」を参照してください。

S3 Object Lambda が指定された Lambda 関数を呼び出す場合、データが指定された Lambda 関数またはアプリケーションによって意図的に上書きまたは Amazon S3 から削除され、それが正しいことを確認する責任は、ユーザーにあります。

S3 Object Lambda は、オブジェクトに対する操作の実行にのみ使用できます。S3 Object Lambda を使用して、バケットの変更や削除など、他の Amazon S3 オペレーションを実行することはできません。アクセスポイントをサポートする S3 オペレーションの詳細なリストについては、「[S3 オペレーションとアクセスポイントの互換性](access-points-service-api-support.md#access-points-operations-support)」を参照してください。

このリストに加えて、Object Lambda アクセスポイントは [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) (ソースとして)、および [https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html) API オペレーションをサポートしていません。

## S3 Object Lambda に関連して使用される AWS のサービス
<a name="olap-services"></a>

S3 Object Lambda は、Amazon S3、AWS Lambda、およびオプションで、リクエストしているアプリケーションに関連するオブジェクトを配信するために選択した他の AWS のサービス を接続します。S3 Object Lambda で使用されるすべての AWS のサービス は、それぞれのサービスレベルアグリーメント (SLA) に準拠します。例えば、AWS のサービス がサービスコミットメントを満たさない場合は、そのサービスの SLA に記されたとおり、ユーザーにはサービスクレジットを受け取る資格が発生します。

## `Range` および `partNumber` ヘッダー
<a name="olap-managing-range-part"></a>

大規模なオブジェクトを操作する場合は、`Range` HTTP ヘッダーを使用して、オブジェクトから指定されたバイト範囲をダウンロードできます。`Range` ヘッダーを使用すると、リクエストはオブジェクトの指定された部分のみをフェッチします。`partNumber` ヘッダーは、オブジェクトから指定されたパートに対して範囲リクエストを実行するためにも使用できます。

詳細については、「[Range および partNumber ヘッダーの操作](range-get-olap.md)」を参照してください。

## `expiry-date` の変換
<a name="olap-console-download"></a>

AWS マネジメントコンソール の Object Lambda アクセスポイントから、変換されたオブジェクトを開いたり、ダウンロードしたりできます。これらのオブジェクトは、期限が切れていないものである必要があります。Lambda 関数でオブジェクトの `expiry-date` を変換すると、開いたりダウンロードしたりできない期限切れのオブジェクトが表示されることがあります。この動作は、S3 Glacier Flexible Retrieval、および S3 Glacier Deep Archive の復元されたオブジェクトにのみ適用されます。

## AWS CLI と AWS SDK の使用
<a name="olap-cli-sdk"></a>

AWS Command Line Interface (AWS CLI) S3 サブコマンド (`cp`、`mv`、および `sync`)、および AWS SDK for Java `TransferManager` クラスについては、S3 Object Lambda での使用はサポートされていません。