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