簡體   English   中英

如何繞過 Azure 數據工廠 ARM 模板參數限制?

[英]How to get around Azure Data Factory ARM Template parameter limits?

我在 Azure 中創建了一個數據工廠,其中有大約 10-15 個管道,它們都可以正常工作,我可以在我設置的測試數據工廠上調試和運行它們而不會出現問題。 我還使用 CI/CD 管道設置了 Azure DevOps 與數據工廠的集成。

最初這個管道也運行良好,我能夠使用生成的 ARM 模板在生產數據工廠實例上重新創建管道/觸發器/等。

現在我已經向數據工廠添加了一些東西,當它生成 ARM 模板時,它現在創建一個帶有 293 個參數的模板,當它通過 CI/CD 管道運行時失敗,因為 ARM 只允許 256 個參數模板。

它放在參數文件中的很多項目我都不需要參數化,例如文件名和文件路徑。 我真正想要參數化的是各種連接信息。

我嘗試創建第二個 ARM 模板參數文件並刪除我不想要的參數,因為我閱讀了一些關於能夠執行此操作以添加一些附加參數的文檔,但這不起作用,因為它不會刪除ARM 模板本身的參數。

所以我的問題是,有沒有辦法處理這個問題? 我能想到的事情是創建多個數據工廠,並且每個工廠只有幾個管道。 我不太喜歡這個想法,因為隨着時間的推移它會變得非常龐大和笨重。 我可以手動從參數文件和模板本身中刪除模板,但我真的不喜歡這個解決方案,因為它是手動的並且非常容易出錯。

理想情況下,我希望能夠做的是定義我想要在管道中參數化的項目,就像我提到它參數化的 90% 我不需要參數化的東西,但我找不到任何方式來做到這一點(手動做的短)。

2種方式:

  1. 明顯 - 刪除不需要的參數
  2. 不太明顯 - 使用對象而不是字符串。

讓我解釋一下,假設您有 5 個名為 param1,2,3,4,5 的輸入參數。 您可以將它們“壓縮”為單個參數,如下所示:

"param": {
    "type": object,
    "defaultValue": {
        "param1": "something",
        xxx
        "param5": "otherthing"
    }
}

看到你有 290 個參數,我可能會選擇對象路由,因為這樣你就可以在邏輯上對它們進行分組。

至於不參數化的東西 - 你可以為它們定義默認值的變量(但如果你定義默認值,它們仍然算作參數),所以變量允許你這樣做。

暫無
暫無

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

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