使用部署简介 AWS SAM - AWS Serverless Application Model

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用部署简介 AWS SAM

使用 AWS Serverless Application Model 命令行界面 (AWS SAM CLI) sam deploy 命令将您的无服务器应用程序部署到。 AWS Cloud

先决条件

要使用sam deploy,请安装 AWS SAM CLI 通过完成以下操作:

我们建议您在使用 sam deploy 之前初步了解以下主题:

使用 sam deploy 部署应用程序

首次部署无服务器应用程序时,请使用 --guided 选项。的 AWS SAM CLI 将引导您完成交互式流程,以配置应用程序的部署设置。

使用交互式流程部署应用程序
  1. 转到项目的根目录。此位置与您的 AWS SAM 模板相同。

    $ cd sam-app
  2. 运行以下命令:

    $ sam deploy --guided
  3. 在互动流程中, AWS SAM CLI 提示您配置应用程序部署设置的选项。

    方括号 ([ ]) 表示默认值。将答案留空以选择默认值。可从以下配置文件获得默认值:

    • ~/.aws/config— 您的常规 AWS 账户设置。

    • ~/.aws/credentials— 您的 AWS 账户凭证。

    • <project>/samconfig.toml - 项目的配置文件。

    通过回答 “来提供值” AWS SAM CLI 提示。例如,可以输入 y(表示)、n(表示)或字符串值。

    的 AWS SAM CLI 将你的回复写到你的项目samconfig.toml文件中。对于后续部署,您可以使用 sam deploy 和这些配置的值进行部署。要重新配置这些值,请再次使用 sam deploy --guided 或直接修改配置文件。

    下面是一个示例输出:

    sam-app $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: ENTER #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER
  4. 接下来, AWS SAM CLI 将您的应用程序部署到。 AWS Cloud在部署过程中,命令提示符中会显示进度。以下是部署的主要阶段:

    • 对于 AWS Lambda 功能打包为.zip 文件存档的应用程序, AWS SAM CLI 将包裹压缩并上传到亚马逊简单存储服务 (Amazon S3) 存储桶。如有必要, AWS SAM CLI 将创建一个新的存储桶。

    • 对于将 Lambda 函数打包为容器映像的应用程序, AWS SAM CLI 将图片上传到亚马逊弹性容器注册表 (AmazonECR)。如有必要, AWS SAM CLI 将创建一个新的存储库。

    • 的 AWS SAM CLI 创建 AWS CloudFormation 更改集并将您的应用程序 AWS CloudFormation 作为堆栈部署到其中。

    • 的 AWS SAM CLI 使用您的 Lambda 函数的新CodeUri值修改已部署的 AWS SAM 模板。

    以下是示例 AWS SAM CLI 部署输出:

    Looking for resources needed for deployment: Managed S3 bucket: aws-sam-cli-managed-default-samcliamzn-s3-demo-source-bucket-1a4x26zbcdkqr A different default S3 bucket can be set in samconfig.toml and auto resolution of buckets turned off by setting resolve_s3=False Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters]. This parameter will be only saved under [default.global.parameters] in /Users/.../sam-app/samconfig.toml. Saved arguments to config file Running 'sam deploy' for future deployments will use the parameters saved above. The above parameters can be changed by modifying samconfig.toml Learn more about samconfig.toml syntax at https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html Uploading to sam-app-zip/da3c598813f1c2151579b73ad788cac8 262144 / 619839 (42.29%)Uploading to sam-app-zip/da3c598813f1c2151579b73ad788cac8 524288 / 619839 (84.58%)Uploading to sam-app-zip/da3c598813f1c2151579b73ad788cac8 619839 / 619839 (100.00%) Deploying with following values =============================== Stack name : sam-app Region : us-west-2 Confirm changeset : True Disable rollback : False Deployment s3 bucket : aws-sam-cli-managed-default-samcliamzn-s3-demo-source-bucket-1a4x26zbcdkqr Capabilities : ["CAPABILITY_IAM"] Parameter overrides : {} Signing Profiles : {} Initiating deployment ===================== Uploading to sam-app-zip/be84c20f868068e4dc4a2c11966edf2d.template 1212 / 1212 (100.00%) Waiting for changeset to be created.. CloudFormation stack changeset ------------------------------------------------------------------------------------------------- Operation LogicalResourceId ResourceType Replacement ------------------------------------------------------------------------------------------------- + Add HelloWorldFunctionHell AWS::Lambda::Permissio N/A oWorldPermissionProd n + Add HelloWorldFunctionRole AWS::IAM::Role N/A + Add HelloWorldFunction AWS::Lambda::Function N/A + Add ServerlessRestApiDeplo AWS::ApiGateway::Deplo N/A yment47fc2d5f9d yment + Add ServerlessRestApiProdS AWS::ApiGateway::Stage N/A tage + Add ServerlessRestApi AWS::ApiGateway::RestA N/A pi ------------------------------------------------------------------------------------------------- Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1680559234/d9f58a77-98bc-41cd-b9f4-433a5a450d7a Previewing CloudFormation changeset before deployment ====================================================== Deploy this changeset? [y/N]: y 2023-04-03 12:00:50 - Waiting for stack create/update to complete CloudFormation events from stack operations (refresh every 5.0 seconds) ------------------------------------------------------------------------------------------------- ResourceStatus ResourceType LogicalResourceId ResourceStatusReason ------------------------------------------------------------------------------------------------- CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole Resource creation Initiated CREATE_COMPLETE AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction Resource creation Initiated CREATE_COMPLETE AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi Resource creation pi Initiated CREATE_COMPLETE AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell Resource creation n oWorldPermissionProd Initiated CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo Resource creation yment yment47fc2d5f9d Initiated CREATE_COMPLETE AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS Resource creation tage Initiated CREATE_COMPLETE AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_COMPLETE AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_COMPLETE AWS::CloudFormation::S sam-app-zip - tack ------------------------------------------------------------------------------------------------- CloudFormation outputs from deployed stack ------------------------------------------------------------------------------------------------- Outputs ------------------------------------------------------------------------------------------------- Key HelloWorldFunctionIamRole Description Implicit IAM Role created for Hello World function Value arn:aws:iam::012345678910:role/sam-app-zip- HelloWorldFunctionRole-11ZOGSCG28H0M Key HelloWorldApi Description API Gateway endpoint URL for Prod stage for Hello World function Value https://njzfhdmls0.execute-api.us-west-2.amazonaws.com/Prod/hello/ Key HelloWorldFunction Description Hello World Lambda Function ARN Value arn:aws:lambda:us-west-2:012345678910:function:sam-app- HelloWorldFunction-XPqNX4TBu7qn ------------------------------------------------------------------------------------------------- Successfully created/updated stack - sam-app-zip in us-west-2
  5. 要查看您部署的应用程序,请执行以下操作:

    1. 使用 URL https://console.aws.amazon.com/cloudformat ion 直接打开 AWS CloudFormation 控制台。

    2. 选择堆栈

    3. 通过应用程序名称识别堆栈并选择它。

