Scripts.CreateTriggerAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Azure Cosmos DB サービスで非同期操作としてトリガーを作成します。
public abstract System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.Scripts.TriggerResponse> CreateTriggerAsync (Microsoft.Azure.Cosmos.Scripts.TriggerProperties triggerProperties, Microsoft.Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateTriggerAsync : Microsoft.Azure.Cosmos.Scripts.TriggerProperties * Microsoft.Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Cosmos.Scripts.TriggerResponse>
Public MustOverride Function CreateTriggerAsync (triggerProperties As TriggerProperties, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of TriggerResponse)
パラメーター
- triggerProperties
- TriggerProperties
TriggerProperties オブジェクト。
- requestOptions
- RequestOptions
(省略可能)ストアド プロシージャ要求のオプション。
- cancellationToken
- CancellationToken
(省略可能) CancellationToken 要求の取り消しを表します。
戻り値
非同期操作のサービス応答を表すタスク オブジェクト。
例外
が設定されていない場合 triggerProperties
。
非同期処理中に発生したエラーの統合を表します。 InnerExceptions 内を見て、実際の例外を見つけます
この例外は、さまざまな種類のエラーをカプセル化できます。 特定のエラーを特定するには、常に StatusCode プロパティを参照してください。 ドキュメントの作成時に取得できる一般的なコードは次のとおりです。
StatusCode | 例外の理由 |
---|---|
400 | BadRequest - これは、指定された要求に何らかの問題が発生したことを意味します。 新しいトリガーに ID が指定されなかったか、本文の形式が正しくない可能性があります。 |
403 | 禁止 - 指定されたコレクションのトリガーのクォータに達しました。 このクォータを増やすには、サポートにお問い合わせください。 |
409 | 競合 - これは、指定した ID と一致する ID が既に存在する を意味 TriggerProperties します。 |
413 | RequestEntityTooLarge - 作成しようとしたの本文が TriggerProperties 大きすぎたということです。 |
例
これにより、トリガーが作成され、作成項目でトリガーが使用されます。
Scripts scripts = this.container.Scripts;
TriggerResponse triggerResponse = await scripts.CreateTriggerAsync(
new TriggerProperties
{
Id = "addTax",
Body = @"function AddTax() {
var item = getContext().getRequest().getBody();
// calculate the tax.
item.tax = item.cost * .15;
// Update the request -- this is what is going to be inserted.
getContext().getRequest().setBody(item);
}",
TriggerOperation = TriggerOperation.All,
TriggerType = TriggerType.Pre
});
ItemRequestOptions options = new ItemRequestOptions()
{
PreTriggers = new List<string>() { triggerResponse.Id },
};
// Create a new item with trigger set in the request options
ItemResponse<dynamic> createdItem = await this.container.Items.CreateItemAsync<dynamic>(item.status, item, options);
double itemTax = createdItem.Resource.tax;
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
Azure SDK for .NET