DocumentClient.UpsertDocumentAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
UpsertDocumentAsync(String, Object, RequestOptions, Boolean, CancellationToken) |
ドキュメントを Azure Cosmos DB サービスの非同期操作としてアップサートします。 |
UpsertDocumentAsync(Uri, Object, RequestOptions, Boolean, CancellationToken) |
ドキュメントを Azure Cosmos DB サービスの非同期操作としてアップサートします。 |
UpsertDocumentAsync(String, Object, RequestOptions, Boolean, CancellationToken)
ドキュメントを Azure Cosmos DB サービスの非同期操作としてアップサートします。
public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> UpsertDocumentAsync (string documentsFeedOrDatabaseLink, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, bool disableAutomaticIdGeneration = false, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertDocumentAsync : string * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
override this.UpsertDocumentAsync : string * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function UpsertDocumentAsync (documentsFeedOrDatabaseLink As String, document As Object, Optional options As RequestOptions = Nothing, Optional disableAutomaticIdGeneration As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))
パラメーター
- documentsFeedOrDatabaseLink
- String
ドキュメントを DocumentCollection アップサートする のリンク。 例: dbs/db_rid/colls/coll_rid/
- document
- Object
アップサートするドキュメント オブジェクト。
- options
- RequestOptions
(省略可能)設定する要求オプション。 たとえば、ドキュメントの作成時に実行するトリガーを指定します。 RequestOptions
- disableAutomaticIdGeneration
- Boolean
(省略可能)ID の自動生成を無効にします。これが True の場合、id プロパティが Document に存在しない場合、システムは例外をスローします。
- cancellationToken
- CancellationToken
(省略可能) CancellationToken 取り消しの通知を受け取るために他のオブジェクトまたはスレッドで使用できる 。
戻り値
Document非同期操作のサービス応答をTask表す オブジェクト内に含まれるアップサートされた 。
実装
例外
または document
がdocumentsFeedOrDatabaseLink
設定されていない場合。
非同期処理中に発生したエラーの統合を表します。 InnerExceptions 内を見て、実際の例外を見つけます
この例外は、さまざまな種類のエラーをカプセル化できます。 特定のエラーを特定するには、常に StatusCode プロパティを参照してください。 ドキュメントの作成時に取得できる一般的なコードは次のとおりです。
StatusCode | 例外の理由 |
---|---|
400 | BadRequest - 指定されたドキュメントに問題が発生したことを意味します。 が true で ID が指定されていない可能性がありますdisableAutomaticIdGeneration |
403 | 禁止 - これは、ドキュメントのアップサートを試みたコレクションがいっぱいであることを意味する可能性があります。 |
409 | 競合 - これは、 の id フィールドdocument に一致する ID を持つ を意味Documentします。 |
413 | RequestEntityTooLarge - つまり、 が Document 現在の最大エンティティ サイズを超えています。 制限とクォータについては、ドキュメントを参照してください。 |
429 | TooManyRequests - つまり、1 秒あたりの要求ユニット数を超えています。 DocumentClientException.RetryAfter の値を調べ、この操作を再試行する前に待機する必要がある時間を確認します。 |
例
Azure Cosmos DB では、ドキュメントを操作するためのさまざまな方法がサポートされています。 ドキュメントを拡張できる Resource
public class MyObject : Resource
{
public string MyProperty {get; set;}
}
using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
Document doc = await client.UpsertDocumentAsync("dbs/db_rid/colls/coll_rid/", new MyObject { MyProperty = "A Value" });
}
ドキュメントは、 から拡張されていなくても、JSON にシリアル化できる任意の POCO オブジェクトにすることができます Resource
public class MyPOCO
{
public string MyProperty {get; set;}
}
using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
Document doc = await client.UpsertDocumentAsync("dbs/db_rid/colls/coll_rid/", new MyPOCO { MyProperty = "A Value" });
}
Document を動的オブジェクトにすることもできます
using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
Document doc = await client.UpsertDocumentAsync("dbs/db_rid/colls/coll_rid/", new { SomeProperty = "A Value" } );
}
ドキュメントをアップサートし、事前トリガーと事後トリガーを実行する
using (IDocumentClient client = new DocumentClient(new Uri("service endpoint"), "auth key"))
{
Document doc = await client.UpsertDocumentAsync(
"dbs/db_rid/colls/coll_rid/",
new { id = "DOC123213443" },
new RequestOptions
{
PreTriggerInclude = new List<string> { "MyPreTrigger" },
PostTriggerInclude = new List<string> { "MyPostTrigger" }
});
}
こちらもご覧ください
適用対象
UpsertDocumentAsync(Uri, Object, RequestOptions, Boolean, CancellationToken)
ドキュメントを Azure Cosmos DB サービスの非同期操作としてアップサートします。
public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> UpsertDocumentAsync (Uri documentCollectionUri, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, bool disableAutomaticIdGeneration = false, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertDocumentAsync : Uri * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
override this.UpsertDocumentAsync : Uri * obj * Microsoft.Azure.Documents.Client.RequestOptions * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function UpsertDocumentAsync (documentCollectionUri As Uri, document As Object, Optional options As RequestOptions = Nothing, Optional disableAutomaticIdGeneration As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))
パラメーター
- documentCollectionUri
- Uri
ドキュメントをアップサートするドキュメント コレクションの URI。
- document
- Object
ドキュメント オブジェクト。
- options
- RequestOptions
要求の要求オプション。
- disableAutomaticIdGeneration
- Boolean
ID の自動生成を無効にし、id がない場合は例外をスローします。
- cancellationToken
- CancellationToken
(省略可能) CancellationToken 要求の取り消しを表します。
戻り値
非同期操作のサービス応答を表すタスク オブジェクト。
実装
適用対象
Azure SDK for .NET