我正在按照here教程使用Java的Azure表存储。我能够成功创建表,添加实体,检索实体并删除实体。但是,我有此方法可以删除表:
public void deleteTable(String tableName) {
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
CloudTableClient tableClient = storageAccount.createCloudTableClient();
// Delete the table and all its data if it exists.
CloudTable cloudTable = new CloudTable(tableName, tableClient);
cloudTable.deleteIfExists();
} catch (Exception e) {
System.out.println("Error in deleting");
e.printStackTrace();
}
}
在这种方法下,我在这条线上出现错误
CloudTable cloudTable = new CloudTable(tableName, tableClient);
仅在以下标记中没有建议可用:
这行有多个标记
构造函数CloudTable(String,CloudTableClient)不可见
构造函数CloudTable(String,CloudTableClient)不可见
任何帮助将不胜感激。
最佳答案
如果查看CloudTable
构造函数here
,您会发现所使用的代码无效。 SDK可能已升级,但代码示例未升级。我建议在getTableReference
上使用CloudTableClient
方法来获取CloudTable
的实例:
try
{
// Retrieve storage account from connection-string.
CloudStorageAccount storageAccount =
CloudStorageAccount.parse(storageConnectionString);
// Create the table client.
CloudTableClient tableClient = storageAccount.createCloudTableClient();
// Delete the table and all its data if it exists.
CloudTable cloudTable = tableClient.getTableReference("people");
cloudTable.deleteIfExists();
}
catch (Exception e)
{
// Output the stack trace.
e.printStackTrace();
}