在部署之前验证更改

你可以配置 AWS SAM CLI 以显示您的 AWS CloudFormation 更改集并在部署之前请求确认。

在部署之前确认更改
  1. 使用 sam deploy --guided 进行部署时,在部署之前输入 Y 确认更改。

    #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
    Confirm changes before deploy [Y/n]: Y

    或者,可以使用以下方法修改 samconfig.toml 文件:

    [default.deploy]
    [default.deploy.parameters]
    confirm_changeset = true
  2. 在部署期间, AWS SAM CLI 部署前会要求您确认更改。以下是示例:

    Waiting for changeset to be created.. CloudFormation stack changeset ------------------------------------------------------------------------------------------------- Operation LogicalResourceId ResourceType Replacement ------------------------------------------------------------------------------------------------- + Add HelloWorldFunctionHell AWS::Lambda::Permissio N/A oWorldPermissionProd n + Add HelloWorldFunctionRole AWS::IAM::Role N/A + Add HelloWorldFunction AWS::Lambda::Function N/A + Add ServerlessRestApiDeplo AWS::ApiGateway::Deplo N/A yment47fc2d5f9d yment + Add ServerlessRestApiProdS AWS::ApiGateway::Stage N/A tage + Add ServerlessRestApi AWS::ApiGateway::RestA N/A pi ------------------------------------------------------------------------------------------------- Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1680559234/d9f58a77-98bc-41cd-b9f4-433a5a450d7a Previewing CloudFormation changeset before deployment ====================================================== Deploy this changeset? [y/N]: y

