本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon S3 來源動作參考
當新物件上傳到設定的儲存貯體和物件金鑰時,來源動作會觸發管道。
此參考主題說明 CodePipeline 的 Amazon S3 來源動作,其中來源位置是針對版本控制設定的 Amazon S3 儲存貯體。如需 CodePipeline 中 Amazon S3 部署動作的參考資訊,請參閱 Amazon S3 部署動作參考。
連接管道之前,請先建立 Amazon S3 來源儲存貯體、啟用版本控制,並將來源檔案上傳為單一 ZIP 檔案。
您可以在 Amazon S3 中建立新的儲存貯體,或選取要用作應用程式檔案來源位置的現有 Amazon S3 儲存貯體。如需啟用版本控制的詳細資訊,請參閱《Amazon S3 使用者指南》中的使用版本控制。
當 Amazon S3 是管道的來源提供者時,您可以將來源檔案或 檔案壓縮為單一 .zip,並將 .zip 上傳至來源儲存貯體。您也可以上傳單一解壓縮檔案;不過,預期 .zip 檔案的下游動作將會失敗。
如果您使用主控台建立或編輯管道,CodePipeline 會建立 EventBridge 規則,在 Amazon S3 來源儲存貯體發生變更時啟動管道。
您也可以使用輸入轉換項目建立來源覆寫,以針對管道事件在 EventBridge revisionValue中使用 ,其中 revisionValue 衍生自物件金鑰、遞交或影像 ID 的來源事件變數。如需詳細資訊,請參閱 下程序中包含的輸入轉換項目選用步驟連線至已啟用事件來源的 Amazon S3 來源動作。
動作類型
-
類別:
Source -
擁有者:
AWS -
提供者:
S3 -
版本:
1
組態參數
- S3 儲存貯體
-
必要:是
要偵測來源變更的 Amazon S3 儲存貯體名稱。
- S3ObjectKey
-
必要:是
要偵測來源變更的 Amazon S3 物件金鑰名稱。
- AllowOverrideForS3ObjectKey
-
必要:否
AllowOverrideForS3ObjectKey控制來自 的來源覆寫是否可以StartPipelineExecution覆寫已在來源動作S3ObjectKey中設定的 。如需使用 S3 物件金鑰覆寫來源的詳細資訊,請參閱 使用來源修訂覆寫啟動管道。重要
如果您省略
AllowOverrideForS3ObjectKey,CodePipeline 會將此參數設定為 ,以預設方式覆寫來源動作中的 S3 ObjectKeyfalse。此參數的有效值:
-
true:如果設定,預先設定的 S3 物件金鑰可以在管道執行期間由來源修訂覆寫覆寫。注意
如果您想要允許所有 CodePipeline 使用者在啟動新的管道執行時覆寫預先設定的 S3 物件金鑰,您必須將
AllowOverrideForS3ObjectKey設定為true。 -
false:如果設定,CodePipeline 將不允許使用來源修訂覆寫覆寫 S3 物件金鑰。這也是此參數的預設值。
-
- PollForSourceChanges
-
必要:否
PollForSourceChanges控制 CodePipeline 是否輪詢 Amazon S3 來源儲存貯體以進行來源變更。我們建議您改用 CloudWatch Events 和 CloudTrail 來偵測來源變更。如需設定 CloudWatch Events 的詳細資訊,請參閱 使用 S3 來源和 CloudTrail 追蹤 (CLI) 遷移輪詢管道或 使用 S3 來源和 CloudTrail 追蹤遷移輪詢管道 (CloudFormation 範本)。重要
如果您想要設定 CloudWatch Events,您必須
PollForSourceChanges將 設定為false,以避免重複的管道執行。此參數的有效值:
-
true:如果設定,CodePipeline 會輪詢來源位置以進行來源變更。注意
如果您省略
PollForSourceChanges,CodePipeline 會預設為輪詢來源位置以進行來源變更。此行為同於包含PollForSourceChanges且設定為true。 -
false:如果設定,CodePipeline 不會輪詢來源位置以進行來源變更。如果您想要設定 CloudWatch Events 規則來偵測來源變更,請使用此設定。
-
Input artifacts (輸入成品)
-
成品數量:
0 -
描述:輸入成品不適用於此動作類型。
輸出成品
-
成品數量:
1 -
描述:提供設定為連線至管道的來源儲存貯體中可用的成品。從儲存貯體產生的成品是 Amazon S3 動作的輸出成品。Amazon S3 物件中繼資料 (ETag 和版本 ID) 會顯示在 CodePipeline 中,做為觸發管道執行的來源修訂。
輸出變數
設定時,此動作會產生變數,供管道中的下游動作的動作組態所參考。即使此動作沒有命名空間,此動作產生的變數仍可視為輸出變數。您可以設定動作的命名空間,讓這些變數可供下游動作的組態使用。
如需 CodePipeline 中變數的詳細資訊,請參閱 變數參考。
- BucketName
-
與觸發管道的來源變更相關的 Amazon S3 儲存貯體名稱。
- ETag
-
物件的實體標籤,此物件與觸發管道的來源變更有關。ETag 是物件的 MD5 雜湊。ETag 只會反映物件內容的變更,而非中繼資料的變更。
- ObjectKey
-
與觸發管道的來源變更相關的 Amazon S3 物件金鑰名稱。
- VersionId
-
物件版本的版本 ID,此物件與觸發管道的來源變更有關。
服務角色許可:S3 來源動作
對於 S3 來源動作支援,請將下列項目新增至您的政策陳述式:
動作宣告
另請參閱
以下相關資源可協助您使用此動作。
-
教學:建立簡易管道 (S3 儲存貯體) – 本教學課程提供範例應用程式規格檔案,以及範例 CodeDeploy 應用程式和部署群組。使用此教學課程建立管道,其中包含部署到 Amazon EC2 執行個體的 Amazon S3 來源。 Amazon EC2