UpdateEventSourceMapping - AWS Lambda

UpdateEventSourceMapping

イベントソースマッピングを更新します。AWS Lambdaが呼び出す関数を変更して、または呼び出しを一時停止して、後で同じ場所から再開できます。

以下のエラー処理オプションは、ストリーミングソース (DynamoDB および Kinesis) でのみ使用できます。

  • BisectBatchOnFunctionError - 関数がエラーを返した場合は、バッチを 2 つに分割して再試行します。

  • DestinationConfig - 廃棄されたレコードを Amazon SQS キューまたは Amazon SNS トピックに送信します。

  • MaximumRecordAgeInSeconds - 指定した経過期間よりも古いレコードを廃棄します。デフォルト値は無制限 (-1) です。無制限 (-1) に設定すると、失敗したレコードはレコードの有効期限が切れるまで再試行されます。

  • MaximumRetryAttempts - 指定した再試行数の後でレコードを廃棄します。デフォルト値は無制限 (-1) です。無制限 (-1) に設定すると、失敗したレコードはレコードの有効期限が切れるまで再試行されます。

  • ParallelizationFactor - 各シャードから同時に複数のバッチを処理します。

リクエストの構文

PUT /2015-03-31/event-source-mappings/UUID HTTP/1.1 Content-type: application/json { "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "Enabled": boolean, "FunctionName": "string", "FunctionResponseTypes": [ "string" ], "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "TumblingWindowInSeconds": number }

URI リクエストパラメータ

リクエストでは、次の URI パラメータを使用します。

UUID

イベントソースマッピングの識別子。

必須: はい

リクエストボディ

リクエストは以下のデータを JSON 形式で受け入れます。

BatchSize

Lambda がストリームまたはキューから取り出し、関数に送信する各バッチ内の最大レコード数。Lambda は、同期呼び出しのペイロード上限 (6 MB) まで、バッチ内のすべてのレコードを単一の呼び出しで関数に渡します。

  • Amazon Kinesis - デフォルト 100。最大 10,000。

  • Amazon DynamoDB Streams - デフォルト 100。最大 1,000。

  • Amazon Simple Queue Service - デフォルト 10。標準キューの場合、最大値は 10,000 です。FIFO キューの場合、最大値は 10 です。

  • Amazon Managed Streaming for Apache Kafka - デフォルト 100。最大 10,000。

  • セルフマネージド Apache Kafka - デフォルト 100。最大 10,000。

タイプ: 整数

値の範囲: 最小値 は 1 です。最大値は 10,000 です。

必須: いいえ

BisectBatchOnFunctionError

(ストリームのみ) 関数がエラーを返した場合は、バッチを 2 つに分割して再試行します。

タイプ: ブール値

必須: いいえ

DestinationConfig

(ストリームのみ) 廃棄されたレコードの Amazon SQS キューまたは Amazon SNS トピックの送信先。

タイプ: DestinationConfig オブジェクト

必須: いいえ

Enabled

true の場合、イベントソースマッピングがアクティブになります。false の場合、Lambda がポーリングと呼び出しを一時停止します。

デフォルト: True

タイプ: ブール値

必須: いいえ

FunctionName

Lambda 関数の名前。

名前の形式

  • 関数名 - MyFunction.

  • 関数 ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • バージョンまたはエイリアス ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • 一部の ARN - 123456789012:function:MyFunction.

完全な ARN にのみ適用される長さの制限。関数名のみを指定する場合、64 文字の長さに制限されます。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 140 です。

Pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

必須: いいえ

FunctionResponseTypes

(ストリーミングのみ) イベントソースマッピングに適用される現在のレスポンスタイプの列挙型のリスト。

タイプ: 文字列の配列

配列メンバー: 最小数は 0 項目です。最大数は 1 項目です。

有効な値: ReportBatchItemFailures

必須: いいえ

MaximumBatchingWindowInSeconds

(ストリームおよび Amazon SQS スタンダードキュー) Lambda が関数を呼び出す前にレコードを収集するのにかかる最大時間 (秒単位)。

デフォルト: 0

関連設定: BatchSize を 10 より大きい値に設定する場合は、MaximumBatchingWindowInSeconds を 1 以上に設定する必要があります。

タイプ: 整数