在部署过程中指定其他参数

您可以在部署时指定要配置的其他参数值。若要这样做,只需在部署过程中修改 AWS SAM 模板并配置参数值。

指定其他参数
  1. 修改 AWS SAM 模板的Parameters部分。以下是示例:

    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Globals: ... Parameters: DomainName: Type: String Default: example Description: Domain name
  2. 运行 sam deploy --guided。下面是一个示例输出:

    sam-app $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app-zip]: ENTER AWS Region [us-west-2]: ENTER Parameter DomainName [example]: ENTER

配置 Lambda 函数的代码签名

您可以在部署时配置 Lambda 函数的代码签名。为此,您可以修改 AWS SAM 模板并在部署期间配置代码签名。

配置代码签名
  1. 在 AWS SAM 模板CodeSigningConfigArn中指定。以下是示例:

    AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: hello_world/ Handler: app.lambda_handler Runtime: python3.7 CodeSigningConfigArn: arn:aws:lambda:us-east-1:111122223333:code-signing-config:csc-12e12345db1234567
  2. 运行 sam deploy --guided。的 AWS SAM CLI 将提示您配置代码签名。下面是一个示例输出:

    #Found code signing configurations in your function definitions
    Do you want to sign your code? [Y/n]: ENTER
    #Please provide signing profile details for the following functions & layers
    #Signing profile details for function 'HelloWorld'
    Signing Profile Name: 
    Signing Profile Owner Account ID (optional):
    #Signing profile details for layer 'MyLayer', which is used by functions {'HelloWorld'}
    Signing Profile Name: 
    Signing Profile Owner Account ID (optional):

最佳实践

  • 使用时sam deploy, AWS SAM CLI 部署位于.aws-sam目录中的应用程序的构建工件。如果您更改了应用程序的原始文件,请在部署之前运行 sam build 以更新 .aws-sam 目录。

  • 首次部署应用程序时,使用 sam deploy --guided 来配置部署设置。对于后续部署,您可以使用 sam deploy 和配置的设置进行部署。

sam deploy 的选项

以下是 sam deploy 的常用选项:有关全部选项的列表,请参阅 sam deploy

使用有指导的交互式流程部署应用程序

使用 --guided 选项通过交互式流程配置应用程序的部署设置。以下是示例:

$ sam deploy --guided

应用程序的部署设置保存在项目的 samconfig.toml 文件中。要了解更多信息,请参阅 配置项目设置

问题排查

要排除故障 AWS SAM CLI,请参阅 AWS SAM CLI 故障排除

示例

部署包含打包为 .zip 文件存档的 Lambda 函数的 Hello World 应用程序

有关示例,请参阅 Hello World 应用程序教程中的步骤 3:将您的应用程序部署到 AWS Cloud

部署包含打包为容器映像的 Lambda 函数的 Hello World 应用程序

首先,使用 sam init 创建 Hello World 应用程序。在交互式流程中,选择 Python3.9 运行时和 Image 包类型。

$ sam init ... Which template source would you like to use? 1 - AWS Quick Start Templates 2 - Custom Template Location Choice: 1 Choose an AWS Quick Start application template 1 - Hello World Example 2 - Multi-step workflow ... Template: 1 Use the most popular runtime and package type? (Python and zip) [y/N]: ENTER Which runtime would you like to use? 1 - aot.dotnet7 (provided.al2) ... 15 - nodejs12.x 16 - python3.9 17 - python3.8 ... Runtime: 16 What package type would you like to use? 1 - Zip 2 - Image Package type: 2 Based on your selections, the only dependency manager available is pip. We will proceed copying the template using pip. ... Project name [sam-app]: ENTER ----------------------- Generating application: ----------------------- Name: sam-app Base Image: amazon/python3.9-base Architectures: x86_64 Dependency Manager: pip Output Directory: . Configuration file: sam-app/samconfig.toml Next steps can be found in the README file at sam-app/README.md ...

