#azure #azure-blob-storage #azure-java-sdk
#azure #azure-blob-хранилище #azure-java-sdk
Вопрос:
Я пытаюсь создать функцию, которая с учетом учетных данных Azure проверяет, являются ли они действительными.
В этом случае я беру учетные данные имени учетной записи ADLS и ключа учетной записи.
Azure Java SDK не предоставляет API для этого, ОС я делаю следующее вручную
def testConnection(account: String, accountKey: String): Boolean = {
val storageConnectionString = s"DefaultEndpointsProtocol=https;AccountName=${accountName};AccountKey=${accountKey}"
val storageAccount = CloudStorageAccount.parse(storageConnectionString)
val client = storageAccount.createCloudBlobClient()
Try{ client.downloadServiceProperties() }.isSuccess
}
проблема downloadServiceProperties()
в том, что она относительно медленная, это может занять минуту или около того. Есть ли другие более быстрые варианты проверки, являются ли учетные данные ADLS пользователя действительными?
Ответ №1:
Попробуйте класс DefaultAzureCredential, а затем вызвать getToken
, чтобы получить токен подключения. Если токен не извлекается, пользователь не проходит проверку подлинности.
Примите во внимание, что пользователь может быть зарегистрирован, но не имеет прав на выполнение операции.
Комментарии:
1. Это кажется интересным, подумал, что я не могу найти этот класс, у меня есть эта зависимость
"com.microsoft.azure" % "azure-storage" % "8.6.5"
2. Вам нужно это:
com.azure:azure-identity:1.1.2