sam构建 - AWS Serverless Application Model
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

sam构建

构建一个无服务器应用程序,并准备在工作流程中的后续步骤,如本地测试应用程序,或将其部署到AWS云。

sam build 命令处理您的 AWS SAM 模板文件、应用程序代码以及任何适用的特定语言文件和依赖项,并复制工作流程中后续步骤预期的格式和位置中的构建工件。您可以在应用程序中包含的清单文件中指定依赖项,例如 requirements.txt 用于Python功能,或 package.json Node.js函数。

如果资源包括 Metadata 资源属性,带 BuildMethod 条目, sam build 根据 BuildMethod 条目。的有效值 BuildMethodAWS Lambda 运行时,或 makefile:

  • AWS Lambda 运行时标识符. 根据 Lambda 运行时。有关支持的运行时标识符列表,请参阅 AWS Lambda 运行时.

  • makefile您必须拥有一个 makefile 包括名为的构建目标 build-resource-logical-id。在这种情况下 sam build 执行构建目标的命令。

您可以使用 Metadata 资源属性,带 BuildMethod 输入以构建层和自定义运行时。有关构建层的信息,请参阅 建筑层. 有关构建自定义运行时的信息,请参阅 构建自定义运行时.

要查看使用此命令的端到端示例,包括本地测试和部署到AWS云,请参阅 教程: 部署HelloWorld应用程序. 的 sam build 命令是的一部分 第2步: 构建您的应用程序.

用量:

sam build [OPTIONS] [RESOURCE_LOGICAL_ID]

示例:

To use this command, update your SAM template to specify the path to your function's source code in the resource's Code or CodeUri property. To build on your workstation, run this command in folder containing SAM template. Built artifacts will be written to .aws-sam/build folder $ sam build To build inside a AWS Lambda like Docker container $ sam build --use-container To build & run your functions locally $ sam build && sam local invoke To build and package for deployment $ sam build && sam package --s3-bucket <bucketname> To build the 'MyFunction' resource $ sam build MyFunction

选项:

选项 Description
-b, --build-dir DIRECTORY 存储构建工件的文件夹的路径。此目录及其所有内容将使用此选项删除。
-s, --base-dir DIRECTORY 解析与此文件夹相关的函数源代码的相对路径。如果 AWS SAM 模板,您的源代码不在同一文件夹中。默认情况下,相对于模板的位置解析相对路径。
-u, --use-container 如果您的功能依赖于具有本地编译依赖关系的包,请使用此标记在 AWS Lambda-类似Docker容器。
-m, --manifest PATH 要使用的自定义依赖关系清单文件(例如package.json)的路径,而不是默认。
-t, --template-file, --template PATH 的路径和文件名 AWS SAM 模板文件 [default: template.[yaml|yml]].
--parameter-overrides 可选。包含 AWS CloudFormation 参数覆盖,编码为键值对。使用与 AWS CLI—例如,'ParameterKey=KeyPairName, ParameterValue=MyKey ParameterKey=InstanceType, ParameterValue=t1.micro'。
--skip-pull-image 指定命令是否应跳过为 Lambda 运行时。
--docker-network TEXT 指定现有Docker网络的名称或ID Lambda Docker容器应与默认桥接网络一起连接。如果未指定此项,Lambda 容器将仅连接到默认的桥接 Docker 网络。
--profile TEXT 来自您的凭证文件的特定配置文件, AWS 凭证。
--region TEXT 的 AWS 要部署到的地区。例如,us-east-1。
--config-file PATH 包含要使用的默认参数值的配置文件的路径和文件名。默认值为项目目录的根目录下的"samconfig.toml"。有关配置文件的详细信息,请参阅 AWS SAM CLI配置文件
--config-env TEXT 在配置文件中指定默认参数值的环境名称,以使用。默认值为“默认”。有关配置文件的详细信息,请参阅 AWS SAM CLI配置文件
--debug 打开调试日志记录以打印由生成的调试消息 AWS SAM CLI。
--help 显示此消息并退出。