我在Pulumi上使用AzureNative创建了一个Servicebus名称空间:
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命名空间中找到任何属性或函数,这些属性或函数似乎会导致该键。有什么办法能找回那个财产吗?
发布于 2022-09-06 14:34:25
我通过创建一个新的NamespaceRule并返回ListNamespaceKeys-Properties来解决这个问题:
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等。
https://stackoverflow.com/questions/73557908
复制相似问题