Amazon S3 來源動作參考 - AWS CodePipeline

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

Amazon S3 來源動作參考

當新物件上傳至已設定的儲存貯體和物件金鑰時觸發管道。

注意

本參考主題說明來源位置為設定版本控制的 Amazon S3 儲存貯體 CodePipeline 的 Amazon S3 來源Amazon S3動作。如需有關 Amazon S3 部署動作的參考資訊 CodePipeline,請參閱 Amazon S3 部署動作參考

您可以建立 Amazon S3 儲存貯體,以用作應用程式檔案的來源位置。

注意

當您建立來源儲存貯體時,請確定您對儲存貯體啟用版本控制。如果您想要使用現有的 Amazon S3 儲存貯體,請參閱使用版本控制在現有的儲存貯體上啟用版本控制。

如果您使用主控台建立或編輯管道, 會 CodePipeline 建立 CloudWatch 事件規則,在 S3 來源儲存貯體發生變更時啟動管道。

您必須先建立 Amazon S3 來源儲存貯體,並將來源檔案上傳為單一ZIP檔案,才能透過 Amazon S3 動作連接管道。

注意

當 Amazon S3 是管道的來源提供者時,您可以將來源檔案壓縮為單一 .zip,並將 .zip 上傳至來源儲存貯體。您也可以上傳單一解壓縮檔案;不過,預期 .zip 檔案的下游動作會失敗。

動作類型

  • 類別:Source

  • 擁有者:AWS

  • 提供者:S3

  • 版本:1

組態參數

S3 儲存貯體

必要:是

要偵測來源變更的 Amazon S3 儲存貯體名稱。

S3ObjectKey

必要:是

要偵測來源變更的 Amazon S3 物件金鑰名稱。

AllowOverrideForS3ObjectKey

必要:否

AllowOverrideForS3ObjectKey 控制來源覆寫是否StartPipelineExecution可覆寫已在來源動作S3ObjectKey中設定的 。如需使用 S3 物件金鑰覆寫來源的詳細資訊,請參閱 使用來源修訂覆寫啟動管道

重要

如果省略 AllowOverrideForS3ObjectKey, 會將此參數設定為 ,以 CodePipeline 預設覆寫來源動作中的 S3 ObjectKey 的功能false

此參數的有效值:

  • true:如果設定,預先設定的 S3 物件金鑰可以在管道執行期間由來源修訂覆寫覆寫。

    注意

    如果您想要讓 CodePipeline 所有使用者在啟動新的管道執行時覆寫預先設定的 S3 物件金鑰,則必須將 AllowOverrideForS3ObjectKey設定為 true

  • false:

    如果設定 , CodePipeline 則不允許使用來源修訂覆寫覆寫 S3 物件金鑰。這也是此參數的預設值。

PollForSourceChanges

必要:否

PollForSourceChanges 控制 是否 CodePipeline 輪詢 Amazon S3 來源儲存貯體以進行來源變更。我們建議您使用 CloudWatch Events 和 CloudTrail 來偵測來源變更。如需設定 CloudWatch 事件的詳細資訊,請參閱 使用 S3 來源和 CloudTrail 追蹤 (CLI) 遷移輪詢管道使用 S3 來源和 CloudTrail 追蹤遷移輪詢管道 (AWS CloudFormation 範本)

重要

如果您想要設定 CloudWatch Events,您必須PollForSourceChanges將 設定為 false,以避免重複管道執行。

此參數的有效值:

  • true:如果已設定, 會 CodePipeline 輪詢來源位置以進行來源變更。

    注意

    如果省略 PollForSourceChanges, CodePipeline 預設會輪詢來源位置以進行來源變更。此行為同於包含 PollForSourceChanges 且設定為 true

  • false:如果設定, CodePipeline 不會輪詢來源位置以進行來源變更。如果您想要設定 CloudWatch 事件規則來偵測來源變更,請使用此設定。

Input artifacts (輸入成品)

  • 成品數量:0

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

輸出成品

  • 成品數量: 1

  • 描述:提供設定為連線至管道的來源儲存貯體中可用的成品。從儲存貯體產生的成品是 Amazon S3 動作的輸出成品。Amazon S3 物件中繼資料 (ETag 和版本 ID) 會顯示 CodePipeline 為觸發管道執行的來源修訂版。

輸出變數

設定時,此動作會產生變數,供管道中的下游動作的動作組態所參考。即使此動作沒有命名空間,此動作產生的變數仍可視為輸出變數。您可以設定動作的命名空間,讓這些變數可供下游動作的組態使用。

如需 中變數的詳細資訊 CodePipeline,請參閱 變數參考

BucketName

與觸發管道的來源變更相關的 Amazon S3 儲存貯體名稱。

ETag

物件的實體標籤,此物件與觸發管道的來源變更有關。ETag 是 物件的MD5雜湊。ETag 僅反映物件內容的變更,而不是其中繼資料。

ObjectKey

與觸發管道的來源變更相關的 Amazon S3 物件金鑰名稱。

VersionId

物件版本的版本 ID,此物件與觸發管道的來源變更有關。

動作宣告

YAML
Name: Source Actions: - RunOrder: 1 OutputArtifacts: - Name: SourceArtifact ActionTypeId: Provider: S3 Owner: AWS Version: '1' Category: Source Region: us-west-2 Name: Source Configuration: S3Bucket: amzn-s3-demo-source-bucket S3ObjectKey: my-application.zip PollForSourceChanges: 'false' InputArtifacts: []
JSON
{ "Name": "Source", "Actions": [ { "RunOrder": 1, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "ActionTypeId": { "Provider": "S3", "Owner": "AWS", "Version": "1", "Category": "Source" }, "Region": "us-west-2", "Name": "Source", "Configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "S3ObjectKey": "my-application.zip", "PollForSourceChanges": "false" }, "InputArtifacts": [] } ] },

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

  • 教學:建立簡易管道 (S3 儲存貯體) – 本教學課程提供範例應用程式規格檔案,以及範例 CodeDeploy應用程式和部署群組。使用此教學課程建立管道,其中包含部署至 Amazon 執行個體的 Amazon S3 來源。 EC2