我在哪里为我的Azure表存储设置策略以供用户读取并由管理员编写?

时间:2018-11-10 23:32:59

标签: javascript asp.net-mvc azure azure-table-storage

我有一个名为“ ChatMessages”的Azure存储表。用户正在从javascript中读取数据,因此我只希望对其具有读取权限。在服务器端,我将数据(聊天消息)保存到表中,因此我想授予服务器端的写访问权限。

我在哪里只在客户端设置读取访问权限,如何使用它?

这是我的服务器端代码和javascript代码

            var chatMessages = ConfigurationManager.AppSettings["ChatMessages"];
            CloudStorageAccount storageAccount = CloudStorageAccount.Parse(chatMessages);

            // Create the table client.
            CloudTableClient tableClient = storageAccount.CreateCloudTableClient();

            // Create the CloudTable object that represents the "ChatMessages" table.
            CloudTable table = tableClient.GetTableReference("ChatMessages");

            // Create a ChatMessage entity.
            ChatMessage chatMessage;

            // create a new chat message entity here

            // Create the TableOperation object that inserts the ChatMessage entity.
            TableOperation insertOperation = TableOperation.Insert(chatMessage);

            // Execute the operation.
            table.Execute(insertOperation);

这是我的JavaScript代码,每个用户只需要对表数据进行读取访问即可。

var tableUri = "https://myrggroupname.table.core.windows.net";
var tableService = AzureStorage.Table.createTableServiceWithSas(tableUri, sasToken);
var tableQuery = new AzureStorage.Table.TableQuery()
  .select(['ProfileIdA', 'ProfileIdB', 'DisplayTime', 'DateSent', 'Message'])
  .top(20)
  .where('PartitionKey eq ? or PartitionKey eq ?', partitionA, partitionB);

tableService.queryEntities('ChatMessages', tableQuery, null, function(error, result, response) {
  // do work here
});

0 个答案:

没有答案