Azure-sdk-for-java: Azure Key Vaultにアクセスする-DefaultAzureCredentialBuilder()がエラーをスローする

作成日 2020年08月06日  ·  3コメント  ·  ソース: Azure/azure-sdk-for-java

こんにちは、
私はここのチュートリアルに従っています: https
JavaアプリケーションのKeyVaultからシークレットを取得しようとしています。

SecretClient変数を初期化しようとすると、クレデンシャルビットでエラーが発生します。 次のコードをチュートリアルから直接コードに貼り付けました(キーボールトを指す文字列変数kvUriを作成しました)。
SecretClient secretClient = new SecretClientBuilder().vaultUrl(kvUri).credential(new DefaultAzureCredentialBuilder().build()) .buildClient();

'new DefaultAzureCredentialBuilder()。build()'の下に赤いエラー行が表示されます。 カーソルを合わせると、次のメッセージが表示されます。
"必要なタイプ:TokenCredential
提供:DefaultAzureCredential "

次のjarファイルをインストールしてインポートしました。
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;

  • OS: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 評価