CosmosDBバインドでtsを使ったクエリーを実行する
更新:2021/07/08 02:01 by nasu
CosmosDBにデータを保存すると自動で、_tsフィールドがセットされます。
この_tsフィールドを使ってクエリーを実行しようとしてハマりました。
httpトリガー
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"get"
],
"route": "hoge/{ts}"
}
cosmosDB入力バインド
{
"type": "cosmosDB",
"name": "hoges",
"databaseName": "koduchi",
"collectionName": "hoges",
"connectionStringSetting": "CosmosDBConnection",
"direction": "in",
"SqlQuery": "select * from c where c._ts > {ts} order by c._ts"
}
実際にはデータがあるはずなのに、応答は0件です??
これは、{ts}が"1623649687"と変換されてしまうためのようです。
SqlQueryを次のように修正して応答を取得することができました。
"SqlQuery": "select * from c where c._ts > StringToNumber({ts}) order by c._ts"
問題は、この仕様が書かれている説明になかなかリーチできないことです。
つらみ;
親ノート
バインドにつまづく | 更新:2020/11/04 03:25 by nasu38yen |