none
Не могу достучаться до Azure Tables из кода c# RRS feed

  • Общие обсуждения

  • День добрый!

    Локальный эмулятор хранилища работает и запущен, но из кода c# достучаться до него не могу. На создании таблицы (peopleTable.CreateIfNotExists();) выдает "Удаленный сервер возвратил ошибку: (400) Недопустимый запрос". Где бы ни смотрел в гугле, на строчке, где у меня ошибка, в любых мануалах написано "вуаля, у вас создалась таблица". А она у меня не создается.
    Пытаюсь выполнить в облаке. Строку peopleTable.CreateIfNotExists(); пропускает нормально, но добавить запись, peopleTable.Execute(insertText); не получается, аналогично, 400 ошибка. 
    Под этим кодом ошибки может быть всё, что угодно, поэтому очень трудно искать информацию.
    приложение типа hello world, код такой: 
    Класс: 

    [DataServiceKey("PartitionKey", "RowKey")] 
    public class BattleStorage : TableEntity 

    // ChannelName 
    public string PartitionKey { get; set; } 
    // PostedDate 
    public string RowKey { get; set; } 
    // Определяемые пользователем свойства 
    public string Text { get; set; } 


    и выполняемый код: 

    string accountName = "portalvhdsg0kjck8vcc6pq"; 
    string accountKey = "OYwvCHL/7XuTZ6uKOKbIuJuN/Bp5nHmZCIM1P9V j1VnNHTBdnn2yNJH17pB1UUhXuZDjQauQqgwD9tRJWgSS zQ=="; 

    //Get a reference to the storage account, with authentication credentials 
    StorageCredentials credentials = new StorageCredentials(accountName, accountKey); 

    CloudStorageAccount storageAccount = new CloudStorageAccount(credentials, true); 
    //CloudStorageAccount storageAccount = Microsoft.WindowsAzure.Storage.CloudStorageAc count.DevelopmentStorageAccount;--для локального эмулятора

    // Create the table client. 
    CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); 
    CloudTable peopleTable = tableClient.GetTableReference("people" ); 
    peopleTable.CreateIfNotExists(); 


    BattleStorage blog = new BattleStorage 

    PartitionKey = "aa", // ChannelName 
    RowKey = "bb",//DateTime.UtcNow.ToString(), // PostedDate 
    Text = "Hello" 
    }; 


    TableOperation insertText = TableOperation.Insert(blog); 
    peopleTable.Execute(insertText);

    __________________

    Пробовал еще несколькими способами, ничего не выходит, подскажите, пожалуйста, что тут не так?

    21 июня 2013 г. 13:02