首页 文章

列出存储帐户中的所有azure表

提问于
浏览
3

我试图列出所有azure表,然后迭代它们删除每个表 . 首先,我获取所有 Cloud 表的列表,然后尝试迭代所有 Cloud 表 . 但是它让我对它有所了解 .

代码如下

CloudStorageAccount account = CloudStorageAccount.Parse(connectionString);
CloudTableClient tableClient;
IEnumerable<CloudTable> tables = tableClient.ListTables();
foreach (CloudTable table in tables)
                table.DeleteIfExists();

for循环是中断,不允许迭代 . 以下是例外细节 .

at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T](StorageCommandBase1 cmd,IRetryPolicy policy,OperationContext operationContext)at Microsoft.WindowsAzure.Storage.Table.TableQuery1.ExecuteQuerySegmented(TableContinuationToken token,CloudTableClient client,String tableName, TableRequestOptions requestOptions,OperationContext operationContext)at Microsoft.WindowsAzure.Storage.Table.TableQuery1 . <> c__DisplayClass7 . <Execute> b__6(IContinuationToken continuationToken)at Microsoft.WindowsAzure.Storage.Core.Util.CommonUtility . <LazyEnumerable> d__01.MoveNext()在C:\ Users \ vargup \ Documents \ Visual Studio 2013 \ Projects \ CleanStorageAccount \ CleanStorageAccount \ Program.cs中的CleanStorageAccount.Program.Main(String [] args)的System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()处: System.AppDomain.ExecuteAssembly上的System.AppDomain._nExecuteAssembly(RuntimeAssembly程序集,String [] args)第34行(String assemblyFile,Evidence assemblySecurity,String [] args)在System.Threading的System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,ContextCallback callback,Object state,Boolean preserveSyncCtx)的System.Threading.ThreadPelread.ThreadStart_Context(Object state)中的Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()处 . System.Threading.ThreadHelper.ThreadStart()的System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态)中的ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,Object state,Boolean preserveSyncCtx)

2 回答

  • 2

    我更新了Microsoft.WindowsAzure.Storage.dll引用从2.1到3.1版本和相同的代码为我工作 .

  • 1

    这很好用:

    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
            CloudConfigurationManager.GetSetting("StorageConnectionString"));
        CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
    
        var table = tableClient.ListTables();
    
        foreach (CloudTable t in table)
        {
            insertEntity(t.Name, boxNewPage.Text, '', '');
        }
    

相关问题