【发布时间】:2021-03-03 18:33:58
【问题描述】:
我想在 azure blob storage gen2 中上传文件。但问题是无法使用租户 ID、客户端 ID 和客户端密码进行连接。我指的是文档->https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-directory-file-acl-java#upload-a-file-to-a-directory中给出的Java代码。
static public DataLakeServiceClient GetDataLakeServiceClient
(String accountName, String clientId, String ClientSecret, String tenantID){
String endpoint = "https://" + accountName + ".dfs.core.windows.net";
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.clientId(clientId)
.clientSecret(ClientSecret)
.tenantId(tenantID)
.build();
DataLakeServiceClientBuilder builder = new DataLakeServiceClientBuilder();
return builder.credential(clientSecretCredential).endpoint(endpoint).buildClient();
}
但在上述代码的最后一行出现端点错误。
来自邮递员:
URI http://localhost:8081/upload/
Request param : <file to be uploaded>
"error": "Internal Server Error",
"message": "java.lang.NoClassDefFoundError: com/azure/core/implementation/util/ImplUtils"
【问题讨论】:
-
由于 SAS 令牌错误来自 DataLakeServiceClientBuilder::endpoint() 似乎有些问题,但不知道为什么!!!
标签: java azure spring-boot azure-storage