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

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

sam init

使用 AWS SAM 模板初始化无服务器应用程序。该模板为您的 AWS Lambda 函数提供文件夹结构,并连接到事件源,如 APIs、Amazon Simple Storage Service (Amazon S3) 存储桶或 Amazon DynamoDB 表。此应用程序包括您在开始使用和最终将它扩展到生产规模应用程序所需的一切内容。

对于某些示例应用程序,您可以选择应用程序的程序包类型:ZipImage。 有关 Lambda 程序包类型的更多信息,请参阅 中的 Lambda 部署程序包AWS Lambda Developer Guide

用量:

sam init [OPTIONS]
注意

对于 AWS SAM 版本 0.30.0 或更高版本,您可以使用两种模式之一初始化您的应用程序:1 个交互式工作流程或 2) 提供所有必需参数。

  • 交互式工作流程: 通过交互式初始化工作流程,您可以输入:1) 您的项目名称、首选运行时和模板文件,或 2) 自定义模板的位置。

  • 提供参数:提供所有必需的参数。

如果您提供了所需参数的子集,系统会提示您输入所需的其他信息。

示例:

Initializes a new SAM project with required parameters passed as parameters sam init --runtime python3.7 --dependency-manager pip --app-template hello-world --name sam-app Initializes a new SAM project using custom template in a Git/Mercurial repository # gh being expanded to github url sam init --location gh:aws-samples/cookiecutter-aws-sam-python sam init --location git+ssh://git@github.com/aws-samples/cookiecutter-aws-sam-python.git sam init --location hg+ssh://hg@bitbucket.org/repo/template-name # Initializes a new SAM project using custom template in a Zipfile sam init --location /path/to/template.zip sam init --location https://example.com/path/to/template.zip # Initializes a new SAM project using cookiecutter template in a local path sam init --location /path/to/template/folder

选项:

选项 描述
--no-interactive 禁用针对 init 参数的交互式提示,如果缺少任何必需值,则提示失败。
-l, --location TEXT

模板或应用程序位置(Git、Mercurial、HTTP/HTTPS、.zip 文件、路径)。

如果指定了 --no-interactive 并且未提供 --runtime--name--app-template,则此参数是必需的。

对于 Git 存储库,您必须使用存储库的根位置。

对于本地路径,模板必须采用 .zip 文件或 Cookiecuter 格式。

--package-type [Zip | Image] 示例应用程序的程序包类型。Zip 创建 .zip 文件存档,Image 创建容器映像。
-r, --runtime [python2.7 | ruby2.5 | ruby2.7 | java8 | python3.7 | dotnetcore2.0 | nodejs10.x | nodejs12.x | dotnetcore2.1 | dotnetcore1.0 | python3.6 | go1.x]

您的应用程序的 Lambda 运行时。此选项仅在程序包类型为 Zip 时适用。

如果指定了 --no-interactive,将 --image-type 指定为 Zip,并且未指定 --location,则此参数是必需的。

--base-image [amazon/nodejs12.x-base | amazon/nodejs10.x-base | amazon/python3.8-base | amazon/python3.7-base | amazon/python3.6-base | amazon/python2.7-base | amazon/ruby2.7-base | amazon/ruby2.5-base | amazon/go1.x-base | amazon/java11-base | amazon/java8.al2-base | amazon/java8-base | amazon/dotnetcore3.1-base | amazon/dotnetcore2.1-base]

您的应用程序的基本映像。此选项仅在程序包类型为 Image 时适用。

如果指定了 --no-interactive,将 --image-type 指定为 Image,并且未指定 --location,则此参数是必需的。

-d, --dependency-manager [gradle | mod | maven | bundler | npm | cli-package | pip] 运行时的依赖项管理器。Lambda
-o, --output-dir PATH 初始化的应用程序输出的位置。
-n, --name TEXT

要生成为目录的项目的名称。

如果指定了 --no-interactive 并且未提供 --location,则此参数为必需参数。

--app-template TEXT

要使用的托管应用程序模板的标识符。如果不确定,请调用 sam init,但不提供交互式工作流程选项。

如果指定了 --no-interactive 并且未提供 --location,则此参数是必需的。

此参数仅在 AWS SAM CLI 版本 0.30.0 及更高版本中可用。使用早期版本指定此参数会导致错误。

--no-input 禁用 Cookiecuter 提示并接受模板配置中定义的 vcfdefault 值。
--extra-content 覆盖模板的 cookiecutter.json 配置中的任何自定义参数,例如,{"customParam1": "customValue1", "customParam2":"customValue2"}
--config-file PATH 包含要使用的默认参数值的配置文件的路径和文件名。默认值为项目根目录中的“samconfig.toml”。有关配置文件的详细信息,请参阅 AWS SAM CLI 配置文件
--config-env TEXT 环境名称,用于指定配置文件中要使用的默认参数值。默认值为“default”。有关配置文件的详细信息,请参阅 AWS SAM CLI 配置文件
--debug 打开调试日志记录以输出 AWS SAM CLI 生成的调试消息,并显示时间戳。
-h, --help 显示此消息并退出。