如何将我的Azure表存储数据公开为JSON?

时间:2016-08-07 11:14:23

标签: c# azure azure-storage

我是Azure新手并尝试从Azure表存储中获取数据。我能够使用c#代码读取它并执行所有CRUD操作。但我正在寻找天蓝色存储的内置REST API?是可用的么?

下面的文章说我们需要编写自己的服务并进行部署。 https://blog.kloud.com.au/2016/06/09/using-microsoft-azure-table-service-rest-api-to-collect-data-samples

但是这需要我拥有IIS?或者我必须在c#??

中编写应用服务

我想要JSON,因为我想从Android应用程序中读取它,但我不想使用azure android SDK。我想要纯REST API

这篇文章http://chrisrisner.com/Mobile-Services-and-Windows-Azure-Storage很接近,但它建议我创建SQL Azure数据库!!所以我很困惑。

2 个答案:

答案 0 :(得分:2)

根据您的要求,我建议您转到Shared Access Signature (SAS)路线。简而言之,SAS是Azure存储资源的time-limited/permission-based access。这使您无需在应用程序中存储存储访问密钥,因为它会带来重大安全风险和其他一些问题。

要了解有关SAS的更多信息,请参阅以下链接:https://azure.microsoft.com/en-in/documentation/articles/storage-dotnet-shared-access-signature-part-1。这应该可以让您了解SAS的可能性。

以下是它的工作原理。将有一个服务器组件,它将了解帐户密钥。您的应用会请求此服务器组件生成并返回SAS URL。建议您仅授予必要的权限,并且仅限于SAS中所需的持续时间。

一旦您的应用具有SAS URL,他们就可以使用此SAS URL直接向Azure存储发出HTTP请求,并以JSON格式直接从Azure表中获取数据。例如,如果要从表中获取实体,可以进行Query Entities REST API调用:https://msdn.microsoft.com/en-us/library/azure/dd179421.aspx

要详细了解SAS,请参阅此链接:https://msdn.microsoft.com/en-us/library/azure/ee395415.aspx

答案 1 :(得分:1)

  
      
  • 我不想在Android应用程序中存储存储密钥。
  •   
  • 这个应用程序只是显示一个天蓝色存储的温度,它是由事件中心从设备到表存储实时推送的
  •   

无论您的要求是否简单,我们建议您不要在客户端公开您的存储密钥。但是,要向客户端提供表存储实体,我们仍需要后端服务器。

如果您有Azure Mobile Apps服务器作为设备的后端服务器,则可以直接将Azure Storage SDK集成到自定义API中,以便为您的设备提供表存储实体。有关详情,请参阅https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-backend-how-to-use-server-sdk/#how-to-define-a-custom-api-controller

如果您没有Azure移动应用程序,可以根据您的简单要求利用Auzre功能应用程序,其环境已自动添加程序集Microsoft.WindowsAzure.Storage,请参阅https://azure.microsoft.com/en-us/documentation/articles/functions-reference-csharp/了解更多信息