値の範囲: 最小値 は 0 です。最大値は 300 です。

必須: いいえ

MaximumRecordAgeInSeconds

(ストリームのみ) 指定した経過期間よりも古いレコードを破棄します。デフォルト値は無制限 (-1) です。

タイプ: 整数

値の範囲: 最小値 は -1 です。最大値は 604,800 です。

必須: いいえ

MaximumRetryAttempts

(ストリームのみ) 指定した再試行数の後でレコードを破棄します。デフォルト値は無制限 (-1) です。無制限 (-1) に設定すると、失敗したレコードはレコードの有効期限が切れるまで再試行されます。

タイプ: 整数

値の範囲: 最小値 は -1 です。最大値は 10,000 です。

必須: いいえ

ParallelizationFactor

(ストリームのみ) 各シャードから同時に処理するバッチの数。

タイプ: 整数

値の範囲: 最小値 は 1 です。最大値は 10 です。

必須: いいえ

SourceAccessConfigurations

認証プロトコルの配列またはイベントソースの保護に必要な VPC コンポーネント。

タイプ: SourceAccessConfiguration オブジェクトの配列

配列メンバー: 最小数は 0 項目です。最大数は 22 項目です。

必須: いいえ

TumblingWindowInSeconds

(ストリーミングのみ) 処理ウィンドウの継続時間 (秒)。指定できる範囲は 1 秒から 900 秒までです。

タイプ: 整数

値の範囲: 最小値 は 0 です。最大値は 900 です。

必須: いいえ

レスポンスの構文

HTTP/1.1 202 Content-type: application/json { "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "EventSourceArn": "string", "FunctionArn": "string", "FunctionResponseTypes": [ "string" ], "LastModified": number, "LastProcessingResult": "string", "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "Queues": [ "string" ], "SelfManagedEventSource": { "Endpoints": { "string" : [ "string" ] } }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "StartingPosition": "string", "StartingPositionTimestamp": number, "State": "string", "StateTransitionReason": "string", "Topics": [ "string" ], "TumblingWindowInSeconds": number, "UUID": "string" }

レスポンス要素

アクションが成功すると、HTTP 202 レスポンスが返されます。

サービスから以下のデータが JSON 形式で返されます。

BatchSize

Lambda がストリームまたはキューから取り出し、関数に送信する各バッチ内の最大レコード数。Lambda は、同期呼び出しのペイロード上限 (6 MB) まで、バッチ内のすべてのレコードを単一の呼び出しで関数に渡します。

デフォルト値: サービスによって異なります。Amazon SQS の場合、デフォルトは 10 です。他のすべてのサービスでは、デフォルトは 100 です。

関連設定: BatchSize を 10 より大きい値に設定する場合は、MaximumBatchingWindowInSeconds を 1 以上に設定する必要があります。

タイプ: 整数

値の範囲: 最小値 は 1 です。最大値は 10,000 です。

BisectBatchOnFunctionError

(ストリームのみ) 関数がエラーを返した場合は、バッチを 2 つに分割して再試行します。デフォルト値は false です。

タイプ: ブール値

DestinationConfig

(ストリームのみ) 廃棄されたレコードの Amazon SQS キューまたは Amazon SNS トピックの送信先。

タイプ: DestinationConfig オブジェクト

EventSourceArn

イベントソースの Amazon リソースネーム (ARN)。

型: 文字列

Pattern: arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

FunctionArn

Lambda 関数の ARN。

型: 文字列

Pattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

FunctionResponseTypes

(ストリーミングのみ) イベントソースマッピングに適用される現在のレスポンスタイプの列挙型のリスト。

タイプ: 文字列の配列

配列メンバー: 最小数は 0 項目です。最大数は 1 項目です。

有効な値: ReportBatchItemFailures

LastModified

イベントソースマッピングが最後に更新された日付、またはその状態が変更された日付 (Unix タイム秒単位)。

タイプ: タイムスタンプ

LastProcessingResult

関数の最後の Lambda 呼び出しの結果。

型: 文字列

MaximumBatchingWindowInSeconds

(ストリームおよび Amazon SQS スタンダードキュー) Lambda が関数を呼び出す前にレコードを収集するのにかかる最大時間 (秒単位)。

デフォルト: 0

