Amazon S3 來源動作 - AWS CodePipeline

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

Amazon S3 來源動作

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

注意

本參考主題描述 Amazon S3 來源動作, CodePipeline 其中來源位置為針對版本控制設定的 Amazon S3 儲存貯體。如需中 Amazon S3 部署動作的參考資訊 CodePipeline,請參閱Amazon S3 部署動作

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

注意

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

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

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

注意

當 Amazon S3 是管道的來源供應商時,您可以將一或多個來源檔案壓縮為單一 .zip,然後將 .zip 上傳到來源儲存貯體。您也可以上傳單一解壓縮檔案;不過,預期 .zip 檔案的下游動作會失敗。

動作類型

  • 類別:Source

  • 擁有者:AWS

  • 提供者:S3

  • 版本:1

組態參數

S3 儲存貯體

必要:是

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

S3 ObjectKey

必要:是

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

AllowOverrideForS3 ObjectKey

必要:否

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

重要

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

此參數的有效值:

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

    注意

    如果您打算允許所有 CodePipeline 使用者在開始執行新管道時覆寫預先設定的 S3 物件金鑰,則必須AllowOverrideForS3ObjectKey將設定為true

  • false:

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

PollForSourceChanges

必要:否

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

重要

如果您打算配置 CloudWatch 事件,則必須將其設定PollForSourceChanges為以false避免重複的管線執行。

此參數的有效值:

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

    注意

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

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

Input artifacts (輸入成品)

  • 成品數量:0

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

輸出成品

  • 人工因素數目:1

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

輸出變數

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

如需中變數的更多資訊 CodePipeline,請參閱Variables

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: my-bucket-oregon 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": "my-bucket-oregon", "S3ObjectKey": "my-application.zip", "PollForSourceChanges": "false" }, "InputArtifacts": [] } ] },

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

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