CosmosScripts.CreateTriggerAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um gatilho como uma operação assíncrona no serviço do 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))
Parâmetros
- triggerProperties
- TriggerProperties
O objeto TriggerProperties.
- requestOptions
- RequestOptions
(Opcional) As opções para a solicitação de procedimento armazenado RequestOptions
- cancellationToken
- CancellationToken
(Opcional) CancellationToken que representa o cancelamento da solicitação.
Retornos
Um objeto de tarefa que representa a resposta de serviço para a operação assíncrona.
Exceções
Se triggerProperties
não estiver definido.
Representa uma consolidação de falhas que ocorreram durante o processamento assíncrono. Procure dentro de InnerExceptions para encontrar as exceções reais
Essa exceção pode encapsular muitos tipos diferentes de erros. Para determinar o erro específico, sempre examine a propriedade StatusCode. Alguns códigos comuns que você pode obter ao criar um Documento são:
StatusCode | Motivo da exceção |
---|---|
400 | BadRequest - Isso significa que algo estava errado com a solicitação fornecida. É provável que uma ID não tenha sido fornecida para o novo gatilho ou que o Corpo tenha sido malformado. |
403 | Proibido – você atingiu sua cota de gatilhos para a coleção fornecida. Entre em contato com o suporte para aumentar essa cota. |
409 | Conflito – isso significa que um TriggerProperties com uma ID correspondente à ID que você forneceu já existia. |
413 | RequestEntityTooLarge - Isso significa que o corpo do que TriggerProperties você tentou criar era muito grande. |
Exemplos
Isso cria um gatilho e usa o gatilho em um item create.
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;
Aplica-se a
Azure SDK for .NET