标签: azure-cosmosdb

CosmosDB 和 Python3:如何查询?

我在我的项目中使用 CosmosDB (Azure documentDB),用 Python 3 编写。

我已经找了一段时间了,但我不知道如何查询我的表。我已经看到了一些示例代码,但我没有看到如何查询的示例...我所能做的就是获取所有文档(当我的数据库 > 80GB 时并不理想)。

GitHub 存储库显示了一组非常小的数据库和集合操作:https://github.com/Azure/azure-documentdb-python/blob/master/samples/CollectionManagement/Program.py

下面的 SO帖子展示了如何读取所有文档...但没有展示如何执行诸如“WHERE = X;”之类的查询

如果有人能指出我正确的方向,并且可能提供一个展示如何运行查询的示例,我将非常感激。

python azure python-3.x azure-cosmosdb

1
推荐指数
1
解决办法
9054
查看次数

Azure CosmosDB - 用作队列

我一直在阅读 Azure Cosmos DB(新的文档数据库),并注意到它允许在数据写入数据库时​​执行 Azure 函数。

通常,我会写入服务总线,然后使用 Azure 函数处理消息,并将消息存储在文档数据库中以供历史记录。

我需要一些有关 CosmoDB 良好实践的帮助

message-queue azure-cosmosdb

1
推荐指数
1
解决办法
3988
查看次数

Azure Cosmos DB 建模

我计划出于自己的目的保存CoinMarketCap API中的记录。我想每 15 分钟保存一次前 100 个加密货币的价格信息,并且我想将其保存在 Azure Cosmos DB 中。

由于我对文档数据库的整个概念还不熟悉,因此我需要一些帮助对文档进行建模。

首先我开始使用这个模型。

[
    {
        "id": "bitcoin",
        "name": "Bitcoin",
        "symbol": "BTC",
        "rank": "1",
        "price_usd": "573.137",
        "price_btc": "1.0",
        "24h_volume_usd": "72855700.0",
        "market_cap_usd": "9080883500.0",
        "available_supply": "15844176.0",
        "total_supply": "15844176.0",
        "percent_change_1h": "0.04",
        "percent_change_24h": "-0.3",
        "percent_change_7d": "-0.57",
        "last_updated": "1472762067"
    },
    {
        "id": "ethereum",
        "name": "Ethereum",
        "symbol": "ETH",
        "rank": "2",
        "price_usd": "12.1844",
        "price_btc": "0.021262",
        "24h_volume_usd": "24085900.0",
        "market_cap_usd": "1018098455.0",
        "available_supply": "83557537.0",
        "total_supply": "83557537.0",
        "percent_change_1h": "-0.58",
        "percent_change_24h": "6.34",
        "percent_change_7d": "8.59",
        "last_updated": "1472762062"
    },
    ...
]
Run Code Online (Sandbox Code Playgroud)

但由于每次写入数据库时​​ id 都没有改变,因此记录仅被更新,而不是聚合。我想这正如预期的那样。 …

data-modeling azure azure-cosmosdb

1
推荐指数
1
解决办法
854
查看次数

将参数传递给 CosmosDB 存储过程

我有一个 Cosmos DB 存储过程,在其中传递逗号分隔的 ID 列表。我需要将这些 ID 传递给查询。当我将一个值传递给参数时,它工作正常,但不能使用多个值。

如果有人能在这里提供帮助,那就太好了。下面是存储过程的代码:

