2015-08-14 2 views
0

У меня есть внутренняя переменная TableOperation Azure, и мне нужно получить rowKey и patitionKey. Я знаю, что я могу это сделать, но это последний способ, который я сделал бы. Я был бы рад, чтобы найти другой способ, чтобы получить эту информацию от TableOperation переменнойЕсть ли способ получить rowKey и patitionKey от Azure TableOperation?

 
foreach (TableOperation operation in tableOperations) 
{ 
//I need to get RowKey in in this case from operation variable 

results.Add(RetryManager.StorageRetryPolicy.ExecuteAction(() => table.Execute(operation))); 
} 
+0

Поделитесь некоторым кодом пожалуйста, если вы можете. –

ответ

1

AFAIK, используя TableOperation это не представляется возможным, однако table.Execute метод возвращает объект типа TableResult. Теперь TableResult имеет свойство под названием Result. Я тестировал с помощью методов Insert, Delete и InsertOrReplace и во всех из них Result содержал объект, на котором я выполнял операцию. Будет ли это работать для вас?

 var account = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true); 
     var tableClient = account.CreateCloudTableClient(); 
     var table = tableClient.GetTableReference("Address"); 
     var entity = new DynamicTableEntity("pk", "rk"); 
     entity.Properties.Add("Attribute1", new EntityProperty("Attribute 1 Value")); 
     TableOperation upsertOperation = TableOperation.InsertOrReplace(entity); 
     var tableResult = table.Execute(upsertOperation); 
     var result = tableResult.Result; 
     Console.WriteLine(result.GetType());//Prints Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity 
     var deleteOperation = TableOperation.Delete(entity); 
     tableResult = table.Execute(deleteOperation); 
     result = tableResult.Result; 
     Console.WriteLine(result.GetType());//Prints Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity 
     var insertOperation = TableOperation.Insert(entity, false); 
     tableResult = table.Execute(insertOperation); 
     result = tableResult.Result; 
     Console.WriteLine(result.GetType());//Prints Microsoft.WindowsAzure.Storage.Table.DynamicTableEntity 
+0

Существует проблема переименования с решением. Если операция выполнения завершается с ошибкой, существует ли способ получить информацию о сущности (rowKey, patitionKey)? – Galkin

+0

Я пробовал разные способы получить эту информацию, но до сих пор я не нашел способ получить информацию об объекте в случае сбоя операции выполнения. –

Смежные вопросы