簡體   English   中英

使用 Azure CLI 將邏輯應用程序從一個資源組復制到另一個資源組

[英]Copy the Logic APP from one resource group to another resource group using Azure CLI

我創建了一個邏輯應用程序,現在我想將相同的邏輯復制到另一個可用於測試環境的資源組。

有人可以使用 Azure CLI 命令或 Azure 門戶本身中的任何直接選項幫助我將邏輯應用程序從一個資源組復制到另一個資源組。

我檢查了 Azure 門戶,我只能看到“移動”選項,當我使用它時,它只是將我的邏輯應用程序從資源組 1 移動到資源組 2。但我的要求是它應該出現在兩個資源組中。

提前致謝。

問候, 馬尼坎塔

Azure 門戶,您可以使用“ Clone按鈕輕松復制邏輯應用程序

在此處輸入圖片說明

您可以使用Logic app VS tools將邏輯應用程序和連接下載為 ARM 模板,這樣它就會包含您設置的所有連接。

然后您可以編輯它,如果您使用Visual Studio ,只需將 LogicApp.json 替換為您下載的那個。

如果您選擇的連接器需要您的輸入,則會在后台打開一個 PowerShell 窗口並提示您輸入任何必要的密碼或密鑰。 輸入此信息后,部署將繼續。

您也可以使用Azure Cli部署模板。

這可能會使連接有點混亂,但我發現這種方法對於大型 LA 的工作速度比在新資源組中手動重新創建相同的 LA 更快:

  1. 打開邏輯應用 (LA01),單擊克隆按鈕並將其以不同的名稱 (LA02) 保存在同一資源組中。
  2. 打開 LA02 並在資源組附近單擊更改。 在此處輸入圖片說明 選擇要將其移動到的新資源組。 如果需要,您還可以選擇相關資源,但您可能也想復制它們。 請確保您了解與移動的資源關聯的所有工具和腳本在您更新它們以使用新的資源 ID 之前將無法運行。 此操作可能需要一些時間。
  3. 可選的。 您可能希望使用與先前資源組中相同的名稱 (LA01)。 遺憾的是,我認為您無法重命名 Azure 中的項目,因此再次執行步驟 #1 以使用 LA01 名稱制作副本並從新資源組中刪除 LA02。
  4. 在這些步驟之后,打開復制的 LA 並重新創建所有連接。

我還發現了另一種非常巧妙的方法來更新其他資源組中已經存在的 LA。 它可能看起來有點亂,但是當你多次這樣做時,你可以比總是克隆 LA 快得多。 當您打開 LA 並單擊Code view您需要注意每個 LA 結構都類似於下面的示例。 您可以將 LA1(資源組 1)中的所有代碼從頂部提取到outputs然后將其復制粘貼到新的 LA2(資源組 2)中,但是第一次執行此操作時需要在 LA2 中進行一些更改:

  • SomeActions - 這將按原樣復制粘貼
  • $connections - 必須保持原樣,它是指向 LA 連接定義的指針
  • OtherParameters - 這是您將傳遞給 LA 的參數,因此通常對於不同的資源組,您使用不同的參數,因此請記住這一點並在這種情況下進行相應更改
  • SomeTrigger - 通常你應該保持它在 LA2 中的定義。
  • SomeConnection - 最重要的部分是確保在兩個 LA 中您使用相同的連接引用。 如果不是這種情況,則從SomeActions部分檢索連接引用名稱,並更新SomeConnection ,但保留在 LA2 中定義的connectionIdconnectionName ,因此只有連接名稱在兩個 LA 之間匹配。

下次您想要進行更新時,您只需獲取代碼,然后復制從 top 到outputs所有內容。

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
           ...SomeActions
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "parameters": {
            "$connections": {
                "defaultValue": {},
                "type": "Object"
            },
            "OtherParameters": {
                "defaultValue": "SomeValue",
                "type": "String"
            }
        },
        "triggers": {
            "manual": {
                "inputs": {
                    "schema": {
                       ...SomeTrigger
                },
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "parameters": {
        "$connections": {
            "value": {
                "SomeConnection": {
                    "connectionId": "SomeId",
                    "connectionName": "SomeName",
                    "id": "SomeId"
                }
            }
        }
    }
}

暫無
暫無

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

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