Azure Cosmos DB コネクターのメッセージおよび制限事項
オペレーションについては「Azure Cosmos DB」(オペレーショントップページ)を参照してください。
AZUREDOCUMENTDBカテゴリのメッセージコード一覧
Azure Cosmos DB Connectorで発生するエラーに対応するメッセージコードです。
定義されていないエラーが発生した場合に出力されるメッセージコードです。
原因 |
対策 |
---|---|
定義されていないエラーが発生しました。 |
エラーメッセージやエラーが発生した処理のヘルプなどを確認してください。 |
対応するエラー
-
特になし
Azure Cosmos DBとの接続に失敗した場合に出力されるメッセージコードです。
原因 |
対策 |
---|---|
エラーメッセージにより、原因は異なります。 |
下記の「例外メッセージ」に対象のエラーの原因/対策が記述されていないかを確認してください。 |
対応するエラー
-
com.microsoft.azure.documentdb.DocumentClientException
指定したデータベースが存在しない場合に出力されるメッセージコードです。
原因 |
対策 |
---|---|
指定したデータベースが、接続先に存在しません。 |
接続先で指定したコネクションリソースのデータベースを確認してください。 |
対応するエラー
-
com.appresso.ds.dp.modules.adapter.azure.documentdb.DatabaseNotFoundException
指定したコレクションが存在しない場合に出力されるメッセージコードです。
原因 |
対策 |
---|---|
指定したコレクションが、接続先リソースのデータベースに存在しません。 |
接続先で指定したコネクションリソースのデータベースと、コレクションを確認してください。 |
対応するエラー
-
com.appresso.ds.dp.modules.adapter.azure.documentdb.CollectionNotFoundException
AZUREDOCUMENTDBカテゴリの例外メッセージ
例外名 |
原因 |
対策 |
---|---|---|
CollectionNotFoundException コレクション[<コレクション>]が見つかりません。 |
コレクションで指定したコレクションが見つかりません。 |
コレクションで指定したコレクションを確認してください。 |
com.microsoft.azure.documentdb.DocumentClientException |
エラーメッセージにより、原因は異なります。 |
エラーメッセージの内容を確認してください。 |
DatabaseNotFoundException データベース[<データベース>]が見つかりません。 |
接続先で指定したデータベースが見つかりません。 |
接続先で指定したコネクションリソースのデータベースを確認してください。 |
InvalidPropertyConfigurationException スキーマの項目名が重複しています。 |
<スキーマ定義/項目名>が重複しています。 |
<スキーマ定義/項目名>の項目名は重複しないように指定してください。 |
InvalidPropertyConfigurationException スキーマのid項目はString型にしてください。 |
<スキーマ定義/項目名>のid項目がString型以外になっています。 |
<スキーマ定義/項目名>のid項目はString型にしてください。 |
InvalidPropertyConfigurationException <プロパティ名>が指定されていません。 |
<プロパティ名>が指定されていません。 |
<プロパティ名>を指定してください。 |
ResourceNotFoundException リソース定義が見つかりませんでした。名前:[] |
接続先が指定されていません。 |
接続先を指定してください。 |
ResourceNotFoundException リソース定義が見つかりませんでした。名前:[<コネクションリソース名>] |
接続先で指定したリソース定義が見つかりません。 |
接続先で指定したコネクションリソースを確認してください。 |
AZUREDOCUMENTDBカテゴリの制限事項
本コネクターではAzure Cosmos DBのDocumentDB APIを使用します。API仕様については以下のページを参照してください。
-
「Azure Cosmos DB: DocumentDB REST API Reference」(https://docs.microsoft.com/ja-jp/rest/api/documentdb/)
本コネクターとほかの方法(Azureポータルのデータ エクスプローラーなど)を併用してunlimitedコレクションにアクセスする場合は、以下の制限事項があります。
本コネクターの各オペレーションは、以下の前提で動作します。
-
IDの一意性範囲:コレクション内でIDが一意である
-
パーティションキー:パーティションキーを格納するフィールドがドキュメントに存在する
本コネクター以外の方法で以下のような操作を行った場合、動作はサポートしません。
-
複数のパーティション内に同じIDのドキュメントを作成する
-
パーティションキーを持たないドキュメントを作成する
本コネクターでサポートするAzure Cosmos DBのJSON型と、内部データ型(スキーマ型)との対応は以下のとおりです。
Azure Cosmos DBデータ型名 |
サポート |
スキーマ型名 |
備考 |
---|---|---|---|
string |
○ |
String |
|
number |
○ |
BigDecimal |
|
true/false |
○ |
boolean |
|
null |
○ |
- |
スキーマ型を問わずnullとして扱います。 |
object |
× |
- |
|
array |
× |
- |
|
-
○:サポートします。
-
×:サポートしません。
Azure Cosmos DBでの数値型はIEEE754 倍精度です。
-
IEEE754 倍精度を超える数値をBigDecimal型としてAzure Cosmos DBへ書き込むと、数値が丸められます。(エラーにはなりません)
-
丸めを避けたいのであれば、ドキュメント書き込み時にスキーマ型をString型としてください。
-
ただし、Azure Cosmos DBにstring型として保存されるため、数値に対するSQLが利用できなくなります。
-
ドキュメントに対してAzure Cosmos DBが生成する項目に、「_rid」「_ts」「_self」「_etag」「_attachments」などがあります。これら項目については、任意の値を書き込むことはできません。
Azure Cosmos DBが生成する項目は名称の先頭がアンダースコア(_)であるため、スキーマ定義する項目名の先頭にはなるべくアンダースコアを付けないようにしてください。
Azure Cosmos DBシステムが生成する項目については以下のページを参照してください。
-
「System vs. user defined resources」-(https://docs.microsoft.com/ja-jp/azure/cosmos-db/documentdb-resources#system-vs-user-defined-resources)
-
「Documents」-(https://docs.microsoft.com/ja-jp/rest/api/documentdb/documents)
Azure Cosmos DB Connectorでは、5種類の一貫性(「Strong」「Bounded-Staleness」「Session」「Consistent Prefix」「Eventual」)のうち、「Session」を使用しています。
Azure Cosmos DBでの一貫性については以下のページを参照してください。
-
「Azure Cosmos DB の調整可能なデータの一貫性レベル」-(https://docs.microsoft.com/ja-jp/azure/cosmos-db/consistency-levels)