azure - 将 CreateTableIfNotExists 或DoesTableExist 与Azure 表存储结合使用是否有任何开销?

标签 azure azure-table-storage

使用CreateTableIfNotExists()有任何开销吗?当使用 Azure 表存储时?

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

否则应该使用DoesTableExist()进行检查每次都用它代替吗?哪个更可取?

最佳答案

是的,有。其一,它添加了额外的 http 调用。接下来,它在底层执行Create()。如果由于具有该名称的资源已存在而失败,则会出现 http 409 错误。您也可以在日志中找到这些信息,例如在 Application Insights 中。该错误将被捕获,并在这种情况下返回值 true

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

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

关于azure - 将 CreateTableIfNotExists 或DoesTableExist 与Azure 表存储结合使用是否有任何开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54870537/

相关文章:

c# - Azure 表查询在更改大小写时返回空值

java - 如何修复从 REST 客户端使用 AZURE 表存储服务时指定的资源不存在错误

azure - 我可以在 azure 中缓存我的表存储调用吗?

Azure表存储返回404 API调用的资源未找到

Azure powershell cmdlet 抛出 "An error occurred while sending the request."

c# - 从 ASP.NET 应用程序访问 Azure 存储帐户文件共享

azure - Azure 如何检查 WorkerRole 的状态?

powershell - 替换用于部署的 Azure SDK Powershell commandlet

C#并行写入Azure Data Lake File

c# - Azure 表存储