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



我正在尝试创建一个函数,让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类,然后调用getToken以获取连接令牌。若未检索到任何令牌,则表示用户未通过身份验证。

请注意,用户可能已登录,但没有执行操作的权限。

相关内容

最新更新