如何正确测试 Azure SDK 客户端使用的凭据是否有效
How properly test credentials used by Azure SDK client are valid
我正在尝试创建一个函数来检查给定的 Azure 凭据是否有效。
在这种情况下,我使用 ADLS 帐户名和帐户密钥凭据。
Azure Java SDK 没有为此提供 API,os 我正在手动执行以下操作
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 凭据是否有效?
尝试 DefaultAzureCredential Class,然后调用 getToken
获取连接令牌。如果没有检索到令牌,则用户未通过身份验证。
请注意,用户可能已登录但无权执行该操作。
我正在尝试创建一个函数来检查给定的 Azure 凭据是否有效。
在这种情况下,我使用 ADLS 帐户名和帐户密钥凭据。
Azure Java SDK 没有为此提供 API,os 我正在手动执行以下操作
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 凭据是否有效?
尝试 DefaultAzureCredential Class,然后调用 getToken
获取连接令牌。如果没有检索到令牌,则用户未通过身份验证。
请注意,用户可能已登录但无权执行该操作。