加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

行使Azure ARM模板行使Sql Filter建设处事总线主题订阅?

发布时间:2021-03-06 05:55:16 所属栏目:编程 来源:网络整理
导读:我已经可以或许弄清晰怎样配置Azure ARM模板来建设/打点Azure处事总线定名空间,主题和订阅以吸取全部动静.可是,在ARM Tempates上如故穷乏Microsoft文档,我无法弄清晰如安在模板中为行使.NET SDK打点的订阅界说SqlFilter. 有谁知道怎样将Sql过滤器添加到ARM模板中

我已经可以或许弄清晰怎样配置Azure ARM模板来建设/打点Azure处事总线定名空间,主题和订阅以吸取全部动静.可是,在ARM Tempates上如故穷乏Microsoft文档,我无法弄清晰如安在模板中为行使.NET SDK打点的订阅界说SqlFilter.

有谁知道怎样将Sql过滤器添加到ARM模板中的处事总线主题订阅?

这是我用于建设不带Sql过滤器的处事总线主题和订阅的ARM模板的链接:

https://github.com/crpietschmann/azure-quickstart-templates/blob/101-servicebus-topic-subscription/101-servicebus-topic-subscription/azuredeploy.json

其它,这里是我所指的ARM模板的来历:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#","contentVersion": "1.0.0.0","parameters": {
    "serviceBusNamespaceName": {
      "type": "string","metadata": {
        "description": "Name of the Service Bus Namespace"
      }
    },"serviceBusTopicName": {
      "type": "string","metadata": {
        "description": "Name of the Service Bus Topic"
      }
    },"serviceBusTopicSubscriptionName": {
      "type": "string","metadata": {
        "description": "Name of the Service Bus Topic Subscription"
      }
    }
  },"variables": {
    "sbVersion": "2015-08-01"
  },"resources": [
    {
      "apiVersion": "[variables('sbVersion')]","name": "[parameters('serviceBusNamespaceName')]","type": "Microsoft.ServiceBus/namespaces","location": "[resourceGroup().location]","properties": {
      },"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('serviceBusTopicSubscriptionName')]","type": "Subscriptions","dependsOn": [
                "[parameters('serviceBusTopicName')]"
              ],"properties": {
              },"resources": [
              ]
            }
          ]
        }
      ]
    }
  ],"outputs": {
  }
}

办理要领

Sql Filter应位于法则内,因此我们应在Service Bus主题订阅中建想法则.譬喻:
"resources": [
        {
          "apiVersion": "[variables('sbVersion')]","dependsOn": [
            "[parameters('serviceBusTopicName')]"
          ],"properties": {
          },"name": "[parameters('serviceBusTopicSubscriptionRuleName')]","type": "Rules","dependsOn": [
                "[parameters('serviceBusTopicSubscriptionName')]"
              ],"resources": [
              ]
            }
          ]
        }
      ]

我试图陈设此模板,但我收到以下错误:

New-AzureRmResourceGroupDeployment : InvalidTemplate: Deployment template validation failed: 'The template resource 'Microsoft.ServiceBus/namespaces/<serviceBusNamespaceName>/Topics/<serviceBusTopicName>/Subscriptions/<serviceBusTopicSubscriptionName>' cannot reference itself. Please see http://aka.ms/arm-template-expressions/#reference for usage details.'.
At line:1 char:1
+ New-AzureRmResourceGroupDeployment -Name ServiceBusTest -ResourceGrou ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmResourceGroupDeployment],CloudException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Resources.NewAzureResourceGroupDeploymentCommand

从错误动静“’模板资源无法引用自身”,我揣摩在ARM模板中尚未实现为主题订阅建设Sql过滤器.

在举办了一些发掘后,我以为主题订阅法则尚不行由资源打点器打点.这是我实行过的对象.

>我行使this PowerShell script建设一个带有法则的主题订阅.我通过在法则中添加名称$RuleDescription.Name =“rule1”对剧本举办了一些修改.
>已乐成建设主题订阅,我可以行使以下PowerShell呼吁获取主题订阅.

Get-AzureRmResource -ResourceGroupName Default-ServiceBus-EastUS `
                   -ResourceType Microsoft.ServiceBus/namespaces/topics/Subscriptions `
                   -ResourceName <namespace>/<topic>/<subscription> `
                   -ApiVersion 2014-09-01

>当我实行行使相同的PowerShell呼吁获取主题订阅法则时:

Get-AzureRmResource -ResourceGroupName Default-ServiceBus-EastUS `
             -ResourceType Microsoft.ServiceBus/namespaces/topics/Subscriptions/Rules `
             -ResourceName <namespace>/<topic>/<subscription>/rule1 `
             -ApiVersion 2014-09-01

我收到以下错误:

No HTTP resource was found that matches the request URI
'https://sbgm.windows.net/subscriptions/<subscriptionid>/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/<namespace>/topics/<topic>/Subscriptions/<subscription>/Rules/rule1?api-version=2014-09-01'

>可是,假如我行使$NamespaceManager.GetRules($TopicPath,$Name),我会乐成得到上述法则.这意味着该法则已乐成建设.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读