Где я могу установить политику для своего хранилища таблиц Azure, чтобы пользователь мог читать, а администратор - для записи?
У меня есть таблица хранения Azure, которая называется ChatMessages. Пользователи читают данные из 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
});