簡體   English   中英

熱部署 S3 和 AWS Lambda 1 嘗試使用 terraform

[英]Hot to deploy S3 and AWS Lambda in 1 try with terraform

有人知道 lambda 和 Terraform 中相應 S3 條款的解決方法嗎?

The issue is next, I described S3 bucket and AWS Lambda and want to apply it in 1 try AWS Lambda has a property s3_key, however the S3 doesn't have S3 object before the very first lambda deployment.

因此,我當前的工作流程是下一個:

通過 terraform 提供 S3 存儲桶 -> 通過大廳將 zip 部署到 s3 -> 提供 AWS lambda 並使用來自 ZADCDBD79A92A84 的密鑰

但這是不可接受的,terraform 不應該依賴中間部署。

我的 Lambda zip 是由不同的管道創建的,不能附加到 terraform 存儲庫。

If you define your zipped lambda code as an aws_s3_bucket_object , and then reference that object from the lambda, terraform will be able to create the bucket, the object, and the lambda in dependency order.

經過非常詳細的調查,我做了下一個。

  1. 創建虛擬空 lambda,沒有庫、依賴項等,只有處理程序。 Zip 並將其放在 terraform 項目中的單獨文件夾中。
  2. 描述虛擬 lambda zip 的 aws_s3_bucket_object
  3. 在 terraform 中描述 s3_bucket 和 lambda,並在 aws_s3_bucket_object 上從 lambda 創建依賴關系
  4. 成功運行 terraform apply (此時 lambda 不可執行,內部沒有任何業務邏輯)
  5. 運行大廳部署,將虛擬 lambda zip 替換為真實,並重新部署 lambda
  6. 完畢!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM