Lambda のイベントソースマッピングで DynamoDB Streams を指定する際に発生する「MaximumRecordAgeInSeconds must be either -1 (forever) or between 60 and 604800 (inclusive)」への対処方法
困っていた内容
Lambda 関数のイベントソースマッピングで DynamoDB Streams を指定しようとしたところ、以下のエラーが発生して指定できませんでした。
trigger の作成中にエラー が発生しました: MaximumRecordAgeInSeconds must be either -1 (forever) or between 60 and 604800 (inclusive)
上記エラーへの対処方法を教えてください。
どう対応すればいいの?
Maximum age of record の値が不正なため有効な値を設定してください。
有効な値は以下の通りです。
- -1 (無限)
- 最小値: 60 秒
- 最大値: 604,800 秒
上記の範囲外の値は不正なため、5 秒や 700,000 秒などの範囲外の値を指定した場合には冒頭のエラーが発生します。
EventSourceMappingConfiguration - AWS Lambda
MaximumRecordAgeInSeconds
(Kinesis および DynamoDB Streams のみ) 指定した経過期間よりも古いレコードを破棄します。デフォルト値は -1 で、最大経過時間は無限です。値が無限に設定されている場合、Lambda が古いレコードを廃棄することはありません。注記
最大レコード保存期間の最小有効値は 60 秒です。60 未満で -1 より大きい値はパラメータの絶対範囲内ですが、指定できません。
やってみた
Lambda のイベントソースマッピングで DynamoDB Streams を指定する際にエラーを再現してみました。
DynamoDB テーブルは作成済みでストリームも有効化しました。

デフォルト設定で Lambda 関数を作成し、作成済みの DynamoDB Streams をトリガーに指定します。

Event poller configuration の Maximum age of record を 5 秒に設定します。

この状態でトリガーの追加を試みると冒頭のエラーが発生します。

Maximum age of record の値を 60 秒に設定した場合にはエラーが発生しないことも確認できました。


なお、冒頭のエラーについては CloudTrail からも確認できました。
CreateEventSourceMapping20150331
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "xxx",
"arn": "xxx",
"accountId": "012345678901",
"accessKeyId": "xxx",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "xxx",
"arn": "xxx",
"accountId": "012345678901",
"userName": "xxx"
},
"attributes": {
"creationDate": "2026-02-25T22:58:56Z",
"mfaAuthenticated": "true"
}
},
"invokedBy": "AWS Internal"
},
"eventTime": "2026-02-26T00:12:25Z",
"eventSource": "lambda.amazonaws.com",
"eventName": "CreateEventSourceMapping20150331",
"awsRegion": "ap-northeast-1",
"sourceIPAddress": "AWS Internal",
"userAgent": "AWS Internal",
"errorCode": "InvalidParameterValueException",
"errorMessage": "MaximumRecordAgeInSeconds must be either -1 (forever) or between 60 and 604800 (inclusive)",
"requestParameters": {
"eventSourceArn": "arn:aws:dynamodb:ap-northeast-1:012345678901:table/test/stream/2026-02-25T23:56:30.657",
"functionName": "athena-show-databases",
"enabled": true,
"batchSize": 100,
"metricsConfig": {
"metrics": []
},
"startingPosition": "LATEST",
"maximumRecordAgeInSeconds": 5,
"maximumRetryAttempts": 3,
"sourceAccessConfigurations": []
},
"responseElements": null,
"requestID": "xxx",
"eventID": "xxx",
"readOnly": false,
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "012345678901",
"eventCategory": "Management",
"sessionCredentialFromConsole": "true"
}






