Amazon S3 部署動作參考 - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon S3 部署動作參考

您可以使用 Amazon S3 部署動作,將檔案部署到 Amazon S3 儲存貯體,以進行靜態網站託管或封存。您可以指定是否要在上傳至儲存貯體之前擷取部署檔案。

注意

本參考主題說明部署平台為 Amazon S3 儲存貯體並設定為託管 CodePipeline 的 Amazon S3 部署動作。如需有關 Amazon S3 來源動作的參考資訊 CodePipeline,請參閱 Amazon S3 來源動作參考

動作類型

  • 類別:Deploy

  • 擁有者:AWS

  • 提供者:S3

  • 版本:1

組態參數

BucketName

必要:是

要部署檔案的 Amazon S3 儲存貯體名稱。

擷取

必要:是

如果為 true,請指定要在上傳之前擷取檔案。否則,應用程式檔案會保持壓縮狀態以供上傳,例如託管靜態網站的情況。如果為 false,則需要 ObjectKey

ObjectKey

條件式。在 Extract = false 時需要

Amazon S3 物件金鑰的名稱,可唯一識別 S3 儲存貯體中的物件。

KMSEncryptionKeyARN

必要:否

主機儲存貯體 AWS KMS 加密金鑰ARN的 。KMSEncryptionKeyARN 參數會使用提供的 加密上傳成品 AWS KMS key。對於KMS金鑰,您可以使用金鑰 ID、金鑰 ARN或別名 ARN。

注意

只有建立KMS金鑰的帳戶才能識別別名。對於跨帳戶動作,您只能使用金鑰 ID 或金鑰ARN來識別金鑰。跨帳戶動作涉及使用來自其他帳戶 (AccountB) 的角色,因此指定金鑰 ID 將使用其他帳戶 (AccountB) 中的金鑰。

重要

CodePipeline 僅支援對稱KMS金鑰。請勿使用非對稱KMS金鑰來加密 S3 儲存貯體中的資料。

罐裝ACL

必要:否

參數會將指定的固定ACLCannedACL項目套用至部署至 Amazon S3 的物件。這會覆寫ACL套用至物件的任何現有 。

CacheControl

必要:否

CacheControl 參數控制儲存貯體中物件的請求/回應的快取行為。如需有效值的清單,請參閱 HTTP操作的Cache-Control標頭欄位。若要在 CacheControl 中輸入多個值,請在各值之間使用逗號。您可以在每個逗號後面新增空格 (選用),如 的此範例所示CLI:

"CacheControl": "public, max-age=0, no-transform"

Input artifacts (輸入成品)

  • 成品數量:1

  • 說明:用於部署或封存的檔案是從來源儲存庫取得、壓縮,並由 上傳 CodePipeline。

輸出成品

  • 成品數量: 0

  • 描述:輸出成品不適用於此動作類型。

動作組態範例

下列顯示動作組態的範例。

設定為 Extract 時的範例組態 false

下列範例顯示使用 Extract 欄位設定為 建立動作時的預設動作組態false

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'false' OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "false" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

設定為 Extract 時的範例組態 true

下列範例顯示使用 Extract 欄位設定為 建立動作時的預設動作組態true

YAML
Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: website-bucket Extract: 'true' ObjectKey: MyWebsite OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-west-2 Namespace: DeployVariables
JSON
{ "Name": "Deploy", "Actions": [ { "Name": "Deploy", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "S3", "Version": "1" }, "RunOrder": 1, "Configuration": { "BucketName": "website-bucket", "Extract": "true", "ObjectKey": "MyWebsite" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "SourceArtifact" } ], "Region": "us-west-2", "Namespace": "DeployVariables" } ] },

以下相關資源可協助您使用此動作。

  • 教學課程:建立使用 Amazon S3 作為部署提供者的管道 – 本教學課程會逐步說明如何使用 S3 部署動作建立管道的兩個範例。您可以下載範例檔案、將檔案上傳至儲存 CodeCommit 庫、建立 S3 儲存貯體,以及設定儲存貯體以進行託管。接下來,您可以使用 CodePipeline 主控台建立管道並指定 Amazon S3 部署組態。

  • Amazon S3 來源動作參考 – 此動作參考提供 Amazon S3 來源動作的參考資訊和範例 CodePipeline。