Azure API调用返回可用于查询存储表的SAS令牌(示例,其值已在下面更改)。
使用Azure Storage SDK for Java,我可以将整个令牌传递到凭证对象的构造函数中,如下所示:
new StorageCredentialsSharedAccessSignature(tokenString)
然后,该凭证对象以某种方式用于对" CloudTableClient"进行身份验证。对象:
CloudTableClient tableClient = new CloudTableClient(
new URI(tableEndpoint),
new StorageCredentialsSharedAccessSignature(tokenString))
但是,我希望有人可以帮助我使用令牌构建一个更简单的REST调用。我无法对CloudTableClient进行逆向工程,以弄清楚如何处理tokenString。我已经尝试将其放入网址和授权标题中,但它主要是反复试验。任何帮助将不胜感激。
示例令牌格式:
"sasToken" : "?sv=2015-04-05&tn=WADMetricsPT1HP10DV2S20160704&spk=%3A002Fsubscriptions%3A123456789012%3A12345678%3A12345678%3A1234567890123456%3A002FresourceGroups%3A002FRGName001%3A002Fproviders%3A002FMicrosoft%3A002ECompute%3A002FvirtualMachines%3A002FAzureWinServer&epk=%3A002Fsubscriptions%3A123456789012%3A002D54c4%3A12345678%3A12345678%3A1234567890123456%3A002FresourceGroups%3A002FRGName001%3A002Fproviders%3A002FMicrosoft%3A002ECompute%3A002FvirtualMachines%3A002FAzureWinServer&sig=SOMEFAKESIGNATURE123456a%2SOMEFAKESIGNATURE12345%3D&se=2016-08-18T10%3A57%3A58Z&sp=r"
答案 0 :(得分:0)
答案是简单地将其放在URL的末尾,并附加您之后的任何其他查询参数。例如,URL中需要api-version参数,因此此时您将添加:
& api-version = 2015-04-05。
此外,请勿使用请求的授权标头。