簡體   English   中英

如何設置 CloudFront createInvalidation lambda 參數以全部刪除?

[英]How can I set CloudFront createInvalidation lambda params to remove all?

我通過 S3 static 托管服務於一些網站。

我想通過 lambda 的 createInvalidation 方法從 CloudFront 分配中刪除所有內容。
(在運行管道以更新這些存儲桶之后。)

  • Q1。 在這種情況下,我很困惑哪個值對於 Quantity 是正確的......
  • Q2。 我可以在 Items 數組中使用"/*"作為項目嗎? 或者只是"/*"字符串而不是數組?

我可以為數量使用不正確的大數字(例如,1000 或 10000)嗎?
或者我是否需要檢查 S3 存儲桶中的整個文件數?

因為我需要在 stepfunction state 機器中添加這個 lambda,所以使用 CLI 不是我的解決方案。

const invalidationParams = {
        DistributionId: "XXXX",
        InvalidationBatch: {
            CallerReference: Date.now().toString(),
            Paths: {
                Quantity: ???,
                Items: [
                    "/*", // maybe?
                 ]
            }
        }
    };

或...您是否建議使用 CLI 命令的迭代...?

提前致謝。

我太急於提出問題了......

我試圖在等待期間通過 CLI 創建失效,
它的回應給了我答案。

我通過 CLI 命令aws cloudfront create-invalidation --distribution-id {DISTRIBUTION_ID} --paths "/*"

{
    "Location": "https://cloudfront.amazonaws.com/blahblah",
    "Invalidation": {
        "Id": "blahblah",
        "Status": "InProgress",
        "CreateTime": "2021-10-07T14:01:42.406000+00:00",
        "InvalidationBatch": {
            "Paths": {
                "Quantity": 1,
                "Items": [
                    "/*"
                ]
            },
            "CallerReference": "cli-1633615280-121576"
        }
    }
}

所以,這意味着,我可以在 lambda 中將數量設置為 1。也可以在數組中使用“/*”。

我為像我這樣的人添加了這個

暫無
暫無

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

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