Microsoft Azure表存储:CloudTable()错误没有可用的建议

时间:2016-12-10 15:48:52

标签: java azure

我正在使用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)不可见
  •   

非常感谢任何帮助。

1 个答案:

答案 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();
}