関連設定: BatchSize を 10 より大きい値に設定する場合は、MaximumBatchingWindowInSeconds を 1 以上に設定する必要があります。

タイプ: 整数

値の範囲: 最小値 は 0 です。最大値は 300 です。

MaximumRecordAgeInSeconds

(ストリームのみ) 指定した経過期間よりも古いレコードを破棄します。デフォルト値は -1 で、最大経過時間は無限です。値が無限に設定されている場合、Lambda が古いレコードを廃棄することはありません。

タイプ: 整数

値の範囲: 最小値 は -1 です。最大値は 604,800 です。

MaximumRetryAttempts

(ストリームのみ) 指定した再試行数の後でレコードを破棄します。デフォルト値の -1 により、最大再試行回数は無限に設定されます。MaximumRetryAttempts が無限の場合、Lambda はイベントソースでレコードの有効期限が切れるまで、失敗したレコードを再試行します。

タイプ: 整数

値の範囲: 最小値 は -1 です。最大値は 10,000 です。

ParallelizationFactor

(ストリーミングのみ) 各シャードから同時に処理するバッチの数。デフォルト値は 1 です。

タイプ: 整数

値の範囲: 最小値 は 1 です。最大値は 10 です。

Queues

(Amazon MQ) 消費する Amazon MQ ブローカーの送信先キューの名前。

タイプ: 文字列の配列

配列メンバー: 定数は 1 項目です。

長さの制限: 最小長は 1 です。最大長は 1,000 です。

Pattern: [\s\S]*

SelfManagedEventSource

イベントソースのセルフマネージド Apache Kafka クラスター。

タイプ: SelfManagedEventSource オブジェクト

SourceAccessConfigurations

認証プロトコルの配列、VPC コンポーネント、イベントソースを保護して定義する仮想ホスト。

タイプ: SourceAccessConfiguration オブジェクトの配列

配列メンバー: 最小数は 0 項目です。最大数は 22 項目です。

StartingPosition

読み取りを開始するストリームの場所。Amazon Kinesis、Amazon DynamoDB、Amazon MSK ストリーミングソースに必要です。AT_TIMESTAMP は、Amazon Kinesis Streams でのみサポートされています。

型: 文字列

有効な値: TRIM_HORIZON | LATEST | AT_TIMESTAMP

StartingPositionTimestamp

StartingPositionAT_TIMESTAMP に設定されている場合、Unix タイム秒単位で読み取りをスタートする時間です。

タイプ: タイムスタンプ

State

イベントソースマッピングの状態。次のうちの 1 つになる可能性があります: CreatingEnablingEnabledDisablingDisabledUpdatingDeleting

型: 文字列

StateTransitionReason

ユーザーまたは Lambda がイベントソースマッピングを最後に変更したかどうかを示します。

型: 文字列

Topics

Kafka トピックの名前。

タイプ: 文字列の配列

配列メンバー: 定数は 1 項目です。

長さの制限: 最小長は 1 です。最大長は 249 です。

Pattern: ^[^.]([a-zA-Z0-9\-_.]+)

TumblingWindowInSeconds

(ストリーミングのみ) 処理ウィンドウの継続時間 (秒)。範囲は 1~900 秒です。

タイプ: 整数

値の範囲: 最小値 は 0 です。最大値は 900 です。

UUID

イベントソースマッピングの識別子。

型: 文字列

Errors

InvalidParameterValueException

リクエストに含まれているパラメータの 1 つが無効です。

HTTP ステータスコード: 400

ResourceConflictException

リソースが既に存在しているか、別のオペレーションが進行中です。

HTTP ステータスコード: 409

ResourceInUseException

オペレーションがリソースの可用性と競合しています。たとえば、CREATING で EventSource マッピングを更新しようとしたり、現在 UPDATING 状態にある EventSource マッピングを削除しようとしたとします。

HTTP ステータスコード: 400

ResourceNotFoundException

リクエストで指定されたリソースは存在しません。

HTTP ステータスコード: 404

ServiceException

AWS Lambda サービスで内部エラーが発生しました。

HTTP ステータスコード: 500

TooManyRequestsException

リクエストスループット制限を超えました。

HTTP ステータスコード: 429

以下の資料も参照してください。

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、次を参照してください。