Передача нескольких значений в правило действия подписки на тему служебной шины Azure

Мне нужно найти способ добавить несколько настраиваемых действий к действию SQL правила подписки на тему служебной шины Azure.

Azure CLI допускает только один - и предстоящий заменит существующий (во всяком случае, я не нашел способа передать более 1 аргумента):

az servicebus topic subscription rule update --resource-group xxxxx --namespace-name xxxxxx --topic-name xxxxxx --subscription-name "xxxxxxx" --name NoArchive --action-sql-expression "set CustomProp2 = 'BBB'"

Формат --action-sql-expression "set CustomProp1 = 'AAA'","set customProp2 = 'BBB'" приводит к

BadRequest: There was an error parsing the SQL expression. [Token line=1, column=23, Token in error= ,, Additional details= Unrecognized character. ',']  TrackingId:8bbf145d-3f10-476b-b58a-acc3e1014977_B61, SystemTracker:NoSystemTracker, Timestamp:2021-03-03T13:55:13 CorrelationId: 6a0a073c-ed11-4054-8261-777756a2ec3c

Похоже, несколько значений не поддерживаются.

официальный документация тоже немного бесполезна.

Пытаюсь найти способ сделать это с помощью шаблона ARM (как указано здесь), но не уверен, что несколько значений также можно передать с помощью Это:

 "properties": {
                "action": {
                    "sqlExpression": "set CustomProp2 = 'BBB'",
                    "compatibilityLevel": 20
                },
                "filterType": "SqlFilter",
                "sqlFilter": {
                    "sqlExpression": "NoArchive IS NOT NULL",
                    "compatibilityLevel": 20
                }

Вот ссылка на официальную документацию по шаблону ARM, и я не уверен, что этот параметр поддерживает несколько значений.

"resources": [{
        "apiVersion": "[variables('sbVersion')]",
        "name": "[parameters('serviceBusNamespaceName')]",
        "type": "Microsoft.ServiceBus/Namespaces",
        "location": "[variables('location')]",
        "sku": {
            "name": "Standard",
        },
        "resources": [{
            "apiVersion": "[variables('sbVersion')]",
            "name": "[parameters('serviceBusTopicName')]",
            "type": "Topics",
            "dependsOn": [
                "[concat('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
            ],
            "properties": {
                "path": "[parameters('serviceBusTopicName')]"
            },
            "resources": [{
                "apiVersion": "[variables('sbVersion')]",
                "name": "[parameters('serviceBusSubscriptionName')]",
                "type": "Subscriptions",
                "dependsOn": [
                    "[parameters('serviceBusTopicName')]"
                ],
                "properties": {},
                "resources": [{
                    "apiVersion": "[variables('sbVersion')]",
                    "name": "[parameters('serviceBusRuleName')]",
                    "type": "Rules",
                    "dependsOn": [
                        "[parameters('serviceBusSubscriptionName')]"
                    ],
                    "properties": {
                        "filterType": "SqlFilter",
                        "sqlFilter": {
                            "sqlExpression": "StoreName = 'Store1'",
                            "requiresPreprocessing": "false"
                        },
                        "action": {
                            "sqlExpression": "set FilterTag = 'true'"
                        }
                    }
                }]
            }]
        }]
    }]

Я немного запутался.

Спасибо.


person Sergey    schedule 03.03.2021    source источник


Ответы (1)


Вам нужно использовать его, как показано ниже. Параметр --action-sql-expression принимает только одно значение. Если у вас есть несколько действий, вам необходимо указать, как показано ниже. Аналогично для шаблона ARM.

az servicebus обновление правила подписки на тему - группа ресурсов xxxxx - имя-пространства имен xxxxxx - имя-темы xxxxxx - имя-подписки xxxxxxx - имя NoArchive --action-sql-expression set CustomProp1 = 'AAA' set customProp2 = BBB

person MayankBargali-MSFT    schedule 18.03.2021