首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Pulumi ( ServiceBus )创建ServiceBus (AzureNative)时检索连接字符串

使用Pulumi ( ServiceBus )创建ServiceBus (AzureNative)时检索连接字符串
EN

Stack Overflow用户
提问于 2022-08-31 15:00:14
回答 1查看 42关注 0票数 0

我在Pulumi上使用AzureNative创建了一个Servicebus名称空间:

代码语言:javascript
复制
public void CreateNamespace(string namespaceName, SkuName skuname, SkuTier tier)
{
  var namespace = new Namespace(namespaceName, new NamespaceArgs
  {
    Location = _resourceGroup.Location,
    NamespaceName = namespaceName,
    ResourceGroupName = _resourceGroup.Name,
    Sku = new Pulumi.AzureNative.ServiceBus.Inputs.SBSkuArgs
    {
      Name = skuname,
      Tier = tier
    }
  });
}

正确地创建了Servicebus名称空间。在创建Servicebus之后,我需要检索这个资源的ConnectionString。对于自动创建的RootManageSharedAccessKey,或者为该任务创建特定的附加策略。

在Azure中,我可以通过导航Settings/Shared access policies/Policy/并从那里复制主访问键来检索密钥。

我没有在AzureNative.ServiceBus命名空间中找到任何属性或函数,这些属性或函数似乎会导致该键。有什么办法能找回那个财产吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-06 14:34:25

我通过创建一个新的NamespaceRule并返回ListNamespaceKeys-Properties来解决这个问题:

代码语言:javascript
复制
var namespaceRule = new NamespaceAuthorizationRule(rulename, new NamespaceAuthorizationRuleArgs
{
  AuthorizationRuleName = rulename,
  NamespaceName = namespace.Name,
  ResourceGroupName = _resourceGroup.Name,
  Rights = new[]
  {
    AccessRights.Listen,
    AccessRights.Send
  }
});

var nameSpaceKeys = Output
.Tuple(namespace.Name, namespaceRule.Name)
.Apply(t => ListNamespaceKeys.InvokeAsync(new ListNamespaceKeysArgs
{
  NamespaceName = t.Item1,
  AuthorizationRuleName = t.Item2,
  ResourceGroupName = _resourceGroup.GetResourceName()
}));

现在,NamespaceKeys包含所有必需的属性,如PrimaryConnectionString等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73557908

复制
相关文章

相似问题

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