如何正确测试 Azure SDK 客户端使用的凭据是否有效

How properly test credentials used by Azure SDK client are valid

我正在尝试创建一个函数来检查给定的 Azure 凭据是否有效。

在这种情况下,我使用 ADLS 帐户名和帐户密钥凭据。

A​​zure 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 获取连接令牌。如果没有检索到令牌,则用户未通过身份验证。

请注意,用户可能已登录但无权执行该操作。