查看有关 azure 函数的文档,特别是这个。如何通过门户设置集成非常清楚,但本地开发却非常模糊。
我的代码结构如下:
[FunctionName("foobar")]
public static void Run([QueueTrigger("foo")]Foo myQueueItem, out object dbFoo)
{
//do cool stuff here
}
Run Code Online (Sandbox Code Playgroud)
队列触发器与 Azure 存储模拟器配合得很好,但没有有关如何设置 local.settings.json 的说明。该文件是通过 Visual Studio 自动生成的,如下所示:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": ""
}
}
Run Code Online (Sandbox Code Playgroud)
cosmos db 的连接信息位于此结构中的哪个位置以使该函数能够正确运行?
从输入 json 中排除某些键以不被 Azure CosmosDB 索引的正确 JSON 是什么?我们以 mongodb 模式使用 CosmosDB。计划在创建集合后更改 Azure 门户上的索引配置。
示例输入 Json 为
{
"name": "test",
"age": 1,
"location": "l1",
"height":5.7
}
Run Code Online (Sandbox Code Playgroud)
如果我要在索引中包含姓名和年龄并从索引中删除位置和高度,则includedPaths和exclusionPaths会是什么样子。
我正在尝试从文档数据库中查询一些信息,当我们有 id 字段时,它以前可以工作,我最近用 Guid 字段替换,当我们运行以下查询时,它会抛出如下错误
代码:
queryString = string.Format(
"SELECT f.keys.Timestamp,f.keys.selectedFieldId FROM {0} f WHERE f.logevent = '{1}' AND f._ts > {2} AND f._ts <= {3}",
DocumentDbRepository.DatabaseId, Enums.Events.ApplicationAuthenticationSuccess, refUnixTime,
currentUnixTime);
Run Code Online (Sandbox Code Playgroud)
错误:
"message":"Syntax error, invalid numeric value token '4d5f'."
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
我们可以在 CosmosDB 上将 odata “包含”查询选项与表 api 一起使用吗?
CosmosDB sql api 支持“contains”语句,但尚不清楚我们是否可以对表 api (odata) 使用“contains”过滤器。
https://learn.microsoft.com/tr-tr/rest/api/storageservices/querying-tables-and-entities
根据文档,Azure 表存储不支持包含过滤器,但我们知道 CosmosDB 对其有本机支持。
我有一个带有 UserData 集合的 Azure Cosmos DB,其中包含多个用户文档。
这些文档通过 azure 函数进行编辑,该函数获取文档,将 json 解析为类,根据需要编辑类,然后将其设置回用户文档。
那么,如果在执行该操作时调用另一个 azure 函数,从 Azure Cosmos DB 抓取文档并在第一个函数完成之前进行其他更改,会怎么样?即使它更改了文档中完全独立的字段,其他字段仍然保持不变,并且 Azure 没有明显的方法来知道要覆盖哪些字段以及要保留哪些字段。
处理此问题的唯一方法是,对文档的请求要等到首先请求它的函数完成请求后,但我又不知道 Azure 如何解决这个问题。
我正在寻找一个选项来将我的 Cosmos DB 集合 TTL 设置为 ON 但没有默认值。
这里我想在文档级别控制过期时间。我看到如果我在集合级别设置默认时间,它将覆盖文档级别中提到的时间。如果我错了请纠正我。
基本上,我可以在数据资源管理器中设置它,但不确定如何通过 C# 代码进行设置。
从这个https://learn.microsoft.com/en-us/azure/cosmos-db/time-to-live,
我发现我可以设置 -1(过期关闭)或 n 几秒来过期。
我将 REST API 与 SQL for Cosmos db 结合使用,需要返回按时间戳(存储为 UNIX 数字时间戳)排序的查询结果。我正在尝试用一个简单的 ORDER BY 来做到这一点。
e.g. SELECT * FROM requests c ORDER BY c.timestamp
Run Code Online (Sandbox Code Playgroud)
但是,通过分区,我收到错误:
“不支持使用 TOP/ORDER BY 或聚合函数进行跨分区查询。”
在集合设置中,字符串的索引精度设置为 -1,这是其他地方的建议,但仍然会引发错误。
如果我删除 x-ms-documentdb-query-enablecrosspartition 标头或将其设置为 false,则会得到:
“跨分区查询是必需的,但已禁用。请将 x-ms-documentdb-query-enablecrosspartition 设置为 true,指定 x-ms-documentdb-partitionkey,或修改查询以避免此异常。”
有没有人通过 SQL REST API 成功做到这一点?
谢谢。
我正在尝试创建一个新的 cosmosdb,但是当我执行以下代码时出现以下错误。
az cosmosdb create --name TIC_Test
--resource-group "TIC"
--default-consistency-level Session
--locations "Central US"=0 "Central US"=0
--max-interval 5 --max-staleness-prefix 100
--enable-automatic-failover false
--enable-virtual-network false
--kind GlobalDocumentDB
Run Code Online (Sandbox Code Playgroud)
错误:
az : usage: az cosmosdb create [-h] [--verbose] [--debug]
At line:2 char:1
+ az cosmosdb create --name TIC_Test --resource-group "TIC" --default- ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (usage: az cosmo...bose] [--debug]:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
[--output {json,jsonc,table,tsv}] [--query JMESPATH]
--resource-group RESOURCE_GROUP_NAME --name
ACCOUNT_NAME [--locations LOCATIONS [LOCATIONS ...]]
[--tags [TAGS [TAGS …Run Code Online (Sandbox Code Playgroud) 如果需要执行逻辑,是否可以使用 GraphQL 以及 Azure Functions 接口与 Azure CosmosDB 进行交互。
我需要将数据以 CSV 或 JSON 格式从 Azure Cosmos DB 导出到本地系统。
有人能帮我吗?
azure-cosmosdb ×10
azure ×8
c# ×2
.net ×1
azure-cli ×1
database ×1
graphql ×1
nosql ×1
odata ×1
powershell ×1