我正在尝试使用托管身份在Azure密钥库中设置一个秘密。我现在面临两个问题。希望有人能帮我。
代码:
var client = new SecretClient(new Uri("keyvaulturl"),
new DefaultAzureCredential(new DefaultAzureCredentialOptions()
{ ExcludeManagedIdentityCredential = true }));
await client.SetSecretAsync(new KeyVaultSecret(keyName,
serializer.SerializeObject(someobject)));
问题一:
DefaultAzureCrendetialOption不适用于托管标识,但当我将ExcludeManagedEntityCredential设置为true时,它可以回退到下一个身份验证提供程序(必须是azure cli)。我不知道为什么会发生这种情况,因为在同一代码工作的前几天,我能够使用同一代码设置和检索keyvault机密。(当然不使用任何DefaultAzureCredentialOptions参数)。
请注意,这个问题只发生在我的本地环境中,托管身份在azure中部署时可以正常工作。
问题2:
当为本地开发将ExcludeManagedEntityCredential设置为true时,我开始看到另一个问题,它给我带来了api版本缺失的错误。我不明白在使用azure时为什么以及在哪里需要指定api版本。net sdk。
错误:
服务请求失败。状态:400(请求错误)
内容:{"错误":{"代码":"BadParameter","消息":"必须指定api-version"}}
问题一:
托管标识不能用于按设计对本地运行的应用程序进行身份验证。试着阅读文档中的重要提示。
托管标识不能用于对本地运行的应用程序进行身份验证。应用程序必须部署到支持托管标识的Azure服务。
问题2:
请使用最新版本更改Azure Key Vault secret客户端库的版本。
dotnet add package Azure.Security.KeyVault.Secrets
我尝试了DefaultAzureCredential
,在我的本地计算机中使用环境变量。
string keyVaultName = Environment.GetEnvironmentVariable("KEY_VAULT_NAME");
var kvUri = "https://" + keyVaultName + ".vault.azure.net";
var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential());
KeyVaultSecret secret = new KeyVaultSecret("testdefault", "123456");
KeyVaultSecret result = await client.SetSecretAsync(secret);
Console.WriteLine(result.Name);
我是阿帕奇骆驼的新手。我正试图将头和请求体一起发送到Apache Camel中的路由。 我得到以下错误:
我是Liquibase的新手,我尝试将liquibase与postgres数据库一起使用liquibase脚本创建数据库表。我所做的是,我已经手动创建了Postgres表并通过运行命令 mvn液化酶:generateChangeLog 我创建了liquibase-outputChangeLog.xml文件。现在我尝试更新该脚本并在数据库中创建一个表。为此,我将XML代码写入新表的ChangeLog
我正在使用GlassFish 3.1.2和Eclipse4.2。如果使用指定一个JTA事务类型,我可以很高兴地添加一个新类,如果我放置批注,该类将作为实体读取。 现在,如果我将事务类型更改为,将数据源更改为非JTA,并且添加必要的代码来检索和,在这里我将调用和。为了解决这个问题,我必须将我的实体添加到persistence.xml中列出的类中。 现在,这解决了我的问题,但我不明白为什么。根据规范,
如果我只提供一个IP来生成消息,而该IP在某个时间后关闭,将会发生什么。我是否能够通过该IP生成消息,或者我必须提供所有的IP地址?
安装geopandas时出现此错误。我一直在网上寻找它的解决方案,但没有一个真正解释发生了什么以及如何解决它…这是完整的错误:
下面是中的gulpfile.js 我已经通过启动并在之后删除了以前关于的错误,但在上仍然存在此问题