Azure-sdk-for-java: 访问 Azure Key Vault - DefaultAzureCredentialBuilder() 引发错误

创建于 2020-08-06  ·  3评论  ·  资料来源: Azure/azure-sdk-for-java

你好,
我正在关注这里的教程: https :
试图从我的 Java 应用程序中的 Key Vault 检索机密。

尝试初始化 SecretClient 变量时,我在凭据位中遇到错误。 我将教程中的以下代码直接粘贴到我的代码中(创建了一个指向我的密钥库的字符串变量 kvUri):
SecretClient secretClient = new SecretClientBuilder().vaultUrl(kvUri).credential(new DefaultAzureCredentialBuilder().build()) .buildClient();

我在“new DefaultAzureCredentialBuilder().build()”下收到一条红色错误行。 当我将鼠标悬停在它上面时,我会看到以下消息:
"必填类型:TokenCredential
提供:DefaultAzureCredential”

我已经安装并导入了以下 jars:
azure-security-keyvault-secrets-4.1.1.jar
azure-identity-1.1.0-beta.7.jar

导入语句:
import com.azure.security.keyvault.secrets.SecretClient; import com.azure.security.keyvault.secrets.SecretClientBuilder; import com.azure.identity.DefaultAzureCredentialBuilder;

  • 操作系统:Windows 10
  • IDE:IntelliJ

知道我能做些什么来解决这个问题吗?

谢谢!

Client Docs KeyVault customer-reported question

所有3条评论

感谢您提交此问题,@ronny-sphera。 @vcolin7@g2vinay你能跟进吗?

嗨@ronny-sphera,我似乎无法重现您提到的问题。 这是我使用的代码:

import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
import com.azure.security.keyvault.secrets.models.KeyVaultSecret;
import com.azure.security.keyvault.secrets.models.SecretProperties;

public class ListSecrets {
    public static void main(String[] args) {
        String keyVaultUrl = "https://<your-keyvault-name>.vault.azure.net/";

        SecretClient secretClient = new SecretClientBuilder()
            .vaultUrl(keyVaultUrl)
            .credential(new DefaultAzureCredentialBuilder().build())
            .buildClient();

        System.out.println("Listing secrets");

        for(SecretProperties secretProperties : secretClient.listPropertiesOfSecrets()) {
            if (secretProperties.isEnabled()) {
                KeyVaultSecret secret = secretClient.getSecret(secretProperties.getName());

                System.out.printf("Secret name: %s, secret value: %s\n", secret.getName(), secret.getValue());
            }
        }
    }
}

我还使用以下依赖项:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-security-keyvault-secrets</artifactId>
    <version>4.1.1</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.1.0-beta.7</version>
</dependency>

也许您可以尝试重建您的项目或在您的 POM 文件所在的目录中运行mvn clean install

将依赖项添加到 pom 并重新加载 maven 项目似乎已经解决了 - 谢谢!

此页面是否有帮助?
0 / 5 - 0 等级