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" } }, "DocumentDBEventSourceConfig": { "CollectionName": "string", "DatabaseName": "string", "FullDocument": "string" }, "Enabled": boolean, "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionName": "string", "FunctionResponseTypes": [ "string" ], "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "ScalingConfig": { "MaximumConcurrency": 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。最大 10,000。

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

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

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

  • Amazon MQ (ActiveMQ と RabbitMQ) – デフォルトで 100。最大 10,000。

  • DocumentDB – デフォルトは 100 です。最大 10,000。

タイプ: 整数

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

必須: いいえ

BisectBatchOnFunctionError

(Kinesis および DynamoDB Streams のみ) 関数がエラーを返した場合は、バッチを 2 つに分割して再試行します。

型: ブール

必須: いいえ

DestinationConfig

(Kinesis、DynamoDB Streams、Amazon MSK、およびセルフマネージド Kafka のみ) Lambda がイベントを処理した後のイベントの送信先を指定する設定オブジェクト。

型: DestinationConfig オブジェクト

必須: いいえ

DocumentDBEventSourceConfig

DocumentDB イベントソースの特定の構成設定。

型: DocumentDBEventSourceConfig オブジェクト

必須: いいえ

Enabled

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

デフォルト: True

型: ブール

必須: いいえ

FilterCriteria

Lambda がイベントを処理する必要があるかどうかを判断するフィルター条件を定義するオブジェクトです。詳細については、Lambda イベントフィルタリングを参照してください。

型: FilterCriteria オブジェクト

必須: いいえ

FunctionName

Lambda 関数の名前

名前の形式
  • 関数名MyFunction

  • 関数 ARNarn:aws:lambda:us-west-2:123456789012:function:MyFunction

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

  • 部分的な ARN123456789012:function:MyFunction

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

型: 文字列

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

パターン: (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

(Kinesis、DynamoDB Streams、Amazon SQS) イベントソースマッピングに適用されている現在のレスポンスタイプの列挙型のリスト。

型: 文字列の配列

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

有効な値: ReportBatchItemFailures

必須:いいえ

MaximumBatchingWindowInSeconds

Lambda が関数を呼び出すまで費やすレコード収集の最大時間 (秒)。MaximumBatchingWindowInSeconds は、秒単位で 0 秒から 300 秒までの任意の値に設定できます。

ストリームと Amazon SQS イベントソースの場合、バッチ処理ウィンドウはデフォルトで 0 秒に設定されます。Amazon MSK、セルフマネージド Apache Kafka、Amazon MQ、および DocumentDB イベントソースの場合、バッチ処理ウィンドウはデフォルトで 500 ミリ秒に設定されます。MaximumBatchingWindowInSeconds は秒単位の増分でしか変更できないため、バッチ処理ウィンドウのデフォルト値 (500 ミリ秒) を変更すると、元に戻せなくなることに注意してください。デフォルトのバッチ処理ウィンドウを復元するには、新しいイベントソースマッピングを作成する必要があります。

関連設定: ストリームとAmazon SQS イベントソースの場合、BatchSize を 10 より大きい値に設定する場合は、MaximumBatchingWindowInSeconds を 1 以上に設定する必要があります。

型: 整数

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

必須: いいえ

MaximumRecordAgeInSeconds

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

タイプ: 整数

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

必須: いいえ

MaximumRetryAttempts

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

型: 整数

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

必須: いいえ

ParallelizationFactor

(Kinesis および DynamoDB Streams のみ) 各シャードから同時に処理するバッチの数。

型: 整数

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

必須: いいえ

ScalingConfig

(Amazon SQS のみ) イベントソースのスケーリング設定です。詳細については、「Configuring maximum concurrency for Amazon SQS event sources」(Amazon SQS イベントソースの最大同時実行数の設定) を参照してください。

型: ScalingConfig オブジェクト

必須: いいえ

SourceAccessConfigurations

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

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

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

必須: いいえ

TumblingWindowInSeconds

(Kinesis および DynamoDB Streams のみ) DynamoDB および Kinesis Streams イベントソースの処理ウィンドウの期間 (秒)。値が 0 秒である場合、タンブリングウィンドウがないことを示します。

型: 整数

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

必須: いいえ

レスポンスの構文

HTTP/1.1 202 Content-type: application/json { "AmazonManagedKafkaEventSourceConfig": { "ConsumerGroupId": "string" }, "BatchSize": number, "BisectBatchOnFunctionError": boolean, "DestinationConfig": { "OnFailure": { "Destination": "string" }, "OnSuccess": { "Destination": "string" } }, "DocumentDBEventSourceConfig": { "CollectionName": "string", "DatabaseName": "string", "FullDocument": "string" }, "EventSourceArn": "string", "FilterCriteria": { "Filters": [ { "Pattern": "string" } ] }, "FunctionArn": "string", "FunctionResponseTypes": [ "string" ], "LastModified": number, "LastProcessingResult": "string", "MaximumBatchingWindowInSeconds": number, "MaximumRecordAgeInSeconds": number, "MaximumRetryAttempts": number, "ParallelizationFactor": number, "Queues": [ "string" ], "ScalingConfig": { "MaximumConcurrency": number }, "SelfManagedEventSource": { "Endpoints": { "string" : [ "string" ] } }, "SelfManagedKafkaEventSourceConfig": { "ConsumerGroupId": "string" }, "SourceAccessConfigurations": [ { "Type": "string", "URI": "string" } ], "StartingPosition": "string", "StartingPositionTimestamp": number, "State": "string", "StateTransitionReason": "string", "Topics": [ "string" ], "TumblingWindowInSeconds": number, "UUID": "string" }

レスポンス要素

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

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

AmazonManagedKafkaEventSourceConfig

Amazon Managed Streaming for Apache Kafka (Amazon MSK) のイベントソースに関する特定の設定です。

型: AmazonManagedKafkaEventSourceConfig オブジェクト

BatchSize

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

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

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

型: 整数

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

BisectBatchOnFunctionError

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

型: ブール

DestinationConfig

(Kinesis、DynamoDB Streams、Amazon MSK、およびセルフマネージド Apache Kafka イベントソースのみ) Lambda がイベントを処理した後のイベントの送信先を指定する設定オブジェクト。

型: DestinationConfig オブジェクト

DocumentDBEventSourceConfig

DocumentDB イベントソースの特定の構成設定。

型: DocumentDBEventSourceConfig オブジェクト

EventSourceArn

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

型: 文字列

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

FilterCriteria

Lambda がイベントを処理する必要があるかどうかを判断するフィルター条件を定義するオブジェクトです。詳細については、Lambda イベントフィルタリングを参照してください。

型: FilterCriteria オブジェクト

FunctionArn

Lambda 関数の ARN。

型: 文字列

パターン: 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

(Kinesis、DynamoDB Streams、Amazon SQS) イベントソースマッピングに適用されている現在のレスポンスタイプの列挙型のリスト。

型: 文字列の配列

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

有効な値: ReportBatchItemFailures

LastModified

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

型: Timestamp

LastProcessingResult

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

型: 文字列

MaximumBatchingWindowInSeconds

Lambda が関数を呼び出すまで費やすレコード収集の最大時間 (秒)。MaximumBatchingWindowInSeconds は、秒単位で 0 秒から 300 秒までの任意の値に設定できます。

ストリームと Amazon SQS イベントソースの場合、バッチ処理ウィンドウはデフォルトで 0 秒に設定されます。Amazon MSK、セルフマネージド Apache Kafka、Amazon MQ、および DocumentDB イベントソースの場合、バッチ処理ウィンドウはデフォルトで 500 ミリ秒に設定されます。MaximumBatchingWindowInSeconds は秒単位の増分でしか変更できないため、バッチ処理ウィンドウのデフォルト値 (500 ミリ秒) を変更すると、元に戻せなくなることに注意してください。デフォルトのバッチ処理ウィンドウを復元するには、新しいイベントソースマッピングを作成する必要があります。

関連設定: ストリームとAmazon SQS イベントソースの場合、BatchSize を 10 より大きい値に設定する場合は、MaximumBatchingWindowInSeconds を 1 以上に設定する必要があります。

型: 整数

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

MaximumRecordAgeInSeconds

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

注記

最大レコード保存期間の最小有効値は 60 秒です。60 未満で -1 より大きい値はパラメータの絶対範囲内ですが、指定できません。

型: 整数

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

MaximumRetryAttempts

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

タイプ: 整数

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

ParallelizationFactor

(Kinesis および DynamoDB Streams のみ) 各シャードから同時に処理するバッチの数。デフォルト値は 1 です。

タイプ: 整数

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

Queues

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

タイプ: 文字列の配列

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

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

パターン: [\s\S]*

ScalingConfig

(Amazon SQS のみ) イベントソースのスケーリング設定です。詳細については、「Configuring maximum concurrency for Amazon SQS event sources」(Amazon SQS イベントソースの最大同時実行数の設定) を参照してください。

型: ScalingConfig オブジェクト

SelfManagedEventSource

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

型: SelfManagedEventSource オブジェクト

SelfManagedKafkaEventSourceConfig

セルフマネージド Apache Kafka イベントソースの特定の設定。

型: SelfManagedKafkaEventSourceConfig オブジェクト

SourceAccessConfigurations

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

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

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

StartingPosition

読み取りを開始するストリームの場所です。Amazon Kinesis および Amazon DynamoDB Streams イベントソースに必要です。AT_TIMESTAMP は、Amazon Kinesis ストリーム、Amazon DocumentDB、Amazon MSK、およびセルフマネージド Apache Kafka でのみサポートされます。

型: 文字列

有効な値: TRIM_HORIZON | LATEST | AT_TIMESTAMP

StartingPositionTimestamp

StartingPosition が AT_TIMESTAMP に設定されている場合、読み取りを開始する時間 (Unix 時間単位) です。StartingPositionTimestamp を現在よりも先の日時に指定することはできません。

型: Timestamp

State

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

型: 文字列

StateTransitionReason

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

型: 文字列

Topics

Kafka トピックの名前。

タイプ: 文字列の配列

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

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

パターン: ^[^.]([a-zA-Z0-9\-_.]+)

TumblingWindowInSeconds

(Kinesis および DynamoDB Streams のみ) DynamoDB および Kinesis Streams イベントソースの処理ウィンドウの期間 (秒)。値が 0 秒である場合、タンブリングウィンドウがないことを示します。

型: 整数

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

UUID

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

型: 文字列

エラー

すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。

InvalidParameterValueException

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

HTTP ステータスコード:400

ResourceConflictException

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

HTTP ステータスコード: 409

ResourceInUseException

オペレーションがリソースの可用性と競合しています。例えば、CREATING (作成中) 状態のイベントソースマッピングを更新しようとした、または現在 UPDATING (更新中) 状態のイベントソースマッピングを削除しようとした場合などです。

HTTP ステータスコード:400

ResourceNotFoundException

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

HTTP ステータスコード: 404

ServiceException

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

HTTP ステータスコード: 500

TooManyRequestsException

リクエストスループット制限を超えました。詳細については、「Lambda クォータ」を参照してください。

HTTP ステータスコード: 429

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

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