Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Aprenda como iniciar um novo teste gratuitamente!
Uma execução de pipeline no Azure Data Factory e no Azure Synapse define uma instância de execução de pipeline. Por exemplo, digamos que você tenha um pipeline que é executado às 8h, 9h e 10h. Nesse caso, há três execuções de pipeline separadas. Cada execução de pipeline tem um ID de execução de pipeline exclusivo. Um ID de execução é um GUID que define exclusivamente aquela execução de pipeline específica.
As execuções de pipeline geralmente são instanciadas passando argumentos para parâmetros que você define no pipeline. Você pode executar um pipeline manualmente ou usando um gatilho. Esse artigo fornece detalhes sobre ambas as maneiras de executar um pipeline.
Criar gatilhos com interface do usuário
Para acionar manualmente um pipeline ou configurar uma nova janela agendada, evento de armazenamento ou acionador de evento personalizado, selecione Adicionar acionador na parte superior do editor de pipeline.
Se você optar por acionar manualmente o pipeline, ele será executado imediatamente. Caso contrário, se você escolher Novo/Editar, será exibida a janela Adicionar gatilhos para escolher um gatilho existente para editar ou criar um novo gatilho.
Você verá a janela de configuração do gatilho, permitindo que você escolha o tipo de gatilho.
Leia mais sobre gatilhos agendados, janela contínua, evento de armazenamento e evento personalizado abaixo.
Execução manual
A execução manual de um pipeline também é chamada de execução sob demanda.
Por exemplo, digamos que você tenha um pipeline básico chamado copyPipeline que você deseja executar. O pipeline tem uma única atividade que copia de uma pasta de origem do armazenamento de Blobs do Azure para uma pasta de destino no mesmo armazenamento. A seguinte definição JSON mostra esse pipeline de exemplo:
{
"name": "copyPipeline",
"properties": {
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "BlobSink"
}
},
"name": "CopyBlobtoBlob",
"inputs": [
{
"referenceName": "sourceBlobDataset",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "sinkBlobDataset",
"type": "DatasetReference"
}
]
}
],
"parameters": {
"sourceBlobContainer": {
"type": "String"
},
"sinkBlobContainer": {
"type": "String"
}
}
}
}
Na definição JSON, o pipeline recebe dois parâmetros: sourceBlobContainer e sinkBlobContainer. Você passa valores para esses parâmetros em tempo de execução.
Execução manual com outras APIs/SDKs
Você pode executar seu pipeline manualmente usando um dos seguintes métodos:
- SDK .NET
- Módulo do Azure PowerShell
- API REST
- SDK do Python
SDK .NET
A chamada de exemplo abaixo mostra como executar manualmente o pipeline usando o SDK do .NET:
client.Pipelines.CreateRunWithHttpMessagesAsync(resourceGroup, dataFactoryName, pipelineName, parameters)
Para obter um exemplo completo, veja Início Rápido: Criar uma fábrica de dados usando o .NET SDK.
Observação
Você pode usar o .NET SDK para invocar pipelines do Azure Functions, dos seus serviços web e assim por diante.
Azure PowerShell
Observação
Recomendamos que você use o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar Azure PowerShell do AzureRM para o Az.
O comando de exemplo a seguir mostra como executar manualmente seu pipeline usando o Azure PowerShell:
Invoke-AzDataFactoryV2Pipeline -DataFactory $df -PipelineName "Adfv2QuickStartPipeline" -ParameterFile .\PipelineParameters.json -ResourceGroupName "myResourceGroup"
Você passa parâmetros no corpo da carga útil da solicitação. No .NET SDK, no Azure PowerShell e no Python SDK, você passa valores em um dicionário que é passado como um argumento para a chamada:
{
"sourceBlobContainer": "MySourceFolder",
"sinkBlobContainer": "MySinkFolder"
}
A carga útil da resposta é um ID exclusivo da execução do pipeline:
{
"runId": "0448d45a-a0bd-23f3-90a5-bfeea9264aed"
}
Para um exemplo completo, veja Início Rápido: Criar um data factory usando o Azure PowerShell.
SDK do Python
Para um exemplo completo, veja Início Rápido: Criar uma fábrica de dados e um pipeline usando Python
API REST
O comando de exemplo abaixo mostra como executar manualmente o pipeline usando a API REST:
POST
https://management.azure.com/subscriptions/mySubId/resourceGroups/myResourceGroup/providers/Microsoft.DataFactory/factories/myDataFactory/pipelines/copyPipeline/createRun?api-version=2017-03-01-preview
Para um exemplo completo, veja Início Rápido: Criar uma fábrica de dados usando a API REST.
Tipos de gatilho
Os gatilhos são outra maneira de executar uma execução de pipeline. Os gatilhos representam uma unidade de processamento que determina quando a execução de um pipeline precisa ser iniciada. Atualmente, o serviço dá suporte a três tipos de gatilhos:
Gatilho de programação: um gatilho que invoca um pipeline em um cronograma fixo.
Gatilho de janela em cascata: um gatilho que opera em um intervalo periódico, ao mesmo tempo em que retém o estado.
Gatilho baseado em evento: um gatilho que responde a um evento.
Pipelines e gatilhos têm um relacionamento de muitos para muitos (exceto pelo gatilho de janela em cascata). Vários gatilhos podem iniciar um único pipeline, ou um único gatilho pode iniciar vários pipelines. Na definição de gatilho a seguir, a propriedade pipelines se refere a uma lista de pipelines que são acionados pelo gatilho específico. A definição da propriedade inclui valores para os parâmetros do pipeline.
Definição básica do gatilho
{
"properties": {
"name": "MyTrigger",
"type": "<type of trigger>",
"typeProperties": {...},
"pipelines": [
{
"pipelineReference": {
"type": "PipelineReference",
"referenceName": "<Name of your pipeline>"
},
"parameters": {
"<parameter 1 Name>": {
"type": "Expression",
"value": "<parameter 1 Value>"
},
"<parameter 2 Name>": "<parameter 2 Value>"
}
}
]
}
}
Gatilho de agendamento
Um gatilho de agendamento executa pipelines em um cronograma fixo. Esse gatilho suporta opções de calendário periódicas e avançadas. Por exemplo, o gatilho suporta intervalos como "semanal" ou "segunda-feira às 17h e quinta-feira às 21h." O gatilho de agendamento é flexível porque o padrão do conjunto de dados é agnóstico, e o gatilho não distingue entre dados de séries temporais e não séries temporais.
Para saber mais sobre os gatilhos de agenda e obter exemplos, confira Criar um gatilho que dispare um pipeline em uma agenda.
Definição do gatilho de agenda
Ao criar um gatilho de agendamento, você especifica o agendamento e a recorrência usando uma definição JSON.
Para que seu gatilho de agendamento inicie uma execução de pipeline, inclua uma referência de pipeline do pipeline específico na definição do gatilho. Pipelines e gatilhos têm um relacionamento de muitos para muitos. Vários gatilhos podem disparar um único pipeline. Um único gatilho pode disparar vários pipelines.
{
"properties": {
"type": "ScheduleTrigger",
"typeProperties": {
"recurrence": {
"frequency": <<Minute, Hour, Day, Week>>,
"interval": <<int>>, // How often to fire
"startTime": <<datetime>>,
"endTime": <<datetime>>,
"timeZone": "UTC",
"schedule": { // Optional (advanced scheduling specifics)
"hours": [<<0-24>>],
"weekDays": [<<Monday-Sunday>>],
"minutes": [<<0-60>>],
"monthDays": [<<1-31>>],
"monthlyOccurrences": [
{
"day": <<Monday-Sunday>>,
"occurrence": <<1-5>>
}
]
}
}
},
"pipelines": [
{
"pipelineReference": {
"type": "PipelineReference",
"referenceName": "<Name of your pipeline>"
},
"parameters": {
"<parameter 1 Name>": {
"type": "Expression",
"value": "<parameter 1 Value>"
},
"<parameter 2 Name>": "<parameter 2 Value>"
}
}
]}
}
Importante
A propriedade parameters é uma propriedade obrigatória do elemento pipelines. Se o seu pipeline não aceitar nenhum parâmetro, você deverá incluir uma definição JSON vazia para a propriedade parameters.
Visão geral do esquema
A tabela a seguir fornece uma visão geral de alto nível dos principais elementos de esquema relacionados à recorrência e ao agendamento de um gatilho:
| Propriedade JSON | Descrição |
|---|---|
| hora inicial | Um valor de data/hora. Para programações básicas, o valor da propriedade startTime se aplica à primeira ocorrência. Para agendamentos complexos, o gatilho não inicia antes do valor startTime especificado. |
| Hora do fim | Data e hora de término do gatilho. O gatilho não é executado após a data e hora de término especificadas. O valor do imóvel não pode estar no passado. |
| fuso horário | O fuso horário. Para obter uma lista de fusos horários compatíveis, confira Criar um gatilho que executa um pipeline em uma agenda. |
| Recorrência | Um objeto de recorrência que especifica as regras de recorrência para o gatilho. O objeto de recorrência suporta os elementos frequência, intervalo, endTime, contagem e schedule. Quando um objeto de recorrência é definido, o elemento frequência é necessário. Os outros elementos do objeto de recorrência são opcionais. |
| frequência | A unidade de frequência na qual o gatilho ocorre novamente. Os valores suportados incluem "minuto", "hora", "dia", "semana" e "mês". |
| intervalo | Um número inteiro positivo que denota o intervalo para o valor frequência. O valor da frequência determina a frequência com que o gatilho é executado. Por exemplo, se o intervalo for 3 e a frequência for "semana", o gatilho ocorrerá a cada três semanas. |
| horário | O cronograma de recorrência para o gatilho. Um gatilho com um valor de frequência especificado altera sua recorrência com base em um cronograma de recorrência. A propriedade schedule contém modificações para a recorrência baseadas em minutos, horas, dias da semana, dias do mês e número da semana. |
Observação
Para fusos horários que observam o horário de verão, o tempo de disparo se ajusta automaticamente para a alteração duas vezes por ano, se a recorrência for definida como DIAS ou superior. Para optar por não participar da mudança de horário de verão, selecione um fuso horário que não observe o horário de verão, por exemplo, UTC.
O ajuste do horário de verão só ocorre para um gatilho com a recorrência definida como Dias ou acima. Se o gatilho estiver definido para a frequência Horas ou Minutos, ele continuará a disparar em intervalos regulares.
Exemplo de gatilho de agendamento
{
"properties": {
"name": "MyTrigger",
"type": "ScheduleTrigger",
"typeProperties": {
"recurrence": {
"frequency": "Hour",
"interval": 1,
"startTime": "2017-11-01T09:00:00-08:00",
"endTime": "2017-11-02T22:00:00-08:00"
}
},
"pipelines": [{
"pipelineReference": {
"type": "PipelineReference",
"referenceName": "SQLServerToBlobPipeline"
},
"parameters": {}
},
{
"pipelineReference": {
"type": "PipelineReference",
"referenceName": "SQLServerToAzureSQLPipeline"
},
"parameters": {}
}
]
}
}
Padrões de esquema, limites e exemplos
| Propriedade JSON | Tipo | Obrigatório | Valor padrão | Valores válidos | Exemplo |
|---|---|---|---|---|---|
| hora inicial | cadeia de caracteres | Sim | Nenhum | Data/hora ISO 8601 | "startTime" : "2013-01-09T09:30:00-08:00" |
| Recorrência | objeto | Sim | Nenhum | Um objeto de recorrência | "recurrence" : { "frequency" : "monthly", "interval" : 1 } |
| intervalo | número | Não | 1 | 1 a 1000 | "interval":10 |
| Hora do fim | cadeia de caracteres | Sim | Nenhum | Um valor de data e hora que representa um momento no futuro | "endTime" : "2013-02-09T09:30:00-08:00" |
| horário | objeto | Não | Nenhum | Um objeto do agendamento | "schedule" : { "minute" : [30], "hour" : [8,17] } |
Propriedade startTime
A tabela a seguir mostra como a propriedade startTime controla uma execução de gatilho:
| Valor startTime | Recorrência sem agendamento | Recorrência com agendamento |
|---|---|---|
| A hora de início está no passado | Calcula o primeiro tempo de execução futuro após o horário de início e é executado nesse horário. Executa execuções subsequentes calculadas a partir do último tempo de execução. Consulte o exemplo após essa tabela. |
O gatilho inicia não antes do horário de início especificado. A primeira ocorrência é baseada no cronograma, calculado a partir do horário de início. Executa execuções subsequentes com base no cronograma de recorrência. |
| A hora de início está no futuro ou é a hora atual | É executado uma vez na hora de início especificada. Executa execuções subsequentes calculadas a partir do último tempo de execução. |
O gatilho inicia não antes do horário de início especificado. A primeira ocorrência é baseada no cronograma, calculado a partir do horário de início. Executa execuções subsequentes com base no cronograma de recorrência. |
Vejamos um exemplo do que acontece quando o horário de início está no passado, com uma recorrência, mas sem programação. Suponha que a hora atual seja 2017-04-08 13:00, a hora de início seja 2017-04-07 14:00 e a recorrência seja a cada dois dias. (O valor de recorrência é definido definindo a propriedade de frequência como "dia" e a propriedade de intervalo como 2.) Observe que o valor startTime está no passado e ocorre antes da hora atual.
Nessas condições, a primeira execução será em 09/04/2017 às 14:00. O mecanismo do Scheduler calcula as ocorrências de execução a partir do horário de início. Quaisquer instâncias no passado são descartadas. O mecanismo usa a próxima instância que ocorre no futuro. Nesse cenário, o horário de início é 07/04/2017 às 14:00. A próxima ocorrência será dois dias depois, em 09/04/2017, às 14h.
O primeiro horário de execução é o mesmo, mesmo que startTime seja 2017-04-05 14:00 ou 2017-04-01 14:00. Após a primeira execução, as execuções subsequentes são calculadas usando o cronograma. Portanto, as execuções subsequentes serão em 11/04/2017 às 14:00, depois em 13/04/2017 às 14:00, depois em 15/04/2017 às 14:00, e assim por diante.
Por fim, quando as horas ou os minutos não estiverem definidos na agenda de um gatilho, as horas ou os minutos da primeira execução serão usados como padrões.
Propriedade schedule
Você pode usar schedule para limitar o número de execuções de gatilhos. Por exemplo, se um gatilho com frequência mensal estiver programado para ser executado somente no dia 31, o gatilho será executado somente nos meses que tiverem o trigésimo primeiro dia.
Você também pode usar schedule para expandir o número de execuções de gatilhos. Por exemplo, um gatilho com frequência mensal programado para ser executado nos dias 1 e 2 do mês é executado no primeiro e no segundo dia do mês, em vez de uma vez por mês.
Se forem especificados vários elementos schedule, a ordem de avaliação é do maior para o menor: número da semana, dia do mês, dia da semana, hora e minuto.
A tabela a seguir descreve os elementos do cronograma em detalhes:
| Elemento JSON | Descrição | Valores válidos |
|---|---|---|
| minutos | Minutos da hora em que o gatilho será executado. | - Inteiro - Matriz de inteiros |
| horas | Horas do dia em que o gatilho é executado. | - Inteiro - Matriz de inteiros |
| Dias da Semana | Dias da semana em que o gatilho é executado. O valor pode ser especificado apenas com uma frequência semanal. | - Segunda-feira - Terça-feira - Quarta-feira - Quinta-feira - Sexta-feira - Sábado - Domingo - Matriz de valores diários (tamanho máximo da matriz é 7) Os valores de dia não diferenciam maiúsculas de minúsculas |
| monthlyOccurences | Dias do mês em que o gatilho é executado. O valor pode ser especificado apenas com uma frequência mensal. | - Matriz de objetos monthlyOccurrence: { "day": day, "occurrence": occurrence }- O atributo dia é o dia da semana em que o gatilho é executado. Por exemplo, uma propriedade monthlyOccurrences com um valor dai de {Sunday} significa todos os domingos do mês. O atributo dai é obrigatório.- O atributo ocorrência é a ocorrência do dia especificado durante o mês. Por exemplo, uma propriedade monthlyOccurrences com valores dai e ocorrência de {Sunday, -1} significa o último domingo do mês. O atributo ocorrência é opcional. |
| mêsDias | Dia do mês em que o gatilho é executado. O valor pode ser especificado apenas com uma frequência mensal. | - Qualquer valor <= -1 and >= -31 - Qualquer valor >= 1 and <= 31 - Matriz de valores |
Gatilho de janela em cascata
Os gatilhos de janela em cascata são um tipo de gatilho que dispara em um intervalo de tempo periódico a partir de um horário de início especificado, mantendo o estado. Janelas em cascata são uma série de intervalos de tempo de tamanho fixo, não sobrepostos e contíguos.
Para saber mais sobre gatilhos periódicos e para obter exemplos, confira Criar um gatilho periódico.
Exemplos de programações de recorrência de gatilhos
Essa seção fornece exemplos de programações de recorrência. Ele se concentra no objeto agenda e seus elementos.
Os exemplos pressupõem que o valor de interval seja 1 e que o valor de frequency esteja correto de acordo com a definição de agenda. Por exemplo, você não pode ter um valor de frequência de "dia" e também ter uma modificação monthDays no objeto agenda. Esses tipos de restrições são descritos na tabela da seção anterior.
| Exemplo | Descrição |
|---|---|
{"hours":[5]} |
Executar às 5h todos os dias. |
{"minutes":[15], "hours":[5]} |
Executar às 5h15 todos os dias. |
{"minutes":[15], "hours":[5,17]} |
Executar às 5h15 e 17h15 todos os dias. |
{"minutes":[15,45], "hours":[5,17]} |
Corra às 5h15, 5h45, 17h15 e 17h45 todos os dias. |
{"minutes":[0,15,30,45]} |
Executar a cada 15 minutos. |
{hours":[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]} |
Executar a cada hora. Esse gatilho é executado a cada hora. Os minutos são controlados pelo valor startTime, quando um valor é especificado. Se um valor não for especificado, os minutos serão controlados pelo horário de criação. Por exemplo, se a hora de início ou de criação (o que for aplicável) for 12h25, o gatilho será executado às 00h25, 13h25, 14h25, ... e 23h25. Esse agendamento é equivalente a ter um gatilho com um valor de frequência de "hora", um valor de intervalo de 1 e nenhum agenda. Esse cronograma pode ser usado com diferentes valores de frequência e intervalo para criar outros gatilhos. Por exemplo, quando o valor de frequência é "mês", o agendamento é executado apenas uma vez por mês, em vez de todos os dias quando o valor de frequência é "dia". |
{"minutes":[0]} |
Executar a cada hora na hora. Esse gatilho é executado a cada hora, começando às 00:00, 1:00, 2:00 e assim por diante. Esse agendamento é equivalente a um gatilho com um valor de frequência de "hora" e um valor startTime de zero minutos, e nenhum agenda, mas um valor de frequência de "dia". Se o valor de frequência for "semana" ou "mês", o agendamento será executado apenas um dia por semana ou um dia por mês, respectivamente. |
{"minutes":[15]} |
Executa 15 minutos após cada hora. Esse gatilho é executado a cada hora, 15 minutos após a hora, começando às 00h15, 1h15, 2h15 e assim por diante, e terminando às 23h15. |
{"hours":[17], "weekDays":["saturday"]} |
Acontece às 17h00, todos os sábados, toda semana. |
{"hours":[17], "weekDays":["monday", "wednesday", "friday"]} |
Corra às 17h00 de segunda, quarta e sexta-feira, toda semana. |
{"minutes":[15,45], "hours":[17], "weekDays":["monday", "wednesday", "friday"]} |
Corra às 17h15 e 17h45 nas segundas, quartas e sextas-feiras, todas as semanas. |
{"minutes":[0,15,30,45], "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} |
Corra a cada 15 minutos durante a semana. |
{"minutes":[0,15,30,45], "hours": [9, 10, 11, 12, 13, 14, 15, 16] "weekDays":["monday", "tuesday", "wednesday", "thursday", "friday"]} |
Corra a cada 15 minutos durante a semana, entre 9h e 16h45. |
{"weekDays":["tuesday", "thursday"]} |
Acontece às terças e quintas-feiras no horário de início especificado. |
{"minutes":[0], "hours":[6], "monthDays":[28]} |
Executar às 6h00 do vigésimo oitavo dia de cada mês (assumindo um valor de frequência de "mês"). |
{"minutes":[0], "hours":[6], "monthDays":[-1]} |
Corra às 6h00 do último dia do mês. Para executar um gatilho no último dia de um mês, use -1 em vez do dia 28, 29, 30 ou 31. |
{"minutes":[0], "hours":[6], "monthDays":[1,-1]} |
Acontece às 6h da manhã do primeiro e do último dia de cada mês. |
{monthDays":[1,14]} |
Execute no primeiro e décimo quarto dia de cada mês no horário de início especificado. |
{"minutes":[0], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1}]} |
Acontece na primeira sexta-feira de cada mês às 5h. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":1}]} |
Acontece na primeira sexta-feira de cada mês no horário de início especificado. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":-3}]} |
Acontece na terceira sexta-feira a partir do final do mês, todos os meses, no horário de início especificado. |
{"minutes":[15], "hours":[5], "monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} |
Corra na primeira e última sexta-feira de cada mês às 5h15. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":1},{"day":"friday", "occurrence":-1}]} |
Acontece na primeira e última sexta-feira de cada mês no horário de início especificado. |
{"monthlyOccurrences":[{"day":"friday", "occurrence":5}]} |
Acontece na quinta sexta-feira de cada mês no horário de início especificado. Quando não há uma quinta sexta-feira no mês, o pipeline não funciona. Para executar o gatilho na última sexta-feira do mês, considere usar -1 em vez de 5 para o valor ocorrência. |
{"minutes":[0,15,30,45], "monthlyOccurrences":[{"day":"friday", "occurrence":-1}]} |
Corra a cada 15 minutos na última sexta-feira do mês. |
{"minutes":[15,45], "hours":[5,17], "monthlyOccurrences":[{"day":"wednesday", "occurrence":3}]} |
Acontece às 5h15, 5h45, 17h15 e 17h45 na terceira quarta-feira de cada mês. |
Gatilho baseado em eventos
Um gatilho baseado em eventos executa pipelines em resposta a um evento. Do ponto de vista comportamental, se você parar e reiniciar um gatilho acionado por evento, ele retomará o padrão anterior, o que pode resultar na ativação indesejada do pipeline. Nesse caso, você deve excluir e criar um novo gatilho baseado em evento. O novo gatilho é começa do zero, sem histórico. Há dois tipos de gatilhos de eventos.
- O gatilho de evento de armazenamento executa um pipeline em relação a eventos que acontecem em uma conta de armazenamento, como a chegada de um arquivo ou a exclusão de um arquivo na conta de Armazenamento de Blobs do Azure.
- O gatilho de evento personalizado processa e manipula artigos personalizados na Grade de Eventos
Para obter mais informações sobre gatilhos baseados em eventos, veja Gatilho de evento de armazenamento e Gatilho de evento personalizado.
Comparação de tipo de gatilho
Tanto o gatilho da janela giratória quanto o gatilho programado operam em pulsações temporais. Como eles são diferentes?
Observação
O gatilho da janela em cascata aguarda a execução do pipeline acionado terminar. Seu status de execução reflete o status da execução de pipeline disparada. Por exemplo, se uma execução de pipeline disparada for cancelada, a execução do gatilho periódico correspondente será marcada como cancelada. Isso é diferente do comportamento "acionar e esquecer" do gatilho de agendamento, que é marcado como realizado com sucesso desde que uma execução de pipeline seja iniciada.
A tabela a seguir fornece uma comparação entre o gatilho da janela giratória e o gatilho programado:
| Elemento | Gatilho de janela em cascata | Gatilho de agendamento |
|---|---|---|
| Cenários de aterramento | Com suporte. As execuções de pipeline podem ser agendadas para janelas no passado. | Sem suporte. As execuções de pipeline podem ser executadas somente em períodos de tempo entre o momento atual e o futuro. |
| Confiabilidade | 100% de confiabilidade. As execuções de pipeline podem ser agendadas para todas as janelas a partir de uma data de início especificada, sem intervalos. | Menos confiável. |
| Repetir o recurso | Com suporte. As execuções de pipeline com falha têm uma política de repetição padrão de 0 ou uma política especificada pelo usuário na definição do gatilho. Repete automaticamente quando a execução de pipeline falha devido a limites de simultaneidade/servidor/limitação (ou seja, os códigos de status 400: erro de usuário, 429: muitas solicitações e 500: erro interno do servidor). | Sem suporte. |
| Simultaneidade | Com suporte. Os usuários podem definir explicitamente limites de simultaneidade para o gatilho. Permite entre 1 e 50 execuções de pipeline acionadas simultaneamente. | Sem suporte. |
| Variáveis do sistema | Junto com @trigger().scheduledTime e @trigger().startTime, ele também suporta o uso das variáveis de sistema WindowStart e WindowEnd. Os usuários podem acessar trigger().outputs.windowStartTime e trigger().outputs.windowEndTime como variáveis de sistema de gatilho na definição de gatilho. Os valores são usados como hora de início e hora de término da janela, respectivamente. Por exemplo, para um gatilho de janela giratória que é executado a cada hora, para a janela de 1h00 às 2h00, a definição é trigger().outputs.windowStartTime = 2017-09-01T01:00:00Z e trigger().outputs.windowEndTime = 2017-09-01T02:00:00Z. |
Dá suporte apenas padrão @trigger().scheduledTime e variáveis @trigger().startTime. |
| Relação pipeline para gatilho | Dá suporte a uma relação um para um. Somente um pipeline pode ser disparado. | Dá suporte a relações muitos para muitos. Vários gatilhos podem disparar um único pipeline. Um único gatilho pode disparar vários pipelines. |
Conteúdo relacionado
Veja os seguintes tutoriais: