CosmosScripts.CreateTriggerAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Azure Cosmos DB サービスで非同期操作としてトリガーを作成します。
public abstract System.Threading.Tasks.Task<Azure.Response<Azure.Cosmos.Scripts.TriggerProperties>> CreateTriggerAsync (Azure.Cosmos.Scripts.TriggerProperties triggerProperties, Azure.Cosmos.RequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateTriggerAsync : Azure.Cosmos.Scripts.TriggerProperties * Azure.Cosmos.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Azure.Response<Azure.Cosmos.Scripts.TriggerProperties>>
Public MustOverride Function CreateTriggerAsync (triggerProperties As TriggerProperties, Optional requestOptions As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Response(Of TriggerProperties))
パラメーター
- triggerProperties
- TriggerProperties
TriggerProperties オブジェクト。
- requestOptions
- RequestOptions
(省略可能)ストアド プロシージャ要求のオプション RequestOptions
- cancellationToken
- CancellationToken
(省略可能) CancellationToken 要求の取り消しを表します。
戻り値
非同期操作のサービス応答を表すタスク オブジェクト。
例外
が設定されていない場合 triggerProperties
。
非同期処理中に発生したエラーの統合を表します。 InnerExceptions 内を見て、実際の例外を見つけます
この例外により、さまざまな種類のエラーがカプセル化される可能性があります。 特定のエラーを特定するには、常に StatusCode プロパティを参照してください。 ドキュメントの作成時に取得できる一般的なコードは次のとおりです。
StatusCode | 例外の理由 |
---|---|
400 | BadRequest - これは、指定された要求に問題が発生したことを意味します。 新しいトリガーに ID が指定されていないか、本文の形式が正しくない可能性があります。 |
403 | 禁止 - 指定されたコレクションのトリガーのクォータに達しました。 このクォータを増やすには、サポートにお問い合わせください。 |
409 | 競合 - 指定した ID と一致する ID が既に存在する を意味 TriggerProperties します。 |
413 | RequestEntityTooLarge - 作成しようとした本文が TriggerProperties 大きすぎます。 |
例
これにより、トリガーが作成され、作成項目でトリガーが使用されます。
CosmosScripts scripts = this.container.Scripts;
Response<TriggerProperties> 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
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示