然后,运行 cd 以进入项目的根目录并运行 sam build。的 AWS SAM CLI 使用在本地构建我们的 Lambda 函数 Docker.

sam-app $ sam build Building codeuri: /Users/.../sam-app runtime: None metadata: {'Dockerfile': 'Dockerfile', 'DockerContext': '/Users/.../sam-app/hello_world', 'DockerTag': 'python3.9-v1'} architecture: x86_64 functions: HelloWorldFunction Building image for HelloWorldFunction function Setting DockerBuildArgs: {} for HelloWorldFunction function Step 1/5 : FROM public.ecr.aws/lambda/python:3.9 ---> 0a5e3da309aa Step 2/5 : COPY requirements.txt ./ ---> abc4e82e85f9 Step 3/5 : RUN python3.9 -m pip install -r requirements.txt -t . ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ---> Running in 43845e7aa22d Collecting requests Downloading requests-2.28.2-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 KB 829.5 kB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading idna-3.4-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 KB 2.4 MB/s eta 0:00:00 Collecting charset-normalizer<4,>=2 Downloading charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (199 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 199.2/199.2 KB 2.1 MB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading certifi-2022.12.7-py3-none-any.whl (155 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 KB 10.2 MB/s eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.15-py2.py3-none-any.whl (140 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.9/140.9 KB 9.1 MB/s eta 0:00:00 Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests Successfully installed certifi-2022.12.7 charset-normalizer-3.1.0 idna-3.4 requests-2.28.2 urllib3-1.26.15 Removing intermediate container 43845e7aa22d ---> cab8ace899ce Step 4/5 : COPY app.py ./ ---> 4146f3cd69f2 Step 5/5 : CMD ["app.lambda_handler"] ---> [Warning] The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested ---> Running in f4131ddffb31 Removing intermediate container f4131ddffb31 ---> d2f5180b2154 Successfully built d2f5180b2154 Successfully tagged helloworldfunction:python3.9-v1 Build Succeeded Built Artifacts : .aws-sam/build Built Template : .aws-sam/build/template.yaml Commands you can use next ========================= [*] Validate SAM template: sam validate [*] Invoke Function: sam local invoke [*] Test Function in the Cloud: sam sync --stack-name {{stack-name}} --watch [*] Deploy: sam deploy --guided

然后,运行 sam deploy --guided 部署应用程序。的 AWS SAM CLI 指导我们配置部署设置。然后, AWS SAM CLI 将我们的应用程序部署到。 AWS Cloud

sam-app $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: ENTER #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER Looking for resources needed for deployment: Managed S3 bucket: aws-sam-cli-managed-default-samcliamzn-s3-demo-source-bucket-1a4x26zbcdkqr A different default S3 bucket can be set in samconfig.toml and auto resolution of buckets turned off by setting resolve_s3=False Parameter "stack_name=sam-app" in [default.deploy.parameters] is defined as a global parameter [default.global.parameters]. This parameter will be only saved under [default.global.parameters] in /Users/.../sam-app/samconfig.toml. Saved arguments to config file Running 'sam deploy' for future deployments will use the parameters saved above. The above parameters can be changed by modifying samconfig.toml Learn more about samconfig.toml syntax at https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-config.html e95fc5e75742: Pushed d8df51e7bdd7: Pushed b1d0d7e0b34a: Pushed 0071317b94d8: Pushed d98f98baf147: Pushed 2d244e0816c6: Pushed eb2eeb1ebe42: Pushed a5ca065a3279: Pushed fe9e144829c9: Pushed helloworldfunction-d2f5180b2154-python3.9-v1: digest: sha256:cceb71401b47dc3007a7a1e1f2e0baf162999e0e6841d15954745ecc0c447533 size: 2206 Deploying with following values =============================== Stack name : sam-app Region : us-west-2 Confirm changeset : True Disable rollback : False Deployment image repository : { "HelloWorldFunction": "012345678910.dkr.ecr.us-west-2.amazonaws.com/samapp7427b055/helloworldfunction19d43fc4repo" } Deployment s3 bucket : aws-sam-cli-managed-default-samcliamzn-s3-demo-source-bucket-1a4x26zbcdkqr Capabilities : ["CAPABILITY_IAM"] Parameter overrides : {} Signing Profiles : {} Initiating deployment ===================== HelloWorldFunction may not have authorization defined. Uploading to sam-app/682ad27c7cf7a17c7f77a1688b0844f2.template 1328 / 1328 (100.00%) Waiting for changeset to be created.. CloudFormation stack changeset ------------------------------------------------------------------------------------------------- Operation LogicalResourceId ResourceType Replacement ------------------------------------------------------------------------------------------------- + Add HelloWorldFunctionHell AWS::Lambda::Permissio N/A oWorldPermissionProd n + Add HelloWorldFunctionRole AWS::IAM::Role N/A + Add HelloWorldFunction AWS::Lambda::Function N/A + Add ServerlessRestApiDeplo AWS::ApiGateway::Deplo N/A yment47fc2d5f9d yment + Add ServerlessRestApiProdS AWS::ApiGateway::Stage N/A tage + Add ServerlessRestApi AWS::ApiGateway::RestA N/A pi ------------------------------------------------------------------------------------------------- Changeset created successfully. arn:aws:cloudformation:us-west-2:012345678910:changeSet/samcli-deploy1680634124/0ffd4faf-2e2b-487e-b9e0-9116e8299ac4 Previewing CloudFormation changeset before deployment ====================================================== Deploy this changeset? [y/N]: y 2023-04-04 08:49:15 - Waiting for stack create/update to complete CloudFormation events from stack operations (refresh every 5.0 seconds) ------------------------------------------------------------------------------------------------- ResourceStatus ResourceType LogicalResourceId ResourceStatusReason ------------------------------------------------------------------------------------------------- CREATE_IN_PROGRESS AWS::CloudFormation::S sam-app User Initiated tack CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::IAM::Role HelloWorldFunctionRole Resource creation Initiated CREATE_COMPLETE AWS::IAM::Role HelloWorldFunctionRole - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::Lambda::Function HelloWorldFunction Resource creation Initiated CREATE_COMPLETE AWS::Lambda::Function HelloWorldFunction - CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::ApiGateway::RestA ServerlessRestApi Resource creation pi Initiated CREATE_COMPLETE AWS::ApiGateway::RestA ServerlessRestApi - pi CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::Lambda::Permissio HelloWorldFunctionHell Resource creation n oWorldPermissionProd Initiated CREATE_IN_PROGRESS AWS::ApiGateway::Deplo ServerlessRestApiDeplo Resource creation yment yment47fc2d5f9d Initiated CREATE_COMPLETE AWS::ApiGateway::Deplo ServerlessRestApiDeplo - yment yment47fc2d5f9d CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_IN_PROGRESS AWS::ApiGateway::Stage ServerlessRestApiProdS Resource creation tage Initiated CREATE_COMPLETE AWS::ApiGateway::Stage ServerlessRestApiProdS - tage CREATE_COMPLETE AWS::Lambda::Permissio HelloWorldFunctionHell - n oWorldPermissionProd CREATE_COMPLETE AWS::CloudFormation::S sam-app - tack ------------------------------------------------------------------------------------------------- CloudFormation outputs from deployed stack ------------------------------------------------------------------------------------------------- Outputs ------------------------------------------------------------------------------------------------- Key HelloWorldFunctionIamRole Description Implicit IAM Role created for Hello World function Value arn:aws:iam::012345678910:role/sam-app-HelloWorldFunctionRole-JFML1JOKHJ71 Key HelloWorldApi Description API Gateway endpoint URL for Prod stage for Hello World function Value https://endlwiqqod.execute-api.us-west-2.amazonaws.com/Prod/hello/ Key HelloWorldFunction Description Hello World Lambda Function ARN Value arn:aws:lambda:us-west-2:012345678910:function:sam-app-HelloWorldFunction- kyg6Y2iNRUPg ------------------------------------------------------------------------------------------------- Successfully created/updated stack - sam-app in us-west-2

了解更多

要了解有关使用 AWS SAM CLI sam deploy命令,请参见以下内容: