用于 jQuery 站点的简单 Azure 表服务前端

Posted

技术标签:

【中文标题】用于 jQuery 站点的简单 Azure 表服务前端【英文标题】:Simple Azure Table Service front-end for jQuery site 【发布时间】:2017-12-04 19:48:57 【问题描述】:

我正在开发一个 jQuery 网站,它将显示我的 Azure 表存储 (ATS) 帐户中的一条记录。我不想使用 jQuery 直接访问表,因为这需要披露我的 ATS 帐户名称和 jQuery 代码中的密钥。我试图找到一个简单的 C# Web 服务示例项目作为接口,但我能找到的一切都比我需要的复杂得多。

这个 Web 服务只需要一个 jQuery 将使用的 API:它将传递两个字符串:ATS 的分区键和行键,这将与 ATS 中的现有记录完全匹配。返回的结果将是一个字符串,jQuery 在接收到它后将使用 JSON.parse() 进行转换。如果传入的 Partition 和 Row Keys 没有找到记录,则应该返回一个空字符串。

如果您知道一个简单的 C# Web 服务示例,我可以将其用作起点,我将非常感谢您提供指向它的链接。自从我使用 C# 开发以来已经有很多年了,表服务 API 的复杂性以及所有相关的加密、散列、签名等让我感到困惑。

编辑:我现在意识到,也许我的 jQuery 代码(提供 Web UI)和 C#(提供 ATS 接口)可能在一个 .NET 解决方案中一起工作。我目前正在自己​​的 .NET 解决方案中独立运行 jQuery UI 应用程序,因为我一直在摸索尝试。

【问题讨论】:

只需创建一个新的 ASP.NET Web Api 项目,制作您需要的一个控制器和一个操作,然后就可以收工了。 【参考方案1】:

我不想使用 jQuery 直接访问表,因为这需要披露我的 ATS 帐户名称和 jQuery 代码中的密钥。

您似乎不希望jQuery客户端直接通过table service Rest API查询实体的GET请求,并且您想创建一个用于查询表中实体的后端服务。正如评论中提到的 maccettura,您可以创建一个 ASP.NET Web API 项目并在控制器操作中执行 Query Entities 操作。

[Route("queryentity/pk/rk")]
public CustomerEntity Get(string pk, string rk)

    //you can install [Azure Storage Client Library for .NET](https://www.nuget.org/packages/WindowsAzure.Storage/)
    //and then create a retrieve operation and pass both partition and row keys to retrieve a single entity

    //TableOperation retrieveOperation = TableOperation.Retrieve<CustomerEntity>(pk, rk);

    //or 
    //make [Query Entities](https://docs.microsoft.com/en-us/rest/api/storageservices/query-entities) operation as you did 


    return myCustomerEntity;

【讨论】:

以上是关于用于 jQuery 站点的简单 Azure 表服务前端的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用站点到站点 (***) 连接来连接两个 Azure VNet?

在同一个Angular Workspace中将多个Angular应用程序部署到Azure

Microsoft Azure Site Recovery 安装VMM服务器代理

用于 *** 的 Azure 静态 IP?

我可以在Azure中运行内部Web服务吗?

Datetimeoffset 不适用于 azure app 服务