此问题可能是由于API Canary默认仅检查200和400状态代码而导致的。因此,必须对Canary进行配置以检查所需的状态代码。
以下是使用AWS CLI进行配置的示例代码:
aws synthetics update-canary
--name myCanary
--runtime-version="syn-nodejs-puppeteer-3.2"
--code '{"s3Bucket":"","s3Key":"","handler":"index.handler"}'
--execution-role-arn myRoleARN
--schedule-expression "rate(5 min)"
--run-config "{"timeoutInSeconds":60,"memoryInMB":960}"
--success-retention-period-in-days 7
--failure-retention-period-in-days 14
--status ["200", "204", "404", "500", "502"]
该命令将更新名为“myCanary”的Canary实例,使其仅在状态代码为200、204、404、500或502时才返回成功,从而解决了可能的问题。