Я пытаюсь загрузить Blob из хранилища Azure из кода Java, используя ClientId , TenantId и ClientSecret .
Вот код для получения клиента:
private BlobContainerClient getContainerClient_SP(String containerName) {
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
String endpoint = String.format(Locale.ROOT, "https://%s.blob.core.windows.net/%s", accountName, containerName);
BlobContainerClient containerClient = new BlobContainerClientBuilder()
.endpoint(endpoint)
.credential(clientSecretCredential)
.buildClient();
return containerClient;
}
< /code>
Вот фрагмент кода для загрузки: < /p>
try {
BlobContainerClient containerClient = getContainerClient_SP(containerName);
BlobClient blobClient = containerClient.getBlobClient(blobName);
String destinationPath = "C:\\MyFolder\\MyFileName";
blobClient.downloadToFile(destinationPath,true); //Exception thrown here
System.out.println("Download OK");
}
catch (Exception ex) {
System.out.println("APP exception: "+ex.getMessage());
throw ex;
}
< /code>
Исключение: < /p>
Исключение в потоке "main" < /p>
probote.sazure.storage.blob.models.blobstorageExcept генерируется SDK. Чтобы войти в систему, чтобы подписать подпись, передайте в паре значений клавиш контекста «azure-storage-log-string-to-sign»: верно для соответствующего вызова метода. < /P>
Если вы используете токен SAS, а сервер возвращал сообщение об ошибке, в котором говорится, что «подпись не совпадает», вы можете сравнить строку, чтобы подписать с помощью SDK. Чтобы войти в систему, чтобы подписать, пропустите в паре значений ключей контекста «azure-storage-log-string-to-sign»: верно для соответствующего вызова метода Generatesas. /> AuthorizationPermissionMismatch
Этот запрос не разрешен для выполнения этой операции, используя это разрешение. /> Время: 2023-09-21T09:07:08.3082584Z
at java.lang.invoke.methodhandle.invokewitharguments (Methondhandle.java:627)
com.azure.core.implementation.http.rest.responseexceptionConstructorCache.invoke (repplyExceptionConstructorCache.java:56) < /p>
< /blockquote>
Вопрос: есть ли что -то отсутствует в коде или это только проблема перминации? /> Определенные роли:
Подробнее здесь: https://stackoverflow.com/questions/771 ... ientsecret
Проблема с загрузкой из Azure с ClientId, TenantId и ClientSecret ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение