Azure-sdk-for-java: الوصول إلى Azure Key Vault - يؤدي DefaultAzureCredentialBuilder () إلى ظهور خطأ

تم إنشاؤها على ٦ أغسطس ٢٠٢٠  ·  3تعليقات  ·  مصدر: Azure/azure-sdk-for-java

أهلا،
أنا أتابع البرنامج التعليمي هنا: https://docs.microsoft.com/en-us/azure/key-vault/secrets/quick-create-java
محاولة استرداد سر من Key Vault في تطبيق Java الخاص بي.

عند محاولة تهيئة متغير SecretClient ، أتلقى خطأ في بت بيانات الاعتماد. لقد قمت بلصق الكود التالي مباشرة من البرنامج التعليمي في الكود الخاص بي (قمت بإنشاء متغير سلسلة kvUri يشير إلى قبو المفتاح الخاص بي):
SecretClient secretClient = new SecretClientBuilder().vaultUrl(kvUri).credential(new DefaultAzureCredentialBuilder().build()) .buildClient();

أتلقى خط خطأ أحمر أسفل "DefaultAzureCredentialBuilder (). build () الجديدة". عندما أحوم فوقها أرى هذه الرسالة:
"النوع المطلوب: TokenCredential
تم توفيره: DefaultAzureCredential "

لقد قمت بتثبيت واستيراد البرطمانات التالية:
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>

ربما يمكنك محاولة إعادة بناء مشروعك أو تشغيل mvn clean install في الدليل حيث يوجد ملف POM الخاص بك.

يبدو أن إضافة التبعيات إلى pom وإعادة تحميل المشروع المخضرم قد حلاها - شكرًا!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات