sam package - Amazon Serverless Application Model
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

sam package

Amazon Serverless Application Model 命令行界面 (Amazon SAM CLI) 打包 Amazon SAM 应用程序。

此命令会创建一个.zip包含您的代码和依赖项的文件,并将该文件上传到亚马逊简单存储服务 (Amazon S3) Simple Service。 Amazon SAM 为存储在 Amazon S3 中的所有文件启用加密。然后,它会返回您的 Amazon SAM 模板副本,将对本地项目的引用替换为命令上传项目的 Amazon S3 位置。

默认情况下,当您使用此命令时, Amazon SAM CLI 会假设当前工作目录是项目的根目录。 Amazon SAMCLI第一个尝试查找使用sam build命令构建的模板文件,该文件位于.aws-sam子文件夹中并命名template.yaml。接下来, Amazon SAM CLI 尝试在当前工作目录中查找名为 template.yamltemplate.yml 的模板文件。如果您指定该--template选项, Amazon SAMCLI则其默认行为将被覆盖,并且只会打包该 Amazon SAM 模板及其指向的本地资源。

注意

sam deploy 现在隐式执行 sam package 的功能。您可以直接使用 sam deploy 命令打包和部署应用程序。

使用量

$ sam package <arguments> <options>

参数

资源 ID

要打包的 Lambda 函数的 ID。

此参数是可选的。如果您的应用程序包含单个 Lambda 函数,则 CL Amazon SAM I 会将其打包。如果应用程序包含多个函数,请提供用于打包单个函数的函数 ID。

有效值:资源的逻辑 ID 或资源 ARN。

Options

--config-env TEXT

在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息,请参阅 Amazon SAMCLI 配置文件

--config-file PATH

包含要使用的默认参数值的配置文件的路径和文件名。在项目目录的根目录中,默认值为“samconfig.toml”。有关配置文件的详细信息,请参阅 Amazon SAMCLI 配置文件

--debug

启用调试日志记录,以打印 Amazon SAM CLI 生成的调试消息并显示时间戳。

--force-upload

覆盖 Amazon S3 存储桶中的现有文件。指定此标志可上传构件,即使它们与 Amazon S3 存储桶中的现有构件匹配。

--help

显示此消息并退出。

--image-repository TEXT

此命令用于上传函数映像的 Amazon Elastic Container Registry (Amazon ECR) 的 URI。对于使用 Image 包类型声明的函数是必需的。

--kms-key-id TEXT

用于加密 Amazon S3 存储桶中静态项目的 Amazon Key Management Service (Amazon KMS) 密钥的 ID。如果未指定此选项,则 Amazon SAM 使用 Amazon S3 托管的加密密钥。

--metadata

(可选)要附加到模板中引用的所有构件的元数据的映射。

--no-progressbar

将构件上传到 Amazon S3 时不显示进度条。

--output-template-file PATH

命令写入打包模板的文件的路径。如果不指定路径,则命令将模板写入标准输出。

--profile TEXT

您的凭证文件中用于获取 Amazon 凭证的特定个人资料。

--region TEXT

要部署到的 Amazon 区域。例如,us-east-1。

--resolve-s3

自动创建 Amazon S3 存储桶以用于打包。如果同时指定 --s3-bucket--resolve-s3 选项,则会出现错误。

--s3-bucket TEXT

此命令用于上传您的项目的 Amazon S3 存储桶的名称。如果您的构件大于 51,200 字节,则需要使用--s3-bucket--resolve-s3选项。如果同时指定 --s3-bucket--resolve-s3 选项,则会出现错误。

--s3-prefix TEXT

上传到 Amazon S3 存储桶的构件名称中添加的前缀。前缀名称是 Amazon S3 存储桶的路径名称(文件夹名称)。这仅适用于以 Zip 包类型声明的函数。

--save-params

将您在命令行中提供的参数保存到 Amazon SAM 配置文件中。

--signing-profiles LIST

(可选)用于签署部署包的签名配置文件列表。此参数采用键值对列表,其中密钥是要签名的函数或层的名称,值是签名配置文件,可选的配置文件所有者用 : 分隔。例如,FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner

--template-file, --template, -t PATH

Amazon SAM 模板所在的路径和文件名。

注意

如果指定此选项,则仅 Amazon SAM 打包模板及其指向的本地资源。

--use-json

输出 Amazon CloudFormation 模板的 JSON。默认使用 YAML。