在本地测试 Canary - Amazon CloudWatch

在本地测试 Canary

本节介绍如何直接在 Microsoft Visual Studio 代码编辑器或 JetBrains IDE 代码编辑器中修改、测试和调试 CloudWatch Synthetics Canary。本地调试环境使用无服务器应用程序模型(SAM)容器来模拟 Lambda 函数,从而模拟 Synthetics Canary 的行为。

注意

执行依赖于可视化监控的本地调试 Canary 是不切实际的。可视化监控依赖于在初始运行期间捕获基本屏幕截图,然后将这些屏幕截图与后续运行的屏幕截图进行比较。在本地开发环境中,运行不会被存储或跟踪,并且每次迭代都是独立的运行。由于缺少 Canary 运行历史记录,因此调试依赖可视化监控的 Canary 变得不切实际。

先决条件

  1. 选择或创建 Amazon S3 存储桶,以用于存储本地 Canary 测试运行的构件,例如 HAR 文件和屏幕截图。这要求您预调配 IAM。如果您跳过设置 Amazon S3 存储桶,您仍然可以在本地测试您的 Canary,但是您将看到一条关于丢失存储桶的错误消息,并且您将无法访问 Canary 构件。

    如果您使用 Amazon S3 存储桶,我们建议您将存储桶生命周期设置为在几天后删除对象,以节省成本。有关更多信息,请参阅管理存储生命周期

  2. 为您的 AWS 账户设置默认 AWS 配置文件。有关更多信息,请参阅配置和凭证文件设置

  3. 将调试环境的默认 AWS 区域设置为您的首选区域,例如 us-west-2

  4. 安装 AWS SAM CLI。有关更多信息,请参阅安装 AWS SAM CLI

  5. 安装 Visual Studio Code Editor 或 JetBrains IDE。有关更多信息,请参阅 Visual Studio CodeJetBrains IDE

  6. 安装 Docker 以使用 AWS SAM CLI。请务必启动 docker 进程守护程序。有关更多信息,请参阅安装 Docker 以用于 AWS SAM CLI

    或者,您可以安装其他容器管理软件,例如 Rancher,只要它使用 Docker 运行时即可。

  7. 为您的首选编辑器安装 AWS 工具包扩展。有关更多信息,请参阅安装 AWS Toolkit for Visual Studio Code安装 AWS Toolkit for JetBrains

设置测试和调试环境

首先,通过输入以下命令克隆 AWS 提供的 Github 存储库。该存储库包含 Node.js Canary 和 Python Canary 的代码示例。

git clone https://github.com/aws-samples/synthetics-canary-local-debugging-sample.git

然后根据您的 Canary 的语言执行以下操作之一。

对于 Node.js Canary
  1. 通过输入以下命令转到 Node.js Canary 源目录。

    cd synthetics-canary-local-debugging-sample/nodejs-canary/src
  2. 运行以下命令,以安装 Canary 依赖项。

    npm install
对于 Python Canary
  1. 通过输入以下命令转到 Python Canary 源目录。

    cd synthetics-canary-local-debugging-sample/python-canary/src
  2. 运行以下命令,以安装 Canary 依赖项。

    pip3 install -r requirements.txt -t .

使用 Visual Studio Code IDE

Visual Studio 启动配置文件位于 .vscode/launch.json。它包含允许 Visual Studio 代码发现模板文件的配置。它定义了一个 Lambda 有效负载,其中包含成功调用 Canary 所需的参数。以下是 Node.js Canary 的启动配置:

