从C#中的Cosmos DB获取最新的5分钟数据可以通过以下步骤实现:
using Microsoft.Azure.Cosmos;
using System;
using System.Collections.Generic;
string cosmosEndpointUrl = "YOUR_COSMOS_DB_ENDPOINT_URL";
string cosmosAuthKey = "YOUR_COSMOS_DB_AUTH_KEY";
string databaseId = "YOUR_DATABASE_ID";
string containerId = "YOUR_CONTAINER_ID";
CosmosClient cosmosClient = new CosmosClient(cosmosEndpointUrl, cosmosAuthKey);
Database database = cosmosClient.GetDatabase(databaseId);
Container container = database.GetContainer(containerId);
DateTime currentDateTime = DateTime.UtcNow;
DateTime fiveMinutesAgo = currentDateTime.AddMinutes(-5);
string query = $"SELECT * FROM c WHERE c.timestamp > '{fiveMinutesAgo.ToString("yyyy-MM-ddTHH:mm:ssZ")}' ORDER BY c.timestamp DESC";
QueryDefinition queryDefinition = new QueryDefinition(query);
FeedIterator<dynamic> feedIterator = container.GetItemQueryIterator<dynamic>(queryDefinition);
List<dynamic> results = new List<dynamic>();
while (feedIterator.HasMoreResults)
{
FeedResponse<dynamic> response = await feedIterator.ReadNextAsync();
results.AddRange(response.Resource);
}
以上代码片段中,cosmosEndpointUrl
和 cosmosAuthKey
分别是你的 Cosmos DB 的终结点 URL 和认证密钥。databaseId
和 containerId
是你要查询的数据库和容器的 ID。
最后,通过使用查询定义和 GetItemQueryIterator
方法执行查询,并使用 ReadNextAsync
方法循环读取查询结果。将结果保存在一个列表中,供后续处理使用。
请注意,以上代码只是一个示例,根据你的实际需求可能需要进行适当的修改和优化。此外,Cosmos DB 还提供了更多高级功能和选项,可以根据具体情况进行进一步探索。
在腾讯云中,相关的产品是腾讯云的分布式数据库 TDSQL-C,可以提供高可靠、高性能的数据库服务。具体产品介绍和相关链接请参考腾讯云官方文档:
领取专属 10元无门槛券
手把手带您无忧上云