[英]How to Trigger codepipeline with s3 with dynamic s3 object key?
我有一個桶,其對象的名稱為 commitId。 我想將這些 commitID 傳遞到我的代碼管道並將這些 id 用於松弛消息。
我試圖在將 zip 文件上傳到 s3 時觸發 Codepipeline,但是正如我在文檔中看到的那樣,它只能使用 static 存儲桶密鑰觸發。 我想用任何文件名觸發
https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-S3.html我正在處理一個用例,其中 s3 中上傳的 object 將具有動態 object 密鑰。
如何處理這種情況?
我已經閱讀了這個問題,所以我知道將 s3 與 lambda 一起使用,然后使用 lambda 觸發管道,但這仍然不起作用,因為我需要將 zip 文件傳遞給 codebuild
TL;DR 讓 Lambda 在commit_id.txt
中記錄 ID 並將其添加到包中。
我知道你想在任意 object 時執行管道,比如a5bf8c1.zip
添加到 S3 路徑,比如MyPipelineBucket/commits/
。 管道有一個 S3 源,比如MyPipelineBucket/source.zip
。 您的管道執行還需要文件名值 ( a5bf8c1
)。
MyPipelineBucket/commits/
前綴上應用object 鍵名過濾。commit_id.txt
文件。 使用 SDK,從 S3 獲取MyPipelineBucket/commits/a5bf8c1.zip
包。 將commit_id.txt
添加到包中。 將新包放入MyPipelineBucket/source.zip
。 這將觸發執行。COMMIT_ID=$(cat commit_id.txt)
echo COMMIT_ID # -> a5bf8c1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.