如何部署应用程序 - AWS Serverless Application Repository
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如何部署应用程序

本节为您提供通过使用 AWS 管理控制台或 AWS CLI 从 AWS Serverless Application Repository 中部署无服务器应用程序的过程。

部署新应用程序(控制台)

本节介绍如何使用 AWS 管理控制台从 AWS Serverless Application Repository 部署新的应用程序。有关部署现有应用程序的新版本的说明,请参阅更新应用程序

浏览、搜索和部署应用程序

使用以下过程在 AWS Serverless Application Repository 中查找、配置和部署应用程序。

在 AWS Serverless Application Repository 中查找和配置应用程序

  1. 打开 AWS Serverless Application Repository 公有主页,或打开 AWS Lambda 控制台。选择 Create function (创建函数),然后选择 Browse serverless app repository (浏览无服务器应用程序存储库)

  2. 浏览或搜索应用程序。

    注意

    要显示包含自定义 IAM 角色或资源策略的应用程序,请选中 Show apps that create custom IAM roles or resource policies (显示创建自定义 IAM 角色或资源策略的应用程序) 复选框。有关自定义 IAM 角色和资源策略的更多信息,请参阅确认应用程序功能

  3. 选择一个应用程序以查看详细信息,例如它的权限、功能和 AWS 客户部署它的次数。

    为您尝试在其中部署应用程序的 AWS 区域显示部署计数。

  4. 在应用程序详细信息页上,通过查看 AWS SAM 模板、许可证和自述文件查看应用程序的权限和应用程序资源。在此页上,您还可以找到公开共享的应用程序的 Source code URL (源代码 URL) 链接。如果应用程序包含任何嵌套应用程序,您还可以在此页面上查看嵌套应用程序的详细信息。

  5. Application settings (应用程序设置) 部分中配置应用程序。有关配置特定应用程序的指导,请参阅该应用程序的自述文件。

    例如,配置要求可能包括指定您希望应用程序有权访问的资源的名称。此类资源可能是 Amazon DynamoDB 表、Amazon S3 存储桶或 Amazon API Gateway API。

  6. 选择 Deploy。这样做您会进入 Deployment status 页。

    注意

    如果应用程序具有需要确认的功能,您必须选中 I acknowledge this application creates custom IAM roles or resource policies (我确认此应用程序创建自定义 IAM 角色或资源策略) 复选框,然后才能部署应用程序。否则将导致出现错误。有关自定义 IAM 角色和资源策略的更多信息,请参阅确认应用程序功能

  7. Deployment status (部署状态) 页面上,您可以查看部署的进度。在等待部署完成时,您可以搜索和浏览其他应用程序,并通过 Lambda 控制台返回到此页。

成功部署应用程序后,您可以查看和管理使用现有 AWS 工具创建的资源。

部署新应用程序 (AWS CLI)

本节介绍如何使用 AWS CLI 从 AWS Serverless Application Repository 部署新的应用程序。有关部署现有应用程序的新版本的说明,请参阅更新应用程序

查找并确认应用程序功能 (AWS CLI)

要使用 AWS CLI 确认应用程序的功能,请执行以下步骤:

  1. 查看应用程序的功能。使用以下 AWS CLI 命令查看应用程序的功能:

    aws serverlessrepo get-application \ --application-id application-arn

    requiredCapabilities 响应属性包含您需要确认然后才能部署应用程序的应用程序功能列表。您还可以使用 AWS 开发工具包中的 GetApplication API 来获取此数据。

  2. 创建更改集。创建 AWS CloudFormation 更改集时,必须提供一组必需的功能。例如,使用以下 AWS CLI 命令通过确认应用程序的功能来部署应用程序:

    aws serverlessrepo create-cloud-formation-change-set \ -–application-id application-arn \ --stack-name unique-name-for-cloud-formation-stack \ --capabilities list-of-capabilities

    成功执行此命令后,将返回更改集 ID。下一步需要更改集 ID。您还可以使用 AWS 开发工具包中的 CreateCloudFormationChangeSet API 来创建更改集。

    例如,以下 AWS CLI 命令确认包含具有自定义名称的 AWS::IAM::Role 资源和一个或多个嵌套应用程序的应用程序:

    aws serverlessrepo create-cloud-formation-change-set \ -–application-id application-arn \ --stack-name unique-name-for-cloud-formation-stack \ --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
  3. 执行更改集。执行更改集将实际执行部署。提供在上一步中创建更改集时返回的更改集 ID。

    以下示例 AWS CLI 命令执行应用程序更改集以部署应用程序:

    aws cloudformation execute-change-set \ -–change-set-name changeset-id-arn

    您还可以使用 AWS 开发工具包中的 ExecuteChangeSet API 执行更改集。

删除应用程序堆栈

要删除您以前使用 AWS Serverless Application Repository 部署的应用程序,请按照删除 AWS CloudFormation 堆栈的相同过程操作: