Как запросить хранилище таблиц Azure с помощью .Net Standard - PullRequest
0 голосов
/ 17 января 2019

У меня есть клиентское приложение .Net Standard, работающее на UWP.

Мое клиентское приложение связывается с сервером, который генерирует ключ sas, следующим образом:

var myPrivateStorageAccount = CloudStorageAccount.Parse(mystorageAccountKey);
var myPrivateTableClient = myPrivateStorageAccount.CreateCloudTableClient();
SharedAccessTablePolicy pol = new SharedAccessTablePolicy()
{
    SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(59),
    Permissions = SharedAccessTablePermissions.Query | SharedAccessTablePermissions.Add
};
CloudTable myPrivateTable = myPrivateTableClient.GetTableReference(tableName);
String sas = myPrivateTable.GetSharedAccessSignature(pol);
return sas;

Затем мое клиентское приложение выполняет следующее:

StorageCredentials creds = new StorageCredentials(sas);

this.tableClient = new CloudTableClient(tableServiceURI, creds);
this.table = tableClient.GetTableReference(tableName);
TableQuery<DynamicTableEntity> projectionQuery = new TableQuery<DynamicTableEntity>().Select(new string[] { "DocumentName" }).Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, cc));
 var res = await table.ExecuteQuerySegmentedAsync<DynamicTableEntity>(projectionQuery, null);

и получает следующую ошибку:

Серверу не удалось аутентифицировать запрос. Убедитесь, что значение Заголовок авторизации сформирован правильно, включая подпись. стер является обязательным. Не может быть пустым

но так как это табличное хранилище Я не думаю, что sr требуется

и мой ключ SAS выглядит нормально для меня:

* * Тысяча двадцать-один? SV = 2018-03-28 & т = MyTable & сиг = RandomSig151235341543 & й = 2019-01-17T12% 3A00% 3A28Z & SE = 2019-01-17T12% 3A59% 3A28Z & зр = ра * * одна тысяча двадцать-две

так в чем здесь проблема?

1 Ответ

0 голосов
/ 17 января 2019

Хорошо, это глупо, но я все равно выложу.

Я отправлял запрос по адресу:

https://myaccount.blob.core.windows.net/

и должен был отправить запрос по адресу:

https://myaccount.table.core.windows.net/

...