【问题标题】:Using a shared access signature (SAS URI) for Azure Tables from Delphi使用 Delphi 的 Azure 表的共享访问签名 (SAS URI)
【发布时间】:2018-03-10 21:33:04
【问题描述】:

我正在使用 Delphi 并尝试访问 Azure 表,我可以使用我的帐户名和帐户密钥成功连接,如下所示:

connInfo := TAzureConnectionInfo.Create( nil );
connInfo.AccountName := STORAGE_ACCOUNT;
connInfo.AccountKey := STORAGE_API_KEY;
tables := TAzureTableService.Create( connInfo );

但是,我想改为使用共享访问签名来访问表,这样我就不必公开和/或硬编码我的存储 api 密钥,因为这样可以完全访问存储帐户。

那么,我如何指定我想使用生成的 SAS URI 而不是使用我的帐户密钥?

【问题讨论】:

    标签: delphi azure-table-storage


    【解决方案1】:

    根据您使用TAzureConnectionInfo 的代码,我认为您是通过embarcadero RAD Studio 使用Delphi。我不熟悉 Delphi 和 RAD Studio。但是,根据我的经验,如果 Azure 服务不支持并直接为 Delphi 等编程语言提供 SDK,最好的方法是使用 Azure REST API 和该语言支持的 HttpClient

    因此,您可以参考Authentication for the Azure Storage Services 的官方 REST API 参考来生成使用 Table Service REST API 的 SAS 令牌。

    同时,如果您熟悉 C#,在 C# 中有一个官方代码示例 Getting Started with Shared Access Signatures (SAS)

    希望对你有帮助。

    【讨论】:

    • 谢谢。 Delphi 中有很多类支持 Acure 开发,我创建了一个 SAS 令牌。我没有找到的是如何将该令牌应用于 Delphi/C++ Builder 附带的类。我将查看 C# 示例,看看是否能给我一些想法。我总是可以自己处理 JSON,但是依赖 Delphi 中的类会容易得多,否则使用起来很愉快。
    猜你喜欢
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 2016-04-16
    相关资源
    最近更新 更多