本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
sam 同步
这些区域有:Amazon SAMCLIsync命令将您的本地更改部署到Amazon Web Services 云. 使用sync在迭代应用程序时构建、打包和部署对开发环境的更改。
用法:
sam sync [OPTIONS]
选项:
| 选项 | 描述 |
|---|---|
-t, --template-file, --template PATH |
您的路径和文件名Amazon SAM模板位于。 注意:如果指定此选项,则Amazon SAM仅部署模板及其指向的本地资源。 |
--code |
默认情况下,Amazon SAM同步应用程序中的所有资源。指定此选项以仅同步代码资源,其中包括:
|
--watch |
启动一个进程,监视您的本地应用程序是否有更改,并自动将其同步到Amazon Web Services 云. 默认情况下,当您指定此选项时,Amazon SAM更新应用程序中的所有资源时对其进行同步。有了该选项,Amazon SAM执行初始操作Amazon CloudFormation部署。然后,Amazon SAM使用Amazon用于更新代码资源的服务 API。Amazon SAM使用Amazon CloudFormation在更新您的基础架构资源时更新基础架构资源Amazon SAM模板。 |
--resource-id TEXT |
指定要同步的资源 ID。要同步多个资源,可以多次指定此选项。此选项受支持--code选项。例如,--resource-id Function1
--resource-id Function2。 |
--resource TEXT |
指定要同步的资源类型。要同步多个资源,可以多次指定此选项。此选项受支持--code选项。该值必须是下面列出的资源之一--code. 例如,--resource
AWS::Serverless::Function --resouce
AWS::Serverless::LayerVersion。 |
--dependency-layer | --no-dependency-layer |
指定是否将各个函数的依赖关系分离到另一层以加快同步过程。 默认设置为 |
-u, --use-container |
如果您的函数依赖于具有本机编译依赖项的包,请使用此选项在Amazon Lambda像 Docker 容器一样。 注意:目前,此选项与不兼容 |
--stack-name TEXT |
(必需)的名称Amazon CloudFormation为您的应用程序堆栈。 |
--s3-bucket TEXT |
Amazon Simple Storage Service (Amazon S3) 存储桶的名称Amazon CloudFormation模板。如果你的模板大于 51,200 字节,那么要么--s3-bucket或者--resolve-s3选项是必需的。如果指定了两者--s3-bucket和--resolve-s3选项,则将出错。 |
--s3-prefix TEXT |
前缀添加到您上传到 Amazon S3 存储桶的构件名称中。前缀名称是 Amazon S3 存储桶的路径名(文件夹名称)。这仅适用于使用声明的函数ZipThe 程序包。 |
--capabilities LIST |
您指定允许的功能列表Amazon CloudFormation创建特定的堆栈。一些堆栈模板中可能包含的资源会影响您的中的权限Amazon Web Services 账户.例如,通过创建新的Amazon Identity and Access Management(IAM) 用户。默认功能是CAPABILITY_NAMED_IAM和CAPABILITY_AUTO_EXPAND. 指定此选项以覆盖默认值。有效值包括:
|
-s, --base-dir DIRECTORY |
解析函数或层相对于此目录的源代码的相对路径。使用此选项更改源代码文件夹相对路径的解析方式。默认情况下,相对路径是相对路径解析的Amazon SAM模板的位置。 除了您正在构建的根应用程序或堆栈中的资源外,此选项还适用于嵌套应用程序或堆栈。此外,此选项适用于以下资源类型和属性:
|
--parameter-overrides |
包含以下内容的字符串Amazon CloudFormation参数覆盖。编码为键值对的参数。使用与Amazon Command Line Interface(Amazon CLI)。例如,ParameterKey=ParameterValue InstanceType=t1.micro。 |
--image-repository TEXT |
Amazon EElastic Container Registry (Amazon ECR) 存储库的名称。此命令将上载函数镜像。使用声明的函数是必需的ImageThe 程序包。 |
--kms-key-id TEXT |
的身份证Amazon Key Management Service(Amazon KMS) 密钥用于加密 Amazon S3 存储桶中的静态构件。如果不指定此选项,则Amazon SAM使用 Amaon S3 托管加密密钥。 |
--role-arn TEXT |
IAM 角色的 Amazon 资源名称 (ARN),Amazon CloudFormation在应用变更集时假设。 |
--notification-arns LIST |
Amazon Simple Notification Service (Amazon S3) 主题 ARN 列表Amazon CloudFormation与堆栈关联。 |
--tags LIST |
要与已创建或更新的堆栈关联的标签列表。Amazon CloudFormation还可以将这些标签传播到堆栈中支持该标签的资源。 |
--metadata |
元数据映射,用于附加到您在模板中引用的所有工件。 |
示例
运行以下命令以启动一个进程,该进程将本地环境中的更改自动部署到开发环境中Amazon Web Services 云.
sam sync --stack-namesam-app--watch
运行以下命令将代码更改部署到特定的 Lambda 函数和 Lambda 层。Amazon SAM使用 Lambda API 在中更新您的代码Amazon Web Services 云.
sam sync --stack-name sam-app --code --resource-id HelloWorldFunction --resource-id HelloWorldLayer
运行以下命令以将最新的本地更改部署到应用程序的Amazon CloudFormation堆栈。
sam sync --stack-name sam-app
嵌套堆栈示例
我们目前支持使用以下两种方法引用堆栈:!Ref
LayerName要么!GetAttr Stack.Output.LayerName.
Amazon SAM加速现在支持嵌套堆栈。要同步子堆栈中的资源,请继续为其提供根堆栈--stack-name参数。对于--resource-id参数,按以下格式指定子堆栈和资源. 您可以定义其他子堆栈,方法是随后使用以下方式描述堆栈名称ChildStack/resourceId/. 有关创建嵌套应用程序的更多信息,请参阅使用嵌套应用.
sam sync --code --stack-name sam-app --resource-id mystack/HelloWorldFunction