首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过Event Hub在ARM模板中使用listkey函数

如何通过Event Hub在ARM模板中使用listkey函数
EN

Stack Overflow用户
提问于 2017-11-18 07:02:03
回答 3查看 6.1K关注 0票数 4

我有一个事件中心,看起来像这样:

我已经成功地为服务总线做到了这一点,但仅限于高级RootManageSharedAccessKey。

但是,对于Event Hub,我需要SendOnly共享访问策略的主连接字符串。

我尝试了许多组合,但在部署部署时找不到SendOnly共享访问策略。

下面是我的SendOnly共享访问策略的json。

任何帮助都将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-20 06:16:11

最终的工作臂模板代码为:

代码语言:javascript
复制
[listkeys(resourceId('Microsoft.EventHub/namespaces/eventhubs/authorizationRules', variables('ehub').name, parameters('eventhubs_myaccountevents_name'), 'SendOnly'), parameters('eventhubs_api_version')).primaryConnectionString]

请注意,不是这样:

代码语言:javascript
复制
Microsoft.Eventhub/namespaces/authorizationRules

我不得不使用这个:

代码语言:javascript
复制
Microsoft.EventHub/namespaces/eventhubs/authorizationRules

下面是我使用的示例:https://github.com/pascalnaber/EnterpriseARMTemplates/blob/6babc4d3e65f10f999bb144a1d616ccb2a085e9d/templates/resources/Microsoft.Eventhub/azuredeploy.json

票数 13
EN

Stack Overflow用户

发布于 2017-11-18 20:34:23

使用此命令获取连接字符串:

代码语言:javascript
复制
"[listkeys(resourceId('Microsoft.Eventhub/namespaces/authorizationRules',
  parameters('name'), 'RootManageSharedAccessKey'),
  '2017-04-01').primaryConnectionString]"

你不能把它分成几行,我这样做是为了便于阅读

票数 7
EN

Stack Overflow用户

发布于 2019-10-22 01:09:06

这就是我解决这个问题的方法(包括创建授权规则):

定义变量:

代码语言:javascript
复制
...
"variables": {
    "eventHubNamespaceName": "myehubns",
    "eventHubName": "myehub",
    "eventhubSendAuthorizationRuleName": "SendOnly",
    "eventHubSendRuleId": "[resourceId('Microsoft.EventHub/namespaces/eventhubs/authorizationRules', variables('eventHubNamespaceName'),variables('eventHubName'), variables('eventhubSendAuthorizationRuleName'))]"
}

创建授权规则:

代码语言:javascript
复制
...
"resources": [{
        "apiVersion": "2017-04-01",
        "name": "[variables('eventhubSendAuthorizationRuleName')]",
        "type": "authorizationRules",
        "dependsOn": [
            "[concat('Microsoft.EventHub/namespaces/', variables('eventHubNamespaceName'),'/eventhubs/',variables('eventHubName'))]"
        ],
        "properties": {
            "rights": [
                "Send"
            ]
        }
    }
]

检索之前创建的规则的主连接字符串:

代码语言:javascript
复制
"EventHubConnectionstring": "[listkeys(variables('eventHubSendRuleId'), '2017-04-01').primaryConnectionString]"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47360529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档