0

Azure Service Bus トピック サブスクリプション ルールの SQL アクションにいくつかのカスタム アクションを追加する方法を見つける必要があります。

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'"
                        }
                    }
                }]
            }]
        }]
    }]

私は少し混乱しています。

ありがとう。

4

1 に答える 1