Lambda のイベントソースマッピングで DynamoDB Streams を指定する際に発生する「MaximumRecordAgeInSeconds must be either -1 (forever) or between 60 and 604800 (inclusive)」への対処方法

Lambda のイベントソースマッピングで DynamoDB Streams を指定する際に発生する「MaximumRecordAgeInSeconds must be either -1 (forever) or between 60 and 604800 (inclusive)」への対処方法

2026.03.10

困っていた内容

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 テーブルは作成済みでストリームも有効化しました。
2026-02-26_09h08_46

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

Event poller configuration の Maximum age of record を 5 秒に設定します。
2026-02-26_09h12_02

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

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

なお、冒頭のエラーについては 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"
}

参考資料

この記事をシェアする

FacebookHatena blogX

関連記事