{ ... ... "lambda": { "payload": { "json": { // Canary name. Provide any name you like. "canaryName": "LocalSyntheticsCanary", // Canary artifact location "artifactS3Location": { "s3Bucket": "cw-syn-results-123456789012-us-west-2", "s3Key": "local-run-artifacts", }, // Your canary handler name "customerCanaryHandlerName": "heartbeat-canary.handler" } }, // Environment variables to pass to the canary code "environmentVariables": {} } } ] }

您也可以选择在有效负载 JSON 中提供以下字段:

  • s3EncryptionMode 有效值:SSE_S3 | SSE_KMS

  • s3KmsKeyArn 有效值:KMS 密钥 ARN

  • activeTracing 有效值:true | false

  • canaryRunId 有效值:UUID 如果启用了主动跟踪,则需要此参数。

要在 Visual Studio 中调试 Canary,请在要暂停执行的 Canary 代码中添加断点。要添加断点,请选择编辑器边距,然后在编辑器中进入运行和调试模式。点击播放按钮运行 Canary。当 Canary 运行时,将在调试控制台中跟踪日志,从而为您提供有关 Canary 行为的实时见解。如果您添加了断点,则 Canary 执行将在每个断点处暂停,从而使您可以逐步浏览代码并检查变量值、实例方法、对象属性和函数调用堆栈。

除了存储在 Amazon S3 存储桶中的构件和每次本地运行生成的 CloudWatch 指标外,在本地运行和调试 Canary 不会产生任何费用。

Visual Studio Code interface showing JavaScript code for a heartbeat canary function.

使用 JetBrains IDE

安装 AWS Toolkit for JetBrains 扩展程序后,如果您正在调试 Node.js Canary,请确保启用 Node.js 插件和 JavaScript 调试器运行。然后,按照以下步骤执行操作。

使用 JetBrains IDE 调试 Canary
  1. 在 JetBrains IDE 的左侧导航窗格中,选择 Lambda,然后选择本地配置模板。

  2. 为运行配置输入名称,例如 LocalSyntheticsCanary

  3. 选择来自模板,在模板字段中选择文件浏览器,然后从 nodejs 目录或 python 目录中在项目中选择 template.yml 文件。

  4. 输入部分,输入 Canary 的有效负载,如以下屏幕所示。

    { "canaryName": "LocalSyntheticsCanary", "artifactS3Location": { "s3Bucket": "cw-syn-results-123456789012-us-west-2", "s3Key": "local-run-artifacts" }, "customerCanaryHandlerName": "heartbeat-canary.handler" }

    您也可以在有效负载 JSON 中设置其他环境变量,如 使用 Visual Studio Code IDE 中所列。

Run/Debug Configurations interface for AWS Lambda with LocalSyntheticsCanary settings.

使用 SAM CLI 在本地运行 Canary

使用以下过程之一,使用无服务器应用程序模型(SAM)CLI 在本地运行 Canary。请务必在 event.json 中为 s3Bucket 指定您自己的 Amazon S3 存储桶名称

要使用 SAM CLI 运行 Node.js Canary
  1. 通过输入以下命令转到源目录。

    cd synthetics-canary-local-debugging-sample/nodejs-canary
  2. 输入以下命令。

    sam build sam local invoke -e ../event.json
要使用 SAM CLI 运行 Python Canary
  1. 通过输入以下命令转到源目录。

    cd synthetics-canary-local-debugging-sample/python-canary
  2. 输入以下命令。

    sam build sam local invoke -e ../event.json

将您的本地测试环境集成到现有的 Canary 包中

您可以通过复制三个文件将本地 Canary 调试集成到现有的 Canary 包中:

  • template.yml 文件复制到您的 Canary 包根目录中。请务必修改 CodeUri 的路径以指向您的 Canary 代码所在的目录。

  • 如果您使用的是 Node.js Canary,请将 cw-synthetics.js 文件复制到您的 Canary 源目录。如果您使用的是 Python Canary,请将 cw-synthetics.py 复制到您的 Canary 源目录。

  • 复制启动配置文件。vscode/launch.json 进入包根目录。确保将其放在 .vscode 目录中;如果目录尚不存在,请创建目录。

更改 CloudWatch Synthetics 运行时

在调试的过程中,您可能需要尝试使用不同的 CloudWatch Synthetics 运行时来运行 Canary,而不是最新的运行时。为此,请从下表之一中找到要使用的运行时。务必为正确的区域选择运行时。然后,将该运行时的 ARN 粘贴到 template.yml 文件中的相应位置,然后运行 Canary。

Node.js 运行时

syn-nodejs-puppeteer-7.0 的 ARN

下表列出了要在各个 AWS 区域中用于 syn-nodejs-puppeteer-7.0 版本 CloudWatch Synthetics 运行时的适用 ARN。

区域 ARN

美国东部(弗吉尼亚州北部)

arn:aws:lambda:us-east-1:378653112637:layer:Synthetics:44

美国东部(俄亥俄州)

arn:aws:lambda:us-east-2:772927465453:layer:Synthetics:46

美国西部(加利福尼亚北部)

arn:aws:lambda:us-west-1:332033056316:layer:Synthetics:44

美国西部(俄勒冈州)

arn:aws:lambda:us-west-2:760325925879:layer:Synthetics:47

非洲(开普敦)

arn:aws:lambda:af-south-1:461844272066:layer:Synthetics:44

亚太地区(香港)

arn:aws:lambda:ap-east-1:129828061636:layer:Synthetics:45

亚太地区(海得拉巴)

arn:aws:lambda:ap-south-2:280298676434:layer:Synthetics:20

亚太地区(雅加达)

arn:aws:lambda:ap-southeast-3:246953257743:layer:Synthetics:26

亚太地区(墨尔本)

arn:aws:lambda:ap-southeast-4:200724813040:layer:Synthetics:18

亚太地区(孟买)

arn:aws:lambda:ap-south-1:724929286329:layer:Synthetics:44

亚太地区(大阪)

arn:aws:lambda:ap-northeast-3:608016332111:layer:Synthetics:30

亚太地区(首尔)

arn:aws:lambda:ap-northeast-2:989515803484:layer:Synthetics:46

亚太地区(新加坡)

arn:aws:lambda:ap-southeast-1:068035103298:layer:Synthetics:49

亚太地区(悉尼)

arn:aws:lambda:ap-southeast-2:584677157514:layer:Synthetics:44

亚太地区(东京)

arn:aws:lambda:ap-northeast-1:172291836251:layer:Synthetics:44

加拿大(中部)

arn:aws:lambda:ca-central-1:236629016841:layer:Synthetics:44

加拿大西部(卡尔加里)

arn:aws:lambda:ca-west-1:944448206667:layer:Synthetics:76

中国(北京)

arn:aws-cn:lambda:cn-north-1:422629156088:layer:Synthetics:45

中国(宁夏);

arn:aws-cn:lambda:cn-northwest-1:474974519687:layer:Synthetics:46

欧洲地区(法兰克福)

arn:aws:lambda:eu-central-1:122305336817:layer:Synthetics:44

欧洲地区(爱尔兰)

arn:aws:lambda:eu-west-1:563204233543:layer:Synthetics:46

欧洲地区(伦敦)

arn:aws:lambda:eu-west-2:565831452869:layer:Synthetics:44

欧洲地区(米兰)

arn:aws:lambda:eu-south-1:525618516618:layer:Synthetics:45

欧洲地区(巴黎)

arn:aws:lambda:eu-west-3:469466506258:layer:Synthetics:44

欧洲(西班牙)

arn:aws:lambda:eu-south-2:029793053121:layer:Synthetics:20

欧洲地区(斯德哥尔摩)

arn:aws:lambda:eu-north-1:162938142733:layer:Synthetics:44

欧洲(苏黎世)

arn:aws:lambda:eu-central-2:224218992030:layer:Synthetics:19

以色列(特拉维夫)

arn:aws:lambda:il-central-1:313249807427:layer:Synthetics:17

中东(巴林)

arn:aws:lambda:me-south-1:823195537320:layer:Synthetics:44

中东(阿联酋)

arn:aws:lambda:me-central-1:239544149032:layer:Synthetics:19

南美洲(圣保罗)

arn:aws:lambda:sa-east-1:783765544751:layer:Synthetics:45

AWS GovCloud(美国东部)

arn:aws-us-gov:lambda:us-gov-east-1:946759330430:layer:Synthetics:41

AWS GovCloud(美国西部)

arn:aws-us-gov:lambda:us-gov-west-1:946807836238:layer:Synthetics:42

syn-nodejs-puppeteer-6.2 的 ARN

下表列出了要在各个 AWS 区域中用于 syn-nodejs-puppeteer-6.2 版本 CloudWatch Synthetics 运行时的适用 ARN。

区域 ARN

美国东部(弗吉尼亚州北部)

arn:aws:lambda:us-east-1:378653112637:layer:Synthetics:41

美国东部(俄亥俄州)

arn:aws:lambda:us-east-2:772927465453:layer:Synthetics:43

美国西部(加利福尼亚北部)

arn:aws:lambda:us-west-1:332033056316:layer:Synthetics:41

美国西部(俄勒冈州)

arn:aws:lambda:us-west-2:760325925879:layer:Synthetics:44

非洲(开普敦)

arn:aws:lambda:af-south-1:461844272066:layer:Synthetics:41

亚太地区(香港)

arn:aws:lambda:ap-east-1:129828061636:layer:Synthetics:42

亚太地区(海得拉巴)

arn:aws:lambda:ap-south-2:280298676434:layer:Synthetics:17

亚太地区(雅加达)

arn:aws:lambda:ap-southeast-3:246953257743:layer:Synthetics:23

亚太地区(墨尔本)

arn:aws:lambda:ap-southeast-4:200724813040:layer:Synthetics:15

亚太地区(孟买)

arn:aws:lambda:ap-south-1:724929286329:layer:Synthetics:41

亚太地区(大阪)

arn:aws:lambda:ap-northeast-3:608016332111:layer:Synthetics:27

亚太地区(首尔)

arn:aws:lambda:ap-northeast-2:989515803484:layer:Synthetics:42

亚太地区(新加坡)

arn:aws:lambda:ap-southeast-1:068035103298:layer:Synthetics:46

亚太地区(悉尼)

arn:aws:lambda:ap-southeast-2:584677157514:layer:Synthetics:41

亚太地区(东京)

arn:aws:lambda:ap-northeast-1:172291836251:layer:Synthetics:41

加拿大(中部)

arn:aws:lambda:ca-central-1:236629016841:layer:Synthetics:41

加拿大西部(卡尔加里)

arn:aws:lambda:ca-west-1:944448206667:layer:Synthetics:73

中国(北京)

arn:aws-cn:lambda:cn-north-1:422629156088:layer:Synthetics:42

中国(宁夏);

arn:aws-cn:lambda:cn-northwest-1:474974519687:layer:Synthetics:43

欧洲地区(法兰克福)

arn:aws:lambda:eu-central-1:122305336817:layer:Synthetics:41

欧洲地区(爱尔兰)

arn:aws:lambda:eu-west-1:563204233543:layer:Synthetics:43

欧洲地区(伦敦)

arn:aws:lambda:eu-west-2:565831452869:layer:Synthetics:41

欧洲地区(米兰)

arn:aws:lambda:eu-south-1:525618516618:layer:Synthetics:42

欧洲地区(巴黎)

arn:aws:lambda:eu-west-3:469466506258:layer:Synthetics:41

欧洲(西班牙)

arn:aws:lambda:eu-south-2:029793053121:layer:Synthetics:17

欧洲地区(斯德哥尔摩)

arn:aws:lambda:eu-north-1:162938142733:layer:Synthetics:41

欧洲(苏黎世)

arn:aws:lambda:eu-central-2:224218992030:layer:Synthetics:16

以色列(特拉维夫)

arn:aws:lambda:il-central-1:313249807427:layer:Synthetics:14

中东(巴林)

arn:aws:lambda:me-south-1:823195537320:layer:Synthetics:41

中东(阿联酋)

arn:aws:lambda:me-central-1:239544149032:layer:Synthetics:16

南美洲(圣保罗)

arn:aws:lambda:sa-east-1:783765544751:layer:Synthetics:42

AWS GovCloud(美国东部)

arn:aws-us-gov:lambda:us-gov-east-1:946759330430:layer:Synthetics:39

AWS GovCloud(美国西部)

arn:aws-us-gov:lambda:us-gov-west-1:946807836238:layer:Synthetics:39

syn-nodejs-puppeteer-5.2 的 ARN

下表列出了要在各个 AWS 区域中用于 syn-nodejs-puppeteer-5.2 版本 CloudWatch Synthetics 运行时的适用 ARN。

区域 ARN

美国东部(弗吉尼亚州北部)

arn:aws:lambda:us-east-1:378653112637:layer:Synthetics:42

美国东部(俄亥俄州)

arn:aws:lambda:us-east-2:772927465453:layer:Synthetics:44

美国西部(加利福尼亚北部)

arn:aws:lambda:us-west-1:332033056316:layer:Synthetics:42

美国西部(俄勒冈州)

arn:aws:lambda:us-west-2:760325925879:layer:Synthetics:45

非洲(开普敦)

arn:aws:lambda:af-south-1:461844272066:layer:Synthetics:42

亚太地区(香港)

arn:aws:lambda:ap-east-1:129828061636:layer:Synthetics:43

亚太地区(海得拉巴)

arn:aws:lambda:ap-south-2:280298676434:layer:Synthetics:18

亚太地区(雅加达)

arn:aws:lambda:ap-southeast-3:246953257743:layer:Synthetics:24

亚太地区(墨尔本)

arn:aws:lambda:ap-southeast-4:200724813040:layer:Synthetics:16

亚太地区(孟买)

arn:aws:lambda:ap-south-1:724929286329:layer:Synthetics:42

亚太地区(大阪)

arn:aws:lambda:ap-northeast-3:608016332111:layer:Synthetics:28

亚太地区(首尔)

arn:aws:lambda:ap-northeast-2:989515803484:layer:Synthetics:44

亚太地区(新加坡)

arn:aws:lambda:ap-southeast-1:068035103298:layer:Synthetics:47

亚太地区(悉尼)

arn:aws:lambda:ap-southeast-2:584677157514:layer:Synthetics:42

亚太地区(东京)

arn:aws:lambda:ap-northeast-1:172291836251:layer:Synthetics:42

加拿大(中部)

arn:aws:lambda:ca-central-1:236629016841:layer:Synthetics:42

加拿大西部(卡尔加里)

arn:aws:lambda:ca-west-1:944448206667:layer:Synthetics:74

中国(北京)

arn:aws-cn:lambda:cn-north-1:422629156088:layer:Synthetics:43

中国(宁夏);

arn:aws-cn:lambda:cn-northwest-1:474974519687:layer:Synthetics:44

欧洲地区(法兰克福)

arn:aws:lambda:eu-central-1:122305336817:layer:Synthetics:42

欧洲地区(爱尔兰)

arn:aws:lambda:eu-west-1:563204233543:layer:Synthetics:44

欧洲地区(伦敦)

arn:aws:lambda:eu-west-2:565831452869:layer:Synthetics:42

欧洲地区(米兰)

arn:aws:lambda:eu-south-1:525618516618:layer:Synthetics:43

欧洲地区(巴黎)

arn:aws:lambda:eu-west-3:469466506258:layer:Synthetics:42

欧洲(西班牙)

arn:aws:lambda:eu-south-2:029793053121:layer:Synthetics:18

欧洲地区(斯德哥尔摩)

arn:aws:lambda:eu-north-1:162938142733:layer:Synthetics:42

欧洲(苏黎世)

arn:aws:lambda:eu-central-2:224218992030:layer:Synthetics:17

以色列(特拉维夫)

arn:aws:lambda:il-central-1:313249807427:layer:Synthetics:15

中东(巴林)

arn:aws:lambda:me-south-1:823195537320:layer:Synthetics:42

中东(阿联酋)

arn:aws:lambda:me-central-1:239544149032:layer:Synthetics:17

南美洲(圣保罗)

arn:aws:lambda:sa-east-1:783765544751:layer:Synthetics:43

AWS GovCloud(美国东部)

arn:aws-us-gov:lambda:us-gov-east-1:946759330430:layer:Synthetics:40

AWS GovCloud(美国西部)

arn:aws-us-gov:lambda:us-gov-west-1:946807836238:layer:Synthetics:40

Python 运行时

syn-python-selenium-3.0 的 ARN

下表列出了要在各个 AWS 区域中用于 syn-python-selenium-3.0 版本 CloudWatch Synthetics 运行时的适用 ARN。

区域 ARN

美国东部(弗吉尼亚州北部)

arn:aws:lambda:us-east-1:378653112637:layer:Synthetics_Selenium:32

美国东部(俄亥俄州)

arn:aws:lambda:us-east-2:772927465453:layer:Synthetics_Selenium:34

美国西部(加利福尼亚北部)

arn:aws:lambda:us-west-1:332033056316:layer:Synthetics_Selenium:32

美国西部(俄勒冈州)

arn:aws:lambda:us-west-2:760325925879:layer:Synthetics_Selenium:34

非洲(开普敦)

arn:aws:lambda:af-south-1:461844272066:layer:Synthetics_Selenium:32

亚太地区(香港)

arn:aws:lambda:ap-east-1:129828061636:layer:Synthetics_Selenium:32

亚太地区(海得拉巴)

arn:aws:lambda:ap-south-2:280298676434:layer:Synthetics_Selenium:20

亚太地区(雅加达)

arn:aws:lambda:ap-southeast-3:246953257743:layer:Synthetics_Selenium:26

亚太地区(墨尔本)

arn:aws:lambda:ap-southeast-4:200724813040:layer:Synthetics_Selenium:18

亚太地区(孟买)

arn:aws:lambda:ap-south-1:724929286329:layer:Synthetics_Selenium:32

亚太地区(大阪)

arn:aws:lambda:ap-northeast-3:608016332111:layer:Synthetics_Selenium:30

亚太地区(首尔)

arn:aws:lambda:ap-northeast-2:989515803484:layer:Synthetics_Selenium:34

亚太地区(新加坡)

arn:aws:lambda:ap-southeast-1:068035103298:layer:Synthetics_Selenium:37

亚太地区(悉尼)

arn:aws:lambda:ap-southeast-2:584677157514:layer:Synthetics_Selenium:32

亚太地区(东京)

arn:aws:lambda:ap-northeast-1:172291836251:layer:Synthetics_Selenium:32

加拿大(中部)

arn:aws:lambda:ca-central-1:236629016841:layer:Synthetics_Selenium:32

加拿大西部(卡尔加里)

arn:aws:lambda:ca-west-1:944448206667:layer:Synthetics_Selenium:76

中国(北京)

arn:aws-cn:lambda:cn-north-1:422629156088:layer:Synthetics_Selenium:32

中国(宁夏);

arn:aws-cn:lambda:cn-northwest-1:474974519687:layer:Synthetics_Selenium:32

欧洲地区(法兰克福)

arn:aws:lambda:eu-central-1:122305336817:layer:Synthetics_Selenium:32

欧洲地区(爱尔兰)

arn:aws:lambda:eu-west-1:563204233543:layer:Synthetics_Selenium:34

欧洲地区(伦敦)

arn:aws:lambda:eu-west-2:565831452869:layer:Synthetics_Selenium:32

欧洲地区(米兰)

arn:aws:lambda:eu-south-1:525618516618:layer:Synthetics_Selenium:33

欧洲地区(巴黎)

arn:aws:lambda:eu-west-3:469466506258:layer:Synthetics_Selenium:32

欧洲(西班牙)

arn:aws:lambda:eu-south-2:029793053121:layer:Synthetics_Selenium:20

欧洲地区(斯德哥尔摩)

arn:aws:lambda:eu-north-1:162938142733:layer:Synthetics_Selenium:32

欧洲(苏黎世)

arn:aws:lambda:eu-central-2:224218992030:layer:Synthetics_Selenium:19

以色列(特拉维夫)

arn:aws:lambda:il-central-1:313249807427:layer:Synthetics_Selenium:17

中东(巴林)

arn:aws:lambda:me-south-1:823195537320:layer:Synthetics_Selenium:32

中东(阿联酋)

arn:aws:lambda:me-central-1:239544149032:layer:Synthetics_Selenium:19

南美洲(圣保罗)

arn:aws:lambda:sa-east-1:783765544751:layer:Synthetics_Selenium:33

AWS GovCloud(美国东部)

arn:aws-us-gov:lambda:us-gov-east-1:946759330430:layer:Synthetics_Selenium:30

AWS GovCloud(美国西部)

arn:aws-us-gov:lambda:us-gov-west-1:946807836238:layer:Synthetics_Selenium:31

syn-python-selenium-2.1 的 ARN

下表列出了要在各个 AWS 区域中用于 syn-python-selenium-2.1 版本 CloudWatch Synthetics 运行时的适用 ARN。

区域 ARN

美国东部(弗吉尼亚州北部)

arn:aws:lambda:us-east-1:378653112637:layer:Synthetics:29

美国东部(俄亥俄州)

arn:aws:lambda:us-east-2:772927465453:layer:Synthetics:31

美国西部(加利福尼亚北部)

arn:aws:lambda:us-west-1:332033056316:layer:Synthetics:29

美国西部(俄勒冈州)

arn:aws:lambda:us-west-2:760325925879:layer:Synthetics:31

非洲(开普敦)

arn:aws:lambda:af-south-1:461844272066:layer:Synthetics:29

亚太地区(香港)

arn:aws:lambda:ap-east-1:129828061636:layer:Synthetics:29

亚太地区(海得拉巴)

arn:aws:lambda:ap-south-2:280298676434:layer:Synthetics:17

亚太地区(雅加达)

arn:aws:lambda:ap-southeast-3:246953257743:layer:Synthetics:23

亚太地区(墨尔本)

arn:aws:lambda:ap-southeast-4:200724813040:layer:Synthetics:15

亚太地区(孟买)

arn:aws:lambda:ap-south-1:724929286329:layer:Synthetics:29

亚太地区(大阪)

arn:aws:lambda:ap-northeast-3:608016332111:layer:Synthetics:27

亚太地区(首尔)

arn:aws:lambda:ap-northeast-2:989515803484:layer:Synthetics:30

亚太地区(新加坡)

arn:aws:lambda:ap-southeast-1:068035103298:layer:Synthetics:34

亚太地区(悉尼)

arn:aws:lambda:ap-southeast-2:584677157514:layer:Synthetics:29

亚太地区(东京)

arn:aws:lambda:ap-northeast-1:172291836251:layer:Synthetics:29

加拿大(中部)

arn:aws:lambda:ca-central-1:236629016841:layer:Synthetics:29

加拿大西部(卡尔加里)

arn:aws:lambda:ca-west-1:944448206667:layer:Synthetics:73

中国(北京)

arn:aws-cn:lambda:cn-north-1:422629156088:layer:Synthetics:29

中国(宁夏);

arn:aws-cn:lambda:cn-northwest-1:474974519687:layer:Synthetics:29

欧洲地区(法兰克福)

arn:aws:lambda:eu-central-1:122305336817:layer:Synthetics:29

欧洲地区(爱尔兰)

arn:aws:lambda:eu-west-1:563204233543:layer:Synthetics:31

欧洲地区(伦敦)

arn:aws:lambda:eu-west-2:565831452869:layer:Synthetics:29

欧洲地区(米兰)

arn:aws:lambda:eu-south-1:525618516618:layer:Synthetics:30

欧洲地区(巴黎)

arn:aws:lambda:eu-west-3:469466506258:layer:Synthetics:29

欧洲(西班牙)

arn:aws:lambda:eu-south-2:029793053121:layer:Synthetics:17

欧洲地区(斯德哥尔摩)

arn:aws:lambda:eu-north-1:162938142733:layer:Synthetics:29

欧洲(苏黎世)

arn:aws:lambda:eu-central-2:224218992030:layer:Synthetics:16

以色列(特拉维夫)

arn:aws:lambda:il-central-1:313249807427:layer:Synthetics:14

中东(巴林)

arn:aws:lambda:me-south-1:823195537320:layer:Synthetics:29

中东(阿联酋)

arn:aws:lambda:me-central-1:239544149032:layer:Synthetics:16

南美洲(圣保罗)

arn:aws:lambda:sa-east-1:783765544751:layer:Synthetics:30

AWS GovCloud(美国东部)

arn:aws-us-gov:lambda:us-gov-east-1:946759330430:layer:Synthetics:29

AWS GovCloud(美国西部)

arn:aws-us-gov:lambda:us-gov-west-1:946807836238:layer:Synthetics:29

常见错误

错误:在本地运行 AWS SAM 项目需要 Docker。您是否已安装并正在运行它?

请务必在计算机上启动 Docker。

SAM 本地调用失败:调用 GetLayerVersion 操作时发生错误(ExpiredTokenException):请求中包含的安全令牌已过期

确保已设置 AWS 默认配置文件。

更常见的错误

有关 SAM 常见错误的更多信息,请参阅 AWS SAM CLI 故障排除