function getData(ids) {
var context = getContext();
var coll = context.getCollection();
var link = coll.getSelfLink();
var response = context.getResponse();

var query =  {query: "SELECT * FROM c where c.vin IN (@ids)", parameters: 
[{name: "@ids", value: ids}]};


var requestOptions = {
                    pageSize: 500
    };

var run = coll.queryDocuments(link, query, requestOptions, callback);

function callback(err, docs) {
    if (err) throw err;
    if (!docs || !docs.length) response.setBody(null);
    else {
          response.setBody(JSON.stringify(docs));
        }
}

if (!run) throw …
Run Code Online (Sandbox Code Playgroud)

.net c# azure azure-cosmosdb

1
推荐指数
1
解决办法
7715
查看次数

如何在 python 中生成 cosmos db 的其余授权令牌?

我在为简单的获取数据库请求生成 cosmos db 的授权令牌时遇到问题。这是我的Python代码:

import requests
import hmac
import hashlib
import base64
from datetime import datetime

key = 'AG . . .EZPcZBKz7gvrKiXKsuaPA=='
now = datetime.utcnow().strftime('%a, %d %b %Y %H:%M:00 GMT')
payload = ('get\ndbs\n\n' + now + '\n\n').lower()
signature = base64.b64encode(hmac.new(key, msg = payload, digestmod = hashlib.sha256).digest()).decode()

url = 'https://myacct.documents.azure.com/dbs'
headers = {
    'Authorization': "type=master&ver=1.0&sig=" + signature,
    "x-ms-date": now,
    "x-ms-version": "2017-02-22"
}

res = requests.get(url, headers = headers)
print res.content
Run Code Online (Sandbox Code Playgroud)

这会产生此错误:

{"code":"Unauthorized","message":"The input authorization token can't serve the request. Please check …
Run Code Online (Sandbox Code Playgroud)

python rest azure-cosmosdb

1
推荐指数
1
解决办法
3067
查看次数

Azure Function V2 against Cosmos Db DocumentClient

I need to write an Azure Function that returns data against a Cosmos DB Database using Version 2 of Azure Functions. However, I am having hard time finding any good examples on how to do this. I can find very basic examples that involve search on an id.

我希望能够向天蓝色函数发送一些要查询的字段。例如分区内和分区外的“喜欢”和“城市”。我希望它以 json 文档的形式返回所有记录。

Cosmos DB Json 文档示例。

{ "id": "46465464565455566546bddgd" "Name": "Scott Smith" "City": "Scottsdale" "_pk": "56"

到目前为止我的代码

`
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using …
Run Code Online (Sandbox Code Playgroud)

azure-functions azure-cosmosdb

1
推荐指数
1
解决办法
2423
查看次数

CosmosDB 附件(仍然)是存储大于 2MB 文档限制的有效负载的好方法吗?

我需要保存包含大列表的 CosmosDB 文档 - 大于 2 MB 的文档限制。我想将该列表拆分为与“主文档”关联的“附件”。

但是这个文档页面简要提到了这一点

附件功能正在被弃用[原文如此]

弃用计划是什么?新创建的集合(将来)会停止支持附件吗?

文档的同一页提到“每个帐户的最大附件大小”的限制为 2GB。

这意味着什么?每个附件 2GB?所有附件总计 2 GB?

azure-cosmosdb

1
推荐指数
1
解决办法
902
查看次数

如何将 Azure Cosmos DB 与双 API(SQL 和 Mongo)连接

我是 Azure Cosmos DB 的新手。我已使用 SQL API 创建了 Azure Cosmos DB,并加载了数据并使用了 SQL 查询。现在我想访问同一个数据库的Mongo API。是否可以?

\n\n

经过网上搜索,我发现了令人困惑的答案。

\n\n

使用 Blazor 应用程序中的 SQL API 和 Mongo API 连接相同的 Cosmos DB 数据库

\n\n

您可以使用的可扩展 API 包括 .NET、.NET Core、Node.js、Java、Python 和 MongoDB。如果您\xe2\x80\x99 使用 .NET,则可以使用 DocumentDB API、MongoDB API、Graph API 或 Table API。Java 和 Node.js 仅适用于文档 DB API、MongoDB API 和图形 API。Python 仅适用于 DocumentDB API,而 Gremlin 仅适用于 Graph API。

\n\n

我知道只要我使用.NET,就可以使用SQL API和Mongo API访问同一个数据库

\n\n

我对吗?

\n\n

如果是,请告诉我程序。

\n

azure azure-cosmosdb

1
推荐指数
1
解决办法
1168
查看次数

CosmosClient 与 DocumentClient

Java 中的CosmosClientDocumentClient之间有什么区别?我应该选择其中一种而不是另一种,为什么?

azure-cosmosdb azure-cosmosdb-sqlapi

1
推荐指数
1
解决办法
5849
查看次数

如何通过 Azure CLI 将 IP 地址添加到 Cosmosdb 数据库防火墙

我想通过 Azure CLI 将我的 IP 添加到 cosmosdb 防火墙。使用 Azure CLI 执行此操作的唯一方法是使用az cosmosdb update,但它会覆盖防火墙中的当前 IP。

我使用的是 MacOS,因此我可以通过curl ifconfig.me.

如何将我的 IP 添加到防火墙而不覆盖当前 IP?

shell azure azure-cosmosdb

1
推荐指数
1
解决办法
2049
查看次数