[Azure] 使用 Cosmos DB for NoSQL 的 API

news/2025/1/21 7:22:10/文章来源:https://www.cnblogs.com/jinzesudawei/p/18513411

什么是 Azure Cosmos DB for NoSQL?

Azure Cosmos DB for NoSQL 是用于处理文档数据模型的原生非关系服务。它可以使用灵活的架构任意存储原生 JSON 文档。
数据会自动编制索引,并可使用专为 JSON 数据设计的 SQL 查询语言进行查询。使用适用于常用框架(如 .NET、Python、Java 和 Node.js)的 SDK 访问 API。

操作范例

1. 免费创建帐户
https://azure.microsoft.com/free

2. 创建数据库(Database)和容器(Container)

3. 在项目中使用 NuGet 安装 Microsoft.Azure.Cosmos

 关于对象模型

3.1 验证客户端 

CosmosClient client = new(accountEndpoint: "<azure-cosmos-db-nosql-account-endpoint>",authKeyOrResourceToken: "<azure-cosmos-db-nosql-account-key>");

3.2 获取数据库

Database database = client.GetDatabase("databasename");

3.3 获取容器

Container container = database.GetContainer("containername");

3.4 新建项

Product item = new(id: "68719518391",category: "gear-surf-surfboards",name: "Yamba Surfboard",quantity: 12,price: 850.00m,clearance: false
);
ItemResponse<Product> response = await container.UpsertItemAsync<Product>(item: item,partitionKey: new PartitionKey("gear-surf-surfboards")
);

3.5 读取项

ItemResponse<Product> response = await container.ReadItemAsync<Product>(id: "68719518391",partitionKey: new PartitionKey("gear-surf-surfboards")
);

3.6 查询项

/* 使用 container.GetItemQueryIterator 对容器中的多个项执行查询。 使用此参数化查询查找指定类别中的所有项。 */
string query = "SELECT * FROM products p WHERE p.category = @category"
var query = new QueryDefinition(query).WithParameter("@category", "gear-surf-surfboards");
using FeedIterator<Product> feed = container.GetItemQueryIterator<Product>(queryDefinition: query);
/* 通过使用 feed.ReadNextAsync 循环访问每个结果页来分析查询的分页结果。 在每个循环的开头使用 feed.HasMoreResults 来确定是否还剩下任何结果。*/
List<Product> items = new();
while (feed.HasMoreResults)
{FeedResponse<Product> response = await feed.ReadNextAsync();foreach (Product item in response){items.Add(item);}
}

 

参考资料

快速入门:适用于 .NET 的 Azure Cosmos DB for NoSQL 库
Azure Cosmos DB for NoSQL 入门
Azure Cosmos DB 使用教程
Azure Cosmos DB 随笔教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823727.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot:调用接口返回的数据乱码解决

从git拉下来项目后,运行服务,启动正常,但是使用swagger和postman调用服务接口出现乱码问题每一个接口返回的数据是乱码,但是控制台打印的日志都是正常的,后续发现数据的返回类型不是常见的application/json,而是application/x-jackson-smile,所以要通过改变数据类型解决…

贝叶斯网络应用在哪些方面

贝叶斯网络是一种强大的统计工具,用于表示随机变量之间的依赖关系。它的应用非常广泛,包括1、医疗诊断和疾病预测;2、风险管理和金融建模;3、机器学习和人工智能。其中,在医疗领域,贝叶斯网络可用于分析疾病的潜在原因,并预测病人的恢复概率。一、医疗诊断和疾病预测疾病…

明火识别检测视频分析服务器烟雾检测识别在企业消防安防场景中的应用

随着科技的不断进步,明火识别检测视频分析服务器在企业消防安防领域扮演着越来越重要的角色。它通过结合人工智能、大数据分析和物联网技术,为火灾预防、检测和响应提供了全新的解决方案。以下是在企业消防安防场景中的一些关键应用,它们展示了如何利用这些先进技术来提升消…

C#01-C#知识点

@目录0.什么是 C#?1.什么是类?2.面向对象编程的主要概念是什么?3.什么是对象?4.什么是构造函数,它有哪些不同的类型?5. C#中的析构函数是什么?6.C# 代码是托管代码还是非托管代码?7.什么是值类型和引用类型?8.什么是命名空间,它是强制性的吗?9.用例子解释 C# 中的注…

Mybatis(管理数据库)

Mybatis(管理数据库) 在配置好环境之后可以通过接口实现对于数据库的各种操作同时在Mapper.xml文件中写好sql语句,对于类存在多个成员需要添加resultMapper注释来提示Mybatis

为什么最近出现了这么多AI收录网站?

在这个信息泛滥的时代,许多人可能会感到困惑:每天都有大量的信息涌入,但如何在其中找到真正有用的内容呢?AI收录网站的出现恰好为我们解决了这个问题。这些网站通过人工智能技术,自动整理、分析和推荐信息,帮助用户高效获取所需内容。无论是学术研究、行业资讯还是日常生…

NFS server

NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁…

centos7部署libreoffice7.5

安装包下载地址:https://downloadarchive.documentfoundation.org/libreoffice/old/7.5.0.1/rpm/x86_64/ 分别是LibreOffice_7.5.0.1_Linux_x86-64_rpm.tar.gz # libreoffice安装包LibreOffice_7.5.0.1_Linux_x86-64_rpm_langpack_zh-CN.tar.gz # 中文包LibreOf…

Shooter Game User Interface Starter

为射击游戏开发者提供了一套完整的 Unity UI 布局屏幕和预制件,旨在加速游戏界面的开发过程。射击游戏用户界面工具包 这个工具包为射击游戏开发者提供了一套完整的 Unity UI 布局屏幕和预制件,旨在加速游戏界面的开发过程。以下是工具包的核心特性: 屏幕布局:包含 9 个完整…

Java 中的类型推断是如何工作的?_2

在Java中,类型推断是编译时进行的过程,它可以自动推导出表达式的类型、减少代码冗余及增强可读性。Java的类型推断通过以下方式工作:自动推导泛型参数类型、省略冗余类型信息、简化Lambda表达式的编写。特别是在Java 8及以后的版本中,类型推断的特性得到了极大加强。单独展…

080 组件自定义事件-绑定

原则:给谁绑定的事件,就去找谁触发

2 湍流

2 湍流 背景 湍流是具有广泛涡旋尺寸谱和相应波动频率谱的涡旋运动。 湍流具有如下特征:旋转、间歇性(intermittent)、高度无序性、扩散性(diffusive)、耗散性(dissipative)。 湍流可用纳维-斯托克斯动量方程描述。 最大的涡旋(低频波动)的形式通常由边界决定,最小涡…