Azure Cosmos DB での部分的ドキュメント更新に関してよく寄せられる質問

適用対象: NoSQL

部分的ドキュメント更新により、全ドキュメントの置き換え操作を行うことなく、項目の特定のプロパティまたはフィールドを変更できます。 この記事では、Azure Cosmos DB の部分的ドキュメント更新に関してよく寄せられる質問に回答します。

これは JSON Patch RFC 6902 の実装ですか?

Azure Cosmos DB の部分的ドキュメント更新は、JSON Patch RFC 6902 から "インスピレーション" を得ています。 JSON Patch RFC 6902 の一部の機能 (CopyTest、など) は実装されていませんが、条件付きパッチなどの他の機能があります。

部分的ドキュメント更新は、サーバーレス、プロビジョニングされたスループット、および自動スケーリングの各課金モードと互換性がありますか?

はい。部分的ドキュメント更新は、サーバーレス、プロビジョニングされたスループット、自動スケーリングのモードで利用できます。

RU/秒の価格はどのように計算されますか?

部分的ドキュメント更新は、他のデータベース操作と同様に要求ユニットの課金に正規化されます。 ユーザーは RU の大幅な削減を期待することはできません。

部分的ドキュメント更新操作の数に制限はありますか?

1 つのパッチの仕様に追加できるパッチ操作は 10 個までに制限されています。

部分的ドキュメント更新はシステムによって生成されるプロパティでサポートされていますか?

_id_ts_etag_rid などのシステムによって生成されるプロパティでは、部分的ドキュメント更新はサポートされていません。

Time to Live (TTL) にパッチを適用できますか?

はい。ドキュメントの Time to Live (ttl) プロパティにパッチを適用できます。

複数リージョンの競合の解決は配列に対してどのように機能しますか?

配列はアトミック単位として扱われます。 配列内の同じプロパティが、異なるリージョンで同時に更新される (これにより競合が生じる) と、一方の変更のみが保持されます。

はい。部分的ドキュメント更新は、分析ストアまたは Synapse Link が有効になっているアカウントで機能します。

次のステップ