Azure Cosmos DB コネクターのメッセージおよび制限事項

 

オペレーションについては「Azure Cosmos DB」(オペレーショントップページ)を参照してください。

AZUREDOCUMENTDBカテゴリのメッセージコード一覧

Azure Cosmos DB Connectorで発生するエラーに対応するメッセージコードです。

 

AZUREDOCUMENTDB0000E

定義されていないエラーが発生した場合に出力されるメッセージコードです。

原因

対策

定義されていないエラーが発生しました。

エラーメッセージやエラーが発生した処理のヘルプなどを確認してください。

対応するエラー

  • 特になし

 

AZUREDOCUMENTDB0001E

Azure Cosmos DBとの接続に失敗した場合に出力されるメッセージコードです。

原因

対策

エラーメッセージにより、原因は異なります。

下記の「例外メッセージ」に対象のエラーの原因/対策が記述されていないかを確認してください。

対応するエラー

  • com.microsoft.azure.documentdb.DocumentClientException

 

AZUREDOCUMENTDB0002E

指定したデータベースが存在しない場合に出力されるメッセージコードです。

原因

対策

指定したデータベースが、接続先に存在しません。

接続先で指定したコネクションリソースのデータベースを確認してください。

対応するエラー

  • com.appresso.ds.dp.modules.adapter.azure.documentdb.DatabaseNotFoundException

 

AZUREDOCUMENTDB0003E

指定したコレクションが存在しない場合に出力されるメッセージコードです。

原因

対策

指定したコレクションが、接続先リソースのデータベースに存在しません。

接続先で指定したコネクションリソースのデータベースと、コレクションを確認してください。

対応するエラー

  • 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/)

Unlimitedコレクション

本コネクターとほかの方法(Azureポータルのデータ エクスプローラーなど)を併用してunlimitedコレクションにアクセスする場合は、以下の制限事項があります。

本コネクターの各オペレーションは、以下の前提で動作します。

  • IDの一意性範囲:コレクション内でIDが一意である

  • パーティションキー:パーティションキーを格納するフィールドがドキュメントに存在する

本コネクター以外の方法で以下のような操作を行った場合、動作はサポートしません。

  • 複数のパーティション内に同じIDのドキュメントを作成する

  • パーティションキーを持たないドキュメントを作成する

サポートする型

本コネクターでサポートするAzure Cosmos DBのJSON型と、内部データ型(スキーマ型)との対応は以下のとおりです。

Azure Cosmos DBデータ型名

サポート

スキーマ型名

備考

string

String

 

number

BigDecimal

 

true/false

boolean

 

null

-

スキーマ型を問わずnullとして扱います。

object

×

-

 

array

×

-

 

  • ○:サポートします。

  • ×:サポートしません。

number型の精度

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)