- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Azure cosmosDB SDK v3。如您所知,SDK 支持 CreateContainerIfNotExistsAsync,如果没有与提供的容器 ID 匹配的容器,它会创建一个容器。这很方便。但它会通过 ping Cosmos DB 来了解容器是否存在,而 GetContainer 则不会,因为 GetContainer 假定容器存在。因此,如果我的理解正确的话,CreateContainerIfNotExistsAsync 将需要再一次往返 Cosmos DB 来执行大多数操作。
所以我的问题是,从 API 角度来看,尽可能避免使用 CreateContainerIfNotExistsAsync 会更好吗? Api可以有更好的延迟并节省带宽。
最佳答案
Intellisense 中解释了不同之处,GetContainer
仅返回一个代理对象,该对象仅使您能够在该容器内执行操作,它不执行任何网络请求。例如,如果您尝试读取该代理上的项目 (ReadItemAsync),但容器不存在(这也使得该项目不存在),您将收到 404 响应。
CreateContainerIfNotExists
也不建议用于热路径操作,因为它涉及元数据或管理平面操作:
Retrieve the names of your databases and containers from configuration or cache them on start. Calls like ReadDatabaseAsync or ReadDocumentCollectionAsync and CreateDatabaseQuery or CreateDocumentCollectionQuery will result in metadata calls to the service, which consume from the system-reserved RU limit. CreateIfNotExist should also only be used once for setting up the database. Overall, these operations should be performed infrequently.
参见https://learn.microsoft.com/azure/cosmos-db/sql/best-practice-dotnet了解更多详情
底线:除非您希望容器由于应用程序中的某些逻辑路径而被删除,否则 GetContainer
是正确的方法,它为您提供了一个代理对象,您可以使用该代理对象来执行 Item 操作,而无需使用该代理对象。任何网络请求。
关于azure - CreateContainerIfNotExistsAsync 比 GetContainer 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69802260/
我正在使用 Azure cosmosDB SDK v3。如您所知,SDK 支持 CreateContainerIfNotExistsAsync,如果没有与提供的容器 ID 匹配的容器,它会创建一个容器
use Liip\FunctionalTestBundle\Test\WebTestCase; class ControllerTest extends WebTestCase { publi
本文整理了Java中org.eclipse.xsd.XSDAttributeGroupDefinition.getContainer()方法的一些代码示例,展示了XSDAttributeGroupDe
本文整理了Java中org.eclipse.xsd.XSDModelGroupDefinition.getContainer()方法的一些代码示例,展示了XSDModelGroupDefinition
本文整理了Java中org.eclipse.xsd.XSDConcreteComponent.getContainer()方法的一些代码示例,展示了XSDConcreteComponent.getCo
本文整理了Java中org.eclipse.xsd.XSDSchemaDirective.getContainer()方法的一些代码示例,展示了XSDSchemaDirective.getContai
本文整理了Java中org.eclipse.xsd.impl.XSDSchemaImpl.getContainer()方法的一些代码示例,展示了XSDSchemaImpl.getContainer()
本文整理了Java中org.eclipse.jface.wizard.WizardSelectionPage.getContainer()方法的一些代码示例,展示了WizardSelectionPag
我的目标 在 Plesk 中,我想使用 PHP 7.2 频繁运行 PHP 脚本。它必须是 PHP 脚本而不是控制台命令(有关详细信息,请参阅“我的环境”)。我当前基于 Symfony 4.2 的实现工
长话短说 我正在创建控制台垃圾收集器,它应该能够从容器中获取服务。这是基本的,几乎直接来自手册: setName('garbage:collect') ->setDescrip
本文整理了Java中com.ait.lienzo.client.core.shape.wires.WiresShape.getContainer()方法的一些代码示例,展示了WiresShape.ge
我确实有 spring 4.1.7 的所有 jar 和tiles 3.0.5 版本的 jar ,请查找以下错误。 SCHWERWIEGEND: Servlet.service() for servle
我是一名优秀的程序员,十分优秀!