我正在使用java中的Azure表存储,遵循教程here。我成功地能够创建表,添加实体,检索实体和删除实体。但是,我有这种删除表的方法:
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);
在eclipse中没有可用的建议只有以下标记:
此行有多个标记
- 构造函数CloudTable(String,CloudTableClient)不可见
- 构造函数CloudTable(String,CloudTableClient)不可见
非常感谢任何帮助。
答案 0 :(得分:1)
如果您查看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();
}