[英]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種方式:
讓我解釋一下,假設您有 5 個名為 param1,2,3,4,5 的輸入參數。 您可以將它們“壓縮”為單個參數,如下所示:
"param": {
"type": object,
"defaultValue": {
"param1": "something",
xxx
"param5": "otherthing"
}
}
看到你有 290 個參數,我可能會選擇對象路由,因為這樣你就可以在邏輯上對它們進行分組。
至於不參數化的東西 - 你可以為它們定義默認值的變量(但如果你定義默認值,它們仍然算作參數),所以變量允許你這樣做。
使用MS 文檔中所述的自定義參數模板:將自定義參數與資源管理器模板一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.