問題点
Azure Functions の出力バインドに Azure Cosmos DB を接続している状態で、データを書き込もうとしたらこのようなエラーが表示された。
The partition key component definition path 'Date' could not be accepted, failed near position '0'. Partition key paths must contain only valid characters and not contain a trailing slash or wildcard character.
このときの出力バインドはこんな感じ
関数アプリのプログラムのほうはこんな感じ
解決法
出力バインド Cosmos DB の設定で Partition key の先頭に /
をつければ解決する。
修正前 | 修正後 |
---|---|
Date |
/Date |
これがないと、上記のようなエラーが出る。ちなみに、プログラムも同様に先頭に /
を入れないと一致しないので必ず修正が必要。よくよく考えてみたら、 Partition key は "パーティションを区切るためのキーになるもの" なので、そのパスとなるような指定が必要だと気づいた。なんか勘違いして "パーティション用のキー(パスワード的な意味)" と読み取ってしまったみたい。
でもこれ、”Partition key の末尾には /
やワイルドカードを入れるな” というメッセージに読めるので、誤解しそう。とりあえず気づいてよかった。