0

Ich versuche, eine Azure Logic App bereitzustellen, die eine Aktion zum Senden einer Nachricht auf einem Servicebus mithilfe einer ARM-Vorlage enthält.Wie wird die Verbindungszeichenfolge für eine Service Bus Logic App-Aktion in einer ARM-Vorlage festgelegt?

Zusätzlich zur Bereitstellung der Logic App stellt die ARM-Vorlage einen Service Bus-Namespace, eine Warteschlange und zwei AuthorizationRules (eine zum Senden und eine zum Abhören) bereit.

Ich möchte die Verbindungsinformationen für die Nachricht Send Service Bus Message dynamisch festlegen, um die Verbindungszeichenfolge zu verwenden, die für die AuthorizationRule generiert wurde, die das Senden unterstützt.

Als ich das im Portal-Editor (die Verbindungszeichenfolge für das Senden Angabe), bemerkte ich das Folgende in der Codeansicht generiert ...

"Send_message.": { 
    "conditions": [ 
     { 
      "dependsOn": "<previous action>" 
     } 
    ], 
    "inputs": { 
     "body": { 
      "ContentData": "@{encodeBase64(triggerBody())}" 
     }, 
     "host": { 
      "api": { 
       "runtimeUrl": "https://logic-apis-westus.azure-apim.net/apim/servicebus" 
      }, 
      "connection": { 
       "name": "@parameters('$connections')['servicebus']['connectionId']" 
      } 
     }, 
     "method": "post", 
     "path": "/@{encodeURIComponent(string('<queuename>'))}/messages" 
    }, 
    "type": "apiconnection" 
} 

},

Ich gehe davon aus, dass die Verbindungsinformationen ist irgendwie begraben in @parameters('$connections')['servicebus']['connectionId']"

Ich dann resources.azure.com verwendet, um zu der Logik-App zu navigieren, um zu sehen, ob ich mehr Details erfahren könnte, wie @parameters('$connections')['servicebus']['connectionId']" definiert ist.

Ich fand dies:

"parameters": { 
    "$connections": { 
    "value": { 
     "servicebus": { 
     "connectionId": "/subscriptions/<subguid>/resourceGroups/<rgname>/providers/Microsoft.Web/connections/servicebus", 
     "connectionName": "servicebus", 
     "id": "/subscriptions/<subguid>/providers/Microsoft.Web/locations/westus/managedApis/servicebus" 
     } 
    } 
    } 
} 

Aber ich sehe noch nicht, wo die Verbindungszeichenfolge festgelegt ist.

Wo kann ich die Verbindungszeichenfolge für die Service-Bus-Aktion in einer ARM-Vorlage mit etwas wie folgt festlegen?

[listkeys(variables('sendAuthRuleResourceId'), variables('sbVersion')).primaryConnectionString] 

EDIT: Auch ich war genannt haben scheint a promising Azure quick start on github (based on the title) zu sein, aber ich kann keinen Sinn daraus machen. Es scheint ein älteres Schema 2014-12-01-preview zu verwenden, und der "queueconnector" verweist auf ein API-Gateway. Wenn es für dieses Szenario ein neueres Beispiel gibt, würde ich es gerne sehen.

+1

Wie Sie wissen, Verbindungen ist eine Ressource, so dass es erstellt werden muss, haben Sie zuerst diese https://blogs.msdn.microsoft.com/logicpps/2016/02/23/deploying-in-the-logic-apps verwiesen -preview-aktualisieren /. Schnellstartlink, auf den Sie sich beziehen, ist für ein älteres Schema. – TusharJ

+0

Danke Tushar. Es dauerte eine Weile, aber ich konnte die ARM-Vorlage mit den Informationen in diesem Link arbeiten. Ich freue mich, Ihnen die Antwort zu geben, wenn Sie Ihren Kommentar als Antwort einreichen möchten. – Paul

+0

Paul bitte zögern Sie nicht, meine Antwort zu bearbeiten, um weitere Informationen hinzuzufügen, so dass Ihr Lernen anderen nützen könnte. Auch werde ich die Informationen mit meinem Team teilen, um weitere Dokumentationsdetails hinzuzufügen. – TusharJ

Antwort