gpt4 book ai didi

c# - 如何从 Function App 指定 Azure Key Vault Secret 的属性?

转载 作者:行者123 更新时间:2023-12-03 05:13:41 26 4
gpt4 key购买 nike

我正在尝试创建一个 Azure 函数,该函数在 Key Vault 中创建一个 key ,其过期时间为从现在起 30 分钟。

仅创建一个没有属性的 secret 就可以没有任何问题:

using Azure.Identity;
using Azure.Security.KeyVault;
using Azure.Security.KeyVault.Secrets;

namespace Company.Function
{
public static class Save
{
[FunctionName("save")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
ILogger log)
{

var client = new SecretClient(
new Uri("https://<my-vault>.vault.azure.net/"),
new DefaultAzureCredential()
);

var secret = await client.SetSecretAsync("name", "value");

return new OkObjectResult("Done");
}
}
}

(通过启用系统分配的身份并授予该访问权限将 secret 写入 Key Vault 来设置访问权限)

理想情况下,我希望执行一个请求,其中包括设置 key 及其属性,但我找不到 C# 中的相关文档。

我尝试添加此代码,但失败并显示一条消息:Version can't be null:

var props = new SecretProperties(data.repo);
props.ExpiresOn = DateTime.UtcNow.AddMinutes(30);
await client.UpdateSecretPropertiesAsync("name");

知道我错过了什么吗?我看过bunch of pages没有找到解决方案。

最佳答案

您应该能够使用 SetSecretAsync 的这种不同重载:

var secret = new KeyVaultSecret("name", "value");
secret.Properties.ExpiresOn = DateTime.UtcNow.AddMinutes(30);
await client.SetSecretAsync(secret);

关于c# - 如何从 Function App 指定 Azure Key Vault Secret 的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75590506/

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