Как передать параметр в имя темы служебной шины в приложении логики? - PullRequest
0 голосов
/ 14 сентября 2018

Я получаю сообщения из темы служебной шины.
Я хочу задать здесь имя темы.
Я пытался

"path": /@{encodeURIComponent(encodeURIComponent('[parameters('topicname')]'))}/messages",

И concat() Также я пытался, но ничего не работает,

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 15 сентября 2018

Если вы не хотите иметь дело с concat(), вам следует взглянуть на эту статью:

Вы можете указать Logic App parameters, которые отличаются от ARM Template parameters.
Таким образом, чтобы подвести итог, вы создаете параметр ARM, параметр приложения логики, а затем сопоставляете параметр ARM с приложением логики.параметр.Это немного сложно, но вы избегаете использования функции concat.

Поэтому шаблон ARM должен выглядеть следующим образом:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "topicname": {
      "type": "string",
      "metadata": {
        "description": "The name of the topic."
      }
    }
    ...   
  },
  "variables": {
  ...
  },
  "resources": [
    {
      "type": "Microsoft.Logic/workflows",
      "properties": {
        "definition": {
                ... 
                "path": "/@{encodeURIComponent(encodeURIComponent(parameters('topicname')))}/messages",
                ... 
          },
          "contentVersion": "1.0.0.0",
          "outputs": {},
          "parameters": {
            "$connections": {
              "defaultValue": {},
              "type": "Object"
            },
            "topicname": {
              "type": "String"
            }            
          }
        },
        "parameters": {
          "$connections": {
          ...
          },
          "topicname": {
            "value": "[parameters('topicname')]"
          },

        }
      },
      "dependsOn": [

      ]
    }    
  ]
}
...