簡體   English   中英

無法使用 ASEv3 在 Azure 標准邏輯應用程序中部署工作流 - 錯誤:HTTPSConnectionPool(host='mylaname.scm.myasename.appserviceenvironment.net'

[英]Cannot deploy workflows in Azure Standard Logic Apps with ASEv3 - ERROR: HTTPSConnectionPool(host='mylaname.scm.myasename.appserviceenvironment.net'

當此邏輯應用程序包含在Azure 服務環境 (ASEv3)中包含的應用程序服務計划中時,我找不到將工作流部署到標准邏輯應用程序中的方法。

沒有 ASE 的標准邏輯應用程序

當我使用不帶 ASE 的標准邏輯應用程序時,其內容(工作流、映射、模式……)存儲在與標准邏輯應用程序關聯的存儲帳戶的文件共享中(在site\wwwroot下)因此更新或創建邏輯的新工作流應用程序非常簡單,只需更新文件 workflow.json 或使用新文件 workflow.json 創建一個額外的文件夾。

我可以使用 CLI 上傳包含所有工作流程和工件的 zip 文件。

az logicapp deployment source config-zip --name $LogicApp --resource-group $RG --subscription $Subscription --src $artifactszip

這很好用。

帶 ASE 的標准邏輯應用程序

但是,當我在與 ASE 關聯的應用程序服務計划中嘗試使用標准邏輯應用程序時,這不起作用。

  1. 沒有與標准邏輯應用關聯的 FileStorage
  2. az logicapp deployment source config-zip失敗並出現以下錯誤:

az:警告:獲取 zip 部署的 scm 站點憑據警告:開始 zip 部署。 此操作可能需要一段時間才能完成... 錯誤:命令因意外錯誤而失敗。 這是回溯:錯誤:HTTPSConnectionPool(host='mylaname.scm.myasename.appserviceenvironment.net', port=443): Max retries exceeded with url: /api/zipdeploy?isAsync=true (Caused by NewConnectionError('<urllib3 .connection.HTTPSConnection object at 0x068F51C0>:無法建立新連接:[Errno 11001] getaddrinfo 失敗'))

在這兩種情況下(沒有和有 ASE),目標邏輯應用程序都是無狀態邏輯應用程序。

我還嘗試了 az deployment group create 和 armclient

我還嘗試使用az deployment group create --resource-group $RG --template-file.\myarmfile.json這適用於:

  • 應用服務環境 - Microsoft.Web/hostingEnvironments
  • 應用服務計划 - Microsoft.Web/serverfarms
  • 標准邏輯應用程序 - Microsoft.Web/sites

但不是為了

  • 標准邏輯應用程序中的工作流 - Microsoft.Web/sites/workflow

我使用ARMCLIENT為 Microsoft.Web/sites/workflow 獲取了 arm 個文件的示例

armclient.exe get https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{LAresourceGroup}/providers/Microsoft.Web/sites/la-main-dev/workflows/wf-main-dev?api-version=2018-11-01

這會返回一個不錯的 arm 文件,但我找不到將其上傳到 Azure 的方法。

解決方案是設置一個 DNS 私有區域,如 Microsoft Learn ( https://learn.microsoft.com/en-us/azure/app-service/environment/create-ilb-ase ) 中所述:

在Azure DNS私有區域配置DNS:

  1. 創建一個 Azure DNS 私有區域 named.appserviceenvironment.net
  2. 在該區域創建一條 A 記錄,指向 ILB IP 地址
  3. 在該區域中創建一個指向 ILB IP 地址的 A 記錄
  4. 在該區域中創建一條 A 記錄,將 *.scm 指向 ILB IP 地址

當這個 DNS 區域被創建並且我鏈接到它時:

  • 我的 ASE 的 the.network
  • 我機器的.network

然后我可以通過以下方式成功部署工作流和其他工件(參數、地圖、模式):

  • Visual Studio Code - 標准邏輯應用程序的擴展

或者

  • PowerShell 腳本

az webapp 部署源 config-zip --name $LA --resource-group $RG --subscription $Subscription --src $artifactszip

暫無
暫無

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

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