本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon S3 部署操作参考
您可以使用 Amazon S3 部署操作将文件部署到用于静态网站托管或存档的 Amazon S3 存储桶。您可以指定是否在将部署文件上传到桶之前提取部署文件。
注意
本参考主题描述了部署平台是为 CodePipeline 托管配置的 Amazon S3 存储桶时的 Amazon S3 部署操作。有关中的 Amazon S3 源操作的参考信息 CodePipeline,请参阅Amazon S3 源操作参考。
操作类型
-
类别:
Deploy -
拥有者:
AWS -
提供方:
S3 -
版本:
1
配置参数
- BucketName
-
是否必需:是
要用来存储源文件的 Amazon S3 桶的名称。
- Extract
-
是否必需:是
如果为 true,则会规定在上传之前提取文件。否则,应用程序文件将保持压缩状态以便上传,例如托管的静态网站。如果为 false,则
ObjectKey为必填项。 - ObjectKey
-
这是有条件的。如果
Extract= false,则为必需以唯一方式标识 S3 桶中对象的 Amazon S3 对象密钥的名称。
- KMSEncryptionKeyARN
-
必需:否
主机存储桶 AWS KMS 加密密钥的 ARN。
KMSEncryptionKeyARN参数使用提供的 AWS KMS key对上传的构件进行加密。对于 KMS 密钥,您可以使用密钥 ID、密钥 ARN 或别名 ARN。注意
别名只能在创建 KMS 密钥的账户中识别。对于跨账户操作,您只能使用密钥 ID 或密钥 ARN 来识别密钥。 Cross-account 操作涉及使用来自其他账户(AccountB)的角色,因此指定密钥 ID 将使用来自其他账户(AccountB)的密钥。
重要
CodePipeline 仅支持对称 KMS 密钥。请勿使用非对称 KMS 密钥对 S3 桶中的数据进行加密。
- CannedACL
-
必需:否
CannedACL参数将指定的标准 ACL 应用于部署到 Amazon S3 的对象。这将覆盖已应用于对象的任何现有 ACL。 - CacheControl
-
必需:否
该
CacheControl参数控制存储桶中对象 requests/responses 的缓存行为。有关有效值的列表,请参阅 HTTP 操作的Cache-Control标头字段。要在 CacheControl中输入多个值,请在每个值之间使用逗号。您可以为 CLI 在每个逗号后添加一个空格(可选),如本示例所示:"CacheControl": "public, max-age=0, no-transform"
输入构件
-
构件数:
1 -
描述:用于部署或存档的文件从源存储库获取、压缩并由 CodePipeline上传。
输出构件
-
构件数:
0 -
描述:输出构件不适用于此操作类型。
服务角色权限:S3 部署操作
对于 S3 部署操作支持,将以下内容添加到策略语句中:
要获得 S3 部署操作支持,如果您的 S3 对象具有标签,则您还必须在策略语句中添加以下权限:
"s3:GetObjectTagging", "s3:GetObjectVersionTagging", "s3:PutObjectTagging"
操作配置示例
下面展示了操作配置的示例。
Extract 设置为 false 时的配置示例
以下示例显示了在 Extract 字段设置为 false 的情况下,创建操作时的默认操作配置。
Extract 设置为 true 时的配置示例
以下示例显示了在 Extract 字段设置为 true 的情况下,创建操作时的默认操作配置。
另请参阅
下列相关资源在您使用此操作的过程中会有所帮助。
-
教程:创建以 Amazon S3 作为部署提供程序的管道:本教程将演示两个示例,引导您创建具有 S3 部署操作的管道。您可以下载示例文件,将文件上传到 CodeCommit 存储库,创建 S3 存储桶并配置存储桶以进行托管。接下来,您使用 CodePipeline 控制台创建管道并指定 Amazon S3 部署配置。
-
Amazon S3 源操作参考— 本操作参考提供了中 Amazon S3 源操作的参考信息和示例 CodePipeline。