Container.UpsertItemAsync<T> メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Azure Cosmos サービスの非同期操作としてアイテムをアップサートします。
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<T>> UpsertItemAsync<T> (T item, Microsoft.Azure.Cosmos.PartitionKey? partitionKey = default, Microsoft.Azure.Cosmos.ItemRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member UpsertItemAsync : 'T * Nullable<Microsoft.Azure.Cosmos.PartitionKey> * Microsoft.Azure.Cosmos.ItemRequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.ItemResponse<'T>>
Public MustOverride Function UpsertItemAsync(Of T) (item As T, Optional partitionKey As Nullable(Of PartitionKey) = Nothing, Optional requestOptions As ItemRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ItemResponse(Of T))
型パラメーター
- T
パラメーター
- item
- T
ID プロパティを含む必要がある JSON シリアル化可能なオブジェクト。 CosmosSerializer カスタム シリアライザーを実装する
- partitionKey
- Nullable<PartitionKey>
PartitionKey 項目の 。 指定しない場合は、{T} から抽出することで設定されます
- requestOptions
- ItemRequestOptions
(省略可能)アイテム要求のオプション。
- cancellationToken
- CancellationToken
(省略可能) CancellationToken 要求の取り消しを表します。
戻り値
Task<ItemResponse<T>>
非同期操作の ItemResponse<T> サービス応答を Task 表す オブジェクト内に含まれるアップサートされた 。
例外
非同期処理中に発生したエラーの統合を表します。 InnerExceptions 内を見て、実際の例外を見つけます
この例外により、さまざまな種類のエラーがカプセル化される可能性があります。 特定のエラーを特定するには、常に StatusCode プロパティを参照してください。 ドキュメントの作成時に取得できる一般的なコードは次のとおりです。
StatusCode | 例外の理由 |
---|---|
400 | BadRequest - 指定されたドキュメントに問題が発生したことを意味します。 |
403 | 禁止 - これは、ドキュメントのアップサートを試みたコレクションがいっぱいであることを意味する可能性があります。 |
413 | RequestEntityTooLarge - アイテムが現在の最大エンティティ サイズを超えています。 制限とクォータについては、ドキュメントを参照してください。 |
429 | TooManyRequests - つまり、1 秒あたりの要求ユニット数を超えています。 DocumentClientException.RetryAfter 値を調べ、この操作を再試行するまでの待機時間を確認します。 |
例
public class ToDoActivity{
public string id {get; set;}
public string status {get; set;}
}
ToDoActivity test = new ToDoActivity()
{
id = Guid.NewGuid().ToString(),
status = "InProgress"
};
ItemResponse<ToDoActivity> item = await this.container.UpsertItemAsync<ToDoActivity>(test, new PartitionKey(test.status));
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure SDK for .NET