我正在使用Delphi并尝试访问Azure表,我可以使用我的帐户名和帐户密钥成功连接,如下所示:
connInfo := TAzureConnectionInfo.Create( nil );
connInfo.AccountName := STORAGE_ACCOUNT;
connInfo.AccountKey := STORAGE_API_KEY;
tables := TAzureTableService.Create( connInfo );
但是,我想使用共享访问签名来访问表,这样我就不必公开和/或硬编码我的存储api密钥,因为这样可以完全访问存储帐户。
那么,我如何指定我想使用生成的SAS URI而不是使用我的帐户密钥?
答案 0 :(得分:0)
根据您使用TAzureConnectionInfo
的代码,我认为您通过embarcadero RAD Studio使用Delphi。我不熟悉Delphi和RAD Studio。但是,根据我的经验,如果Azure服务不支持并直接为Delphi等编程语言提供SDK,则最好的方法是使用此语言支持的HttpClient的Azure REST API。
因此,您可以参考Authentication for the Azure Storage Services的官方REST API参考来生成使用Table Service REST API的SAS令牌。
同时,如果您熟悉C#,则在C#中有一个官方代码示例Getting Started with Shared Access Signatures (SAS)。
希望它有所帮助。