我正在按照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();
}

10-08 02:27