gpt4 book ai didi

c# - 使用 Pulumi 从 DocumentDB-Account 检索 AccountKey 或 ConnectionString

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

我使用 AzureNextGen 创建 CosmosDB/DocumentDB - 帐户:

var databaseAccount=new Pulumi.AzureNextGen.DocumentDB.Latest.DatabaseAccount(accountName, 
new Pulumi.AzureNextGen.DocumentDB.Latest.DatabaseAccountArgs
{
// parameters
}
);

为了之后能够访问此数据库,我需要检索该数据库帐户的 key 连接字符串: enter image description here

我可以通过databaseAccount.DocumentEndpoint.Apply(q => "AccountEndpoint="+ q)构建连接字符串的第一部分(端点),但我无法获取更关键的部分,关键。

如何实现这一目标?

最佳答案

Azure API 不会自动返回任何敏感数据。您需要对任何 secret 数据运行显式查询。

在这种情况下,您应该使用函数 listDatabaseAccountKeyslistDatabaseAccountConnectionStrings以此目的。这是 TypeScript 中的一个片段:

const keys = pulumi.all([resourceGroupName, databaseAccount.name])
.apply(([resourceGroupName, accountName]) =>
documentdb.listDatabaseAccountKeys({ resourceGroupName, accountName }));

const connectionStrings = pulumi.all([resourceGroupName, databaseAccount.name])
.apply(([resourceGroupName, accountName]) =>
documentdb.listDatabaseAccountConnectionStrings({ resourceGroupName, accountName }));

const connectionString = connectionStrings.apply(cs => cs.connectionStrings![0].connectionString);
const masterKey = keys.primaryMasterKey;

复制自 this example .

当转换为 C# 时,您可以使用 Output.Tuple 而不是 pulumi.all,如 this template 中那样。 .

关于c# - 使用 Pulumi 从 DocumentDB-Account 检索 AccountKey 或 ConnectionString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66371524/

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