在 Azure Table 存储中使用 CreateTableIfNotExists 或 DoesTableExist 是否有任何开销?

Is there any overhead of using CreateTableIfNotExists or DoesTableExist with Azure Table Storage?

使用 Azure Table 存储时使用 CreateTableIfNotExists() 是否有任何开销?

如果是这样,什么样的开销?我只是想知道是否值得一直留在那儿?

否则每次都应该使用 DoesTableExist() 进行检查吗?哪个更好?

是的。首先,它添加了一个额外的 http 调用。接下来,它在幕后执行 Create()。如果由于具有该名称的资源已经存在而失败,则会发生 http 409 错误。您也会在日志中找到 ,例如在 Application Insights 中。在这种情况下会捕获该错误并返回值 true

现在换个角度来看。假设您有一个应用程序使用 table 来存储数据(好吧,您还会用它做什么?)。现在,有一天有人犯了一个错误,不小心删除了 table。在您的场景中,这会暂时被忽视,因为 table 是在没有通知的情况下重新创建的。因此,根据用例,可能需要一段时间才能发现错误。

一个选项可能是在启动时检查是否存在,如果不存在或类似的情况则记录警告。