在Azure队列上调用CreateIfNotExistsAsync()对性能的影响

fai*_*sal 4 .net c# azure azure-queues

我应该CreateIfNotExistsAsync()在每次对Azure队列进行读/写之前先打电话吗?

我知道它会导致REST调用,但是它在队列上执行任何IO吗?

我正在将.Net库用于Azure Queue(如果此信息很重要)。

stu*_*rtd 5

该方法所做的只是尝试创建队列并捕获AlreadyExists错误,您可以通过在尝试访问队列时捕获404来轻松地复制自己。必然会有一些对性能的影响。

更重要的是,它增加了您的成本:从了解Windows Azure存储计费–带宽,事务和容量[MSDN]

我们已经看到了在将每个放入消息放入队列之前在队列上执行CreateIfNotExist [sic]的应用程序。这将导致针对他们要排队的每个消息向存储系统发出两个单独的请求,而创建队列失败。确保仅在它们的生命周期开始时创建Blob容器,表和队列,以避免这些额外的交易成本。