gpt4 book ai didi

azure - 是否可以向共享访问策略添加多个事件中心规则?

转载 作者:行者123 更新时间:2023-12-02 23:27:16 25 4
gpt4 key购买 nike

创建事件中心后,我将应用规则。例如,我是否可以将“发送”和“监听”规则应用于同一共享访问策略?

我尝试使用的代码似乎“覆盖”了先前的规则。我应该有更好的方法吗?

await eventHub.Update()
.WithNewSendRule(sendListenRuleNames)
.WithNewListenRule(sendListenRuleNames)
.ApplyAsync();

上面的代码最终将仅将监听规则应用于共享访问策略。

更新

尝试上述方法后,我尝试使用 Jay 的评论来实现,如下所示:

List<AccessRights> accessRights = new List<AccessRights>();
accessRights.Add(AccessRights.Listen);
accessRights.Add(AccessRights.Manage);

foreach (var listenManageRuleNames in list)
{
await eventHub.Manager
.EventHubAuthorizationRules
.Inner
.CreateOrUpdateAuthorizationRuleWithHttpMessagesAsync(eventHubResource.ResourceGroup.Name, eventHubNamespace.Name, eventHubResource.Name, listenManageRuleNames, accessRights);
}

但它最终给了我这个错误:

"{\"error\":{\"message\":\"Error setting value to 'Rights' on 'Microsoft.Cloud.ServiceBus.ResourceProvider.ArmVersionedEntities.ArmAuthorizationRuleDescription'. \",\"code\":\"BadRequest\"}}"

更新2我只是尝试只执行 AccessRights.Listen 并且它有效。之后我尝试只执行 AccessRights.Manage 但它不起作用,并抛出了相同的错误。

最佳答案

找到方法了!

List<AccessRights> accessRights = new LinkedList<>();
accessRights.add(AccessRights.LISTEN);
accessRights.add(AccessRights.SEND);

azure.eventHubNamespaces().authorizationRules()
.manager()
.namespaceAuthorizationRules()
.inner()
.createOrUpdateAuthorizationRule("resourceGroup","namespace","policyname",accessRights);

REST API method name 获取提示并试图在源代码中找到类似的名称。

关于azure - 是否可以向共享访问策略添加多个事件中心规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58737137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com