Класс Java:
Код: Выделить всё
package com.function;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.core.credential.TokenCredential;
import com.azure.storage.blob.*;
import com.azure.storage.blob.models.*;
public class AzureBlobStorageTest {
public static void main(String[] args) {
String endpoint = "https://s*****ev01.blob.core.windows.net";
String containerName = "test";
String blobName = "sample.csv";
String clientId = "619515b1-****-4437-8c09-9eca28338716"; // User-assigned Managed Identity Client ID
try {
// Build credential with client ID
TokenCredential credential = new DefaultAzureCredentialBuilder()
.managedIdentityClientId(clientId)
.build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint(endpoint)
.credential(credential)
.buildClient();
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerName);
BlobClient blobClient = containerClient.getBlobClient(blobName);
System.out.println("Connected to Blob: " + blobClient.getBlobUrl());
// Check if blob exists
if (blobClient.exists()) {
System.out.println("Blob exists");
}
} catch (Exception e) {
System.err.println("Error accessing blob storage: " + e.getMessage());
e.printStackTrace();
}
}
}
Код: Выделить всё
03:52:25.652 [main] INFO com.azure.core.http.netty.implementation.NettyUtility -- {"az.sdk.message":"The following Netty versions were found on the classpath and have a mismatch with the versions used by azure-core-http-netty. If your application runs without issue this message can be ignored, otherwise please align
the Netty versions used in your application. For more information, see https://aka.ms/azsdk/java/dependency/troubleshoot.","azure-netty-version":"4.1.126.Final","azure-netty-native-version":"2.0.73.Final","classpath-netty-version-io.netty:netty-common":"4.2.6.Final","classpath-netty-version-io.netty:netty-handler":"4.2.6.Final","classpath-netty-version-io.netty:netty-handler-proxy":"4.2.6.Final","classpath-netty-version-io.netty:netty-buffer":"4.2.6.Final","classpath-netty-version-io.netty:netty-codec":"4.2.6.Final","classpath-netty-version-io.netty:netty-codec-http":"4.2.6.Final","classpath-netty-version-io.netty:netty-codec-http2":"4.2.6.Final","classpath-netty-version-io.netty:netty-transport-native-unix-common":"4.2.6.Final","classpath-netty-version-io.netty:netty-transport-native-epoll":"4.2.6.Final","classpath-netty-version-io.netty:netty-transport-native-kqueue":"4.2.6.Final","classpath-native-netty-version-io.netty:netty-tcnative-boringssl-static":"2.0.73.Final"}
Connected to Blob: https://s*****ev01.blob.core.windows.net/test/sample.csv
03:52:27.415 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential EnvironmentCredential is unavailable.
03:52:27.419 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential WorkloadIdentityCredential is unavailable.
03:52:27.486 [main] INFO com.azure.identity.ManagedIdentityCredential -- User-assigned Managed Identity ID: 619515b1-7a16-****-8c09-9eca28338716
03:52:27.554 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential ManagedIdentityCredential is unavailable.
03:52:27.572 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential IntelliJCredential is unavailable.
03:52:27.575 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential VisualStudioCodeCredential is unavailable.
03:52:27.668 [main] INFO com.azure.identity.ChainedTokenCredential -- Azure Identity => Attempted credential AzureCliCredential is unavailable.
03:52:27.696 [main] ERROR com.azure.identity.implementation.PowershellManager -- PowerShell command failure.

Зависимости:
Код: Выделить всё
com.azure
azure-storage-blob
12.31.3
com.azure
azure-identity
1.18.1
compile
Может ли кто-нибудь помочь мне определить, что может быть не так с реализацией Java, которая препятствует подключению к хранилищу BLOB-объектов Azure с использованием управляемого удостоверения?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/797 ... d-identity
Мобильная версия