我收到超时错误,因为需要将 dynamodb 表迁移到新表。旧表中有很多项目。因此,我使用lastevaluatedkey进行分页读取操作,但lambda函数存活15分钟。因此,我创建了一个阶跃函数,如下所示:
{
"Comment": "DynamoDB Scan Workflow",
"StartAt": "ScanDynamoDB",
"States": {
"ScanDynamoDB": {
"Type": "Task",
"Resource": "arn:aws:lambda:us-east-1:**********:function:dynamo-table-migrator",
"Next": "IsScanComplete"
},
"IsScanComplete": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.LastEvaluatedKey",
"IsPresent": true,
"Next": "ScanDynamoDB"
}
],
"Default": "Done"
},
"Done": {
"Type": "Succeed"
}
}
}
我的 lambda 函数的超时时间是 10 分钟。我将其从 30 秒增加到实际上迁移了几乎一半的表,但随后又出现错误。错误:
The cause could not be determined because Lambda did not return an error type. Returned payload: {"errorMessage":"2024-01-10T06:55:49.427Z 4730971c-c428-4692-aa23-4486932da4f2 Task timed out after 600.18 seconds"}
我希望这是一次迁移表的过程:我的意思是对你来说这不是一项平常的任务。
只需检查一次是否可以改进流程:
快捷方式:
如果数据量不是非常非常大..
其他方式: