本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 1:启用模拟的问题并发送第二个 API 请求
-
登录 AWS Lambda 控制台
。 -
在导航面板上,选择 Functions (函数)。
-
搜索
serverlessrepo-fork-example
并选择CheckoutFunction
。 -
在 fork-example-ecommerce-
my-app
-CheckoutFunction-ABCDEF
... 页面的环境变量部分中,将 BUG_ ENABLED 变量设置为 true,然后选择保存。 -
将以下 JSON 复制到名为
test_event_2.json
的文件中。{ "id": 9917, "date": "2019-03-26T21:11:10-08:00", "status": "confirmed", "customer": { "id": 56999, "quantity": 1, "price": 75.00, "subtotal": 75.00 }] }
-
要将 HTTPS 请求发送到您的 API 端点,请通过执行
curl
命令来将示例事件负载作为输入传递,例如:curl -d "$(cat test_event_2.json)" https://abcdefghij.execute-api.us-east-2.amazonaws.com/Prod/checkout
API 将返回以下空响应,并指示已成功执行:
{ }
步骤 2:验证模拟数据损坏
-
在导航面板上,选择表。
-
搜索
serverlessrepo-fork-example
并选择CheckoutTable
。 -
在表详细信息页面上,选择项目,然后选择已创建的项目。
将显示存储的属性,其中一些标记为 CORRUPTED! (已损坏!)
步骤 3:禁用模拟的问题
-
登录 AWS Lambda 控制台
。 -
在导航面板上,选择 Functions (函数)。
-
搜索
serverlessrepo-fork-example
并选择CheckoutFunction
。 -
在 fork-example-ecommerce-
my-app
-CheckoutFunction-ABCDEF
... 页面的环境变量部分中,将 BUG_ ENABLED 变量设置为 false,然后选择保存。
步骤 4:启用重播以从问题中恢复
-
在 AWS Lambda 控制台的导航面板上,选择功能。
-
搜索
serverlessrepo-fork-example
并选择ReplayFunction
。 -
展开 Designer 部分,选择 SQS 磁贴,然后在 SQS 部分中,选择 Enabled (启用)。
注意
启用 Amazon SQS 事件源触发器大约需要 1 分钟。
-
选择保存。
-
要查看已恢复的属性,请返回到 Amazon DynamoDB 控制台。
-
要禁用重播,请返回 AWS Lambda 控制台并禁用 Amazon SQS 事件源触发器。
ReplayFunction