Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.
Este artigo descreve como agendar o início e a parada de um tempo de execução de integração (IR) do Azure-SQL Server Integration Services (SSIS) usando o Azure Data Factory e o Azure Synapse Analytics. Um Azure-SSIS IR é um recurso de computação dedicado à execução de pacotes SSIS.
Está associado um custo à operação de um Azure-SSIS IR. Normalmente, você deseja executar seu IR somente quando precisar executar pacotes SSIS no Azure e parar seu IR quando não precisar mais dele. Você pode usar o Data Factory, a página do portal do Azure para pipelines do Azure Synapse Analytics ou o Azure PowerShell para iniciar ou parar manualmente seu IR.
Alternativamente, pode criar atividades Web no Data Factory ou nos pipelines do Azure Synapse Analytics para iniciar e parar o seu IR em um horário programado. Por exemplo, você pode iniciá-lo de manhã antes de executar suas cargas de trabalho diárias de ETL e pará-lo à tarde depois que as cargas de trabalho forem concluídas.
Você também pode conectar uma atividade de Execução de Pacote SSIS entre duas atividades web que iniciam e param o seu IR. Seu IR começará e parará sob demanda, antes ou depois que o pacote seja executado. Para obter mais informações sobre a atividade Executar Pacote SSIS, consulte Executar um pacote SSIS com a atividade Executar Pacote SSIS no portal do Azure.
Nota
Recomendamos que utilize o módulo Azure Az PowerShell para interagir com o Azure. Para começar, veja Install Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrate Azure PowerShell from AzureRM to Az.
Prerequisites
Para implementar este passo a passo, você precisa:
Uma instância do Azure Data Factory. Se você não tiver um provisionado, siga as etapas em Guia de início rápido: criar uma fábrica de dados usando o portal do Azure e o Azure Data Factory Studio.
Um Azure-SSIS IR. Se você não tiver um provisionado, siga as instruções em Provisionar o tempo de execução de integração Azure-SSIS no Azure Data Factory.
Criar e agendar pipelines do Data Factory que iniciam e param um Azure-SSIS IR
Nota
Esta seção não é suportada para Azure-SSIS no Azure Synapse Analytics com a proteção contra exfiltração de dados habilitada.
Esta seção mostra como usar atividades web em pipelines do Data Factory para iniciar e parar o seu IR Azure-SSIS em um cronograma, ou para iniciá-lo e pará-lo a pedido. Você criará três pipelines:
- O primeiro pipeline contém uma atividade web que inicia o Azure-SSIS IR.
- O segundo pipeline contém uma atividade da Web que interrompe o IR Azure-SSIS.
- O terceiro pipeline contém uma atividade de Executar Pacote SSIS encadeada entre duas atividades da Web que iniciam e param o IR Azure-SSIS.
Depois de criar e testar esses pipelines, você pode criar um gatilho que define um cronograma para executar um pipeline. Por exemplo, você pode criar dois gatilhos. O primeiro está programado para funcionar diariamente às 6h e está associado ao primeiro gasoduto. O segundo está programado para funcionar diariamente às 18h e está associado ao segundo gasoduto. Desta forma, você tem um período das 6h às 18h todos os dias quando seu RI está em execução, pronto para executar suas cargas de trabalho diárias de ETL.
Se você criar um terceiro gatilho agendado para ser executado diariamente à meia-noite e associado ao terceiro pipeline, esse pipeline será executado à meia-noite todos os dias. Ele iniciará seu IR pouco antes da execução do pacote e, em seguida, executará seu pacote. Irá parar imediatamente o seu IR assim que o pacote for executado, para que o seu IR não fique em execução sem necessidade.
Crie os seus pipelines
Na home page do Azure Data Factory, selecione Orquestrar.
Na caixa de ferramentas Atividades, expanda o menu Geral e arraste uma atividade web para a superfície do designer de pipeline. Na guia Geral da janela de propriedades da atividade, altere o nome da atividade para startMyIR. Alterne para a guia Configurações e execute as seguintes ações.
Nota
Para Azure-SSIS no Azure Synapse Analytics, use a API REST do Azure Synapse Analytics correspondente para obter o estado do tempo de execução da integração, iniciar o tempo de execução da integração e interromper o tempo de execução da integração.
Para URL, insira a seguinte URL para a API REST que inicia o Azure-SSIS IR. Substitua
{subscriptionId},{resourceGroupName},{factoryName}, e{integrationRuntimeName}pelos valores reais para o seu IR.https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start?api-version=2018-06-01Em alternativa, pode copiar e colar o ID do recurso da sua IR na página de monitorização na interface de utilizador ou aplicação do Data Factory para substituir a seguinte parte da URL anterior:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}.
Em Método, selecione POST.
Em Corpo, digite
{"message":"Start my IR"}.Em Autenticação, selecione Identidade Gerenciada para usar a identidade gerenciada pelo sistema especificada para seu data factory. Para obter mais informações, consulte Identidade gerenciada para o Azure Data Factory.
Em Recurso, insira
https://management.azure.com/.
Clone o primeiro pipeline para criar um segundo. Altere o nome da atividade para stopMyIR e substitua as seguintes propriedades:
Para URL, insira o seguinte endereço URL para a API REST que interrompe o Azure-SSIS IR. Substitua
{subscriptionId},{resourceGroupName},{factoryName}, e{integrationRuntimeName}pelos valores reais para o seu IR.https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop?api-version=2018-06-01.Em Corpo, digite
{"message":"Stop my IR"}.
Crie um terceiro pipeline. Arraste uma atividade Executar Pacote SSIS da caixa de ferramentas Atividades para a superfície do designer de pipeline. Em seguida, configure a atividade seguindo as instruções em Executar um pacote SSIS com a atividade Executar pacote SSIS no portal do Azure.
Encadeie a atividade Executar Pacote SSIS entre duas atividades Web que iniciam e param o seu IR, de forma semelhante às atividades Web nos primeiros e segundos pipelines.
Em vez de criar manualmente o terceiro pipeline, você também pode criá-lo automaticamente a partir de um modelo:
- Selecione as reticências (…) ao lado de Pipeline para aceder a um menu suspenso com ações do pipeline. Em seguida, selecione a ação Pipeline a partir do modelo.
- Marque a caixa de seleção SSIS em Categoria.
- Selecione o template Schedule ADF pipeline para iniciar e parar o Azure-SSIS IR justo a tempo, antes e depois de executar o pacote SSIS.
- No menu desdobrável Azure-SSIS Integration Runtime, selecione o seu IR.
- Selecione o botão Usar este modelo .
Depois de criar automaticamente o seu pipeline, só resta atribuir o pacote SSIS à atividade Executar Pacote SSIS.
Para tornar o terceiro pipeline mais robusto, pode garantir que as atividades web para iniciar e parar o seu IR sejam reexecutadas caso ocorram erros transitórios (por exemplo, causados por conectividade de rede). Você também pode garantir que essas atividades online sejam concluídas somente quando o seu IR for realmente iniciado ou parado.
Para fazer isso, pode substituir cada atividade web por uma atividade Até. A atividade 'Until' contém duas atividades web: uma para iniciar e parar o seu IR e outra para verificar o status do seu IR. Vamos chamar as atividades de Start SSIS IR e Stop SSIS IR. A atividade Start SSIS IR Until contém as atividades web Try Start SSIS IR e Get SSIS IR Status. A atividade Stop SSIS IR Until contém as web atividades Try Stop SSIS IR e Get SSIS IR Status.
Na guia Configurações da atividade Iniciar IR do SSIS Until, para Expressão, digite
@equals('Started', activity('Get SSIS IR Status').output.properties.state). Na guia Configurações da atividade Parar IR do SSIS Até, para Expressão, digite@equals('Stopped', activity('Get SSIS IR Status').output.properties.state).
Dentro de ambas as atividades Until, as atividades Try Start SSIS IR e Try Stop SSIS IR são semelhantes às atividades nos primeiro e segundo pipelines. Na guia Configurações das atividades da Web Obter Status de IR do SSIS , execute as seguintes ações:
Para URL, insira a seguinte URL para a API REST que obtém o status de IR Azure-SSIS. Substitua
{subscriptionId},{resourceGroupName},{factoryName}, e{integrationRuntimeName}pelos valores reais para o seu IR.https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}?api-version=2018-06-01Em Método, selecione GET.
Em Autenticação, selecione Identidade Gerenciada para usar a identidade gerenciada pelo sistema especificada para seu data factory. Para obter mais informações, consulte Identidade gerenciada para o Azure Data Factory.
Em Recurso, insira
https://management.azure.com/.
Atribua à identidade gerida do seu Data Factory a si própria uma função de Colaborador, para que as atividades web nos seus pipelines possam chamar a API REST para iniciar e parar os Azure-SSIS IRs provisionados nele:
Na página Data Factory no portal do Azure, selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função para abrir a Adicionar atribuição de função página.
Atribua a seguinte função. Para obter etapas detalhadas, consulte Atribuir funções do Azure usando o portal do Azure.
Configuração Valor Função Colaborador Atribuir acesso a Usuário, grupo ou entidade de serviço Membros O seu nome de utilizador do Data Factory
Valide a sua fábrica de dados e todas as configurações de pipeline selecionando Validar tudo ou Validar na barra de ferramentas da fábrica ou do pipeline. Feche Saída de Validação de Fábrica ou Saída de Validação de Pipeline selecionando o botão de seta dupla >>.
Execute testes nos seus pipelines
Selecione Test Run na barra de ferramentas de cada pipeline. No painel inferior, o separador Saída lista as execuções de pipeline.
Para testar o terceiro pipeline, você pode usar o SQL Server Management Studio se armazenar seu pacote SSIS no catálogo do SSIS (SSISDB). Na janela Conectar ao Servidor , execute as seguintes ações:
- Em Nome do servidor, digite <o nome> do servidor.database.windows.net.
- Selecione Opções >>.
- Em Conectar ao banco de dados, selecione SSISDB.
- Selecione Conectar.
- Expanda Catálogos de Integration Services>SSISDB> na pasta >Projetos> no seu projeto SSIS >Pacotes.
- Clique com o botão direito do mouse no pacote SSIS especificado a ser executado e selecione Relatórios>>Todas as Execuções.
- Verifique se o pacote foi executado.
Agende os seus pipelines
Agora que seus pipelines funcionam como esperado, você pode criar gatilhos para executá-los em cadências especificadas. Para obter detalhes sobre como associar gatilhos a pipelines, consulte Configurar agendamentos para pipelines.
Na barra de ferramentas do pipeline, selecione Acionar e, em seguida, selecione Novo/Editar.
No painel Adicionar gatilhos , selecione + Novo.
No painel Novo gatilho , execute as seguintes ações:
- Em Nome, insira um nome para o gatilho. No exemplo a seguir, trigger2 é o nome do gatilho.
- Em Tipo, selecione Agendar.
- Em Data de início, insira uma data e hora de início em UTC.
- Em Recorrência, insira uma cadência para o gatilho. No exemplo a seguir, é uma vez por dia.
- Se pretender que o gatilho tenha uma data de fim, selecione Especificar uma data de fim e, em seguida, selecione uma data e hora.
- Selecione Iniciar gatilho na criação para ativá-lo imediatamente após publicar todas as configurações do Data Factory.
- Selecione OK.
Na página Parâmetros de Execução do Acionador , revise todos os avisos e selecione Concluir.
Publique todas as configurações do Data Factory selecionando Publicar tudo na barra de ferramentas de fábrica.
Monitorar seus pipelines e gatilhos no portal do Azure
Para monitorizar execuções de gatilho e de pipeline, use a guia Monitor no lado esquerdo da interface ou do aplicativo Data Factory. Para obter etapas detalhadas, consulte Monitorar visualmente o Azure Data Factory.
Para exibir as execuções de atividade associadas a uma execução de pipeline, selecione o primeiro link (Exibir execuções de atividade) na coluna Ações . Para o terceiro pipeline, aparecem três execuções de atividades: uma para cada atividade encadeada no pipeline (atividade web para iniciar o seu IR, atividade de execução do pacote SSIS para executar o seu pacote e atividade web para parar o seu IR). Para visualizar novamente as execuções do pipeline, selecione o link Pipelines na parte superior.
Para exibir as execuções de gatilho, selecione Execuções de gatilho na lista suspensa em Execuções de pipeline na parte superior.
Monitorize os seus pipelines e disparadores usando o PowerShell
Use scripts como os exemplos a seguir para monitorar seus pipelines e gatilhos:
Obtenha o status de uma execução de pipeline:
Get-AzDataFactoryV2PipelineRun -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -PipelineRunId $myPipelineRunObtenha informações sobre um gatilho:
Get-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name "myTrigger"Consulte o status de uma execução de desencadeador:
Get-AzDataFactoryV2TriggerRun -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -TriggerName "myTrigger" -TriggerRunStartedAfter "2018-07-15" -TriggerRunStartedBefore "2018-07-16"
Criar e agendar um livro de execução de Automação do Azure que inicie e interrompa um Azure-SSIS IR
Nesta secção, o utilizador aprenderá a criar um Runbook de Azure Automation que executa um script do PowerShell para iniciar e parar o IR Azure-SSIS numa agenda. Essas informações são úteis quando você deseja executar scripts adicionais antes ou depois de iniciar e parar seu IR para pré-processamento e pós-processamento.
Criar sua conta de Automação do Azure
Se você não tiver uma conta de Automação do Azure, crie uma seguindo as instruções nesta seção. Para obter etapas detalhadas, consulte Criar uma conta de Automação do Azure.
Como parte desse processo, você cria uma conta Run As do Azure (uma entidade de serviço no Microsoft Entra ID) e atribui a ela uma função de Colaborador em sua assinatura do Azure. Certifique-se de que é a mesma assinatura que contém a sua fábrica de dados com o Azure-SSIS IR. A Automação do Azure usará essa conta para autenticar no Azure Resource Manager e operar em seus recursos.
Abra o navegador web Microsoft Edge ou Google Chrome. Atualmente, a interface do usuário do Data Factory é suportada apenas nesses navegadores.
Inicie sessão no portal Azure.
Selecione Novo no menu à esquerda, selecione Monitoramento + Gerenciamento e, em seguida, selecione Automação.
No painel Adicionar Conta de Automação , execute as seguintes ações:
- Em Nome, insira um nome para sua conta de Automação do Azure.
- Em Assinatura, selecione a assinatura que tem seu data factory com o Azure-SSIS IR.
- Em Grupo de recursos, selecione Criar novo para criar um novo grupo de recursos ou selecione Usar existente para usar um existente.
- Em Local, selecione um local para sua conta de Automação do Azure.
- Para Criar conta Run As do Azure, selecione Sim. Ser-lhe-á criado um principal de serviço na sua instância do Microsoft Entra e ser-lhe-á atribuída uma função de Colaborador na sua assinatura do Azure.
- Selecione Fixar no painel para exibir a conta permanentemente no painel do Azure.
- Selecione Criar.
Monitore o status de implantação de sua conta de Automação do Azure no painel do Azure e em notificações.
Confirme se a home page da sua conta de Automação do Azure é exibida. Isso significa que você criou a conta com sucesso.
Importar módulos do Data Factory
No menu à esquerda, na seção RECURSOS COMPARTILHADOS , selecione Módulos. Verifique se você tem Az.DataFactory e Az.Profile na lista de módulos. Ambos são obrigatórios.
Se você não tiver Az.DataFactory:
Vá para o módulo Az.DataFactory na Galeria do PowerShell.
Selecione Implantar na Automação do Azure, selecione sua conta de Automação do Azure e selecione OK.
Volte para visualizar os módulos na seção RECURSOS COMPARTILHADOS no menu à esquerda. Aguarde até que o STATUS do módulo Az.DataFactory mude para Disponível.
Se você não tem Az.Profile:
Vá para o módulo Az.Profile na Galeria do PowerShell.
Selecione Implantar na Automação do Azure, selecione sua conta de Automação do Azure e selecione OK.
Volte para visualizar os módulos na seção RECURSOS COMPARTILHADOS no menu à esquerda. Aguarde até que STATUS para o módulo Az.Profile mude para Disponível.
Criar seu runbook do PowerShell
Esta seção fornece etapas para criar um runbook do PowerShell. O script associado ao seu runbook inicia ou interrompe o Azure-SSIS IR, com base no comando que especificar para o parâmetro OPERATION.
As etapas a seguir não fornecem todos os detalhes necessários para criar um runbook. Para obter mais informações, consulte Criar um manual de operações.
Alterne para o separador Runbooks e clique em + Adicionar um Runbook na barra de ferramentas.
Selecione Criar um novo runbook e execute as seguintes ações:
- Em Name, insira StartStopAzureSsisRuntime.
- Para Tipo de Runbook, selecione PowerShell.
- Selecione Criar.
Copie e cole o seguinte script do PowerShell na janela de script do runbook. Salve e publique seu runbook usando os botões Salvar e Publicar na barra de ferramentas.
Nota
Este exemplo usa uma identidade gerenciada atribuída ao sistema. Se você estiver usando uma conta Run As (entidade de serviço) ou uma identidade gerenciada atribuída pelo usuário, consulte os scripts de exemplo da Automação do Azure para a parte de logon.
Habilite as permissões apropriadas de controle de acesso baseado em função (RBAC) para a identidade gerenciada dessa conta de automação. Para obter mais informações, consulte Funções e permissões para o Azure Data Factory.
Param ( [Parameter (Mandatory= $true)] [String] $ResourceGroupName, [Parameter (Mandatory= $true)] [String] $DataFactoryName, [Parameter (Mandatory= $true)] [String] $AzureSSISName, [Parameter (Mandatory= $true)] [String] $Operation ) $ErrorActionPreference = "Stop" try { "Logging in to Azure..." Connect-AzAccount -Identity } catch { Write-Error -Message $_.Exception throw $_.Exception } if($Operation -eq "START" -or $operation -eq "start") { "##### Starting #####" Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $AzureSSISName -Force } elseif($Operation -eq "STOP" -or $operation -eq "stop") { "##### Stopping #####" Stop-AzDataFactoryV2IntegrationRuntime -DataFactoryName $DataFactoryName -Name $AzureSSISName -ResourceGroupName $ResourceGroupName -Force } "##### Completed #####"
Teste o seu runbook selecionando o botão Iniciar na barra de ferramentas.
No painel Iniciar Runbook , execute as seguintes ações:
- Para RESOURCEGROUPNAME, insira o nome do grupo de recursos que tem seu data factory com o Azure-SSIS IR.
- Para DATAFACTORYNAME, insira o nome da sua fábrica de dados configurada com o IR Azure-SSIS.
- Para AZURESSISNAME, insira o nome do Azure-SSIS IR.
- Para OPERATION, digite START.
- Selecione OK.
No painel Trabalho , selecione o bloco Saída . No painel Saída , aguarde a mensagem ##### Concluído ##### depois de ver ##### Iniciando #####. Feche o painel Trabalho e volte para a página Runbook .
Repita as duas etapas anteriores usando STOP como o valor para OPERATION. Inicie o runbook novamente selecionando o botão Iniciar na barra de ferramentas. Insira o seu grupo de recursos, a fábrica de dados e os nomes de IR Azure-SSIS. Para OPERATION, digite STOP. No painel Saída , aguarde a mensagem ##### Concluído ##### depois de ver ##### Parar #####. Parar um IR Azure-SSIS não demora tanto quanto iniciá-lo. Feche o painel Trabalho e volte para a página Runbook .
Você também pode acionar seu runbook através de um webhook. Para criar um webhook, selecione o item de menu Webhooks . Ou você pode criar o webhook em uma agenda selecionando o item de menu Agendas , conforme especificado na próxima seção.
Crie agendas para o seu runbook para iniciar e parar um Azure-SSIS IR
Na seção anterior, você criou um runbook de Automação do Azure que pode iniciar ou parar um Azure-SSIS IR. Nesta seção, você cria duas agendas para seu runbook. Ao configurar a primeira agenda, especifique START para OPERATION. Ao configurar o segundo, especifique STOP para OPERATION. Para obter etapas detalhadas para criar agendas, consulte Criar uma agenda.
Na página Runbook , selecione Agendas e, em seguida, selecione + Adicionar uma agenda na barra de ferramentas.
No painel Schedule Runbook , execute as seguintes ações:
- Selecione Associar uma agenda ao seu runbook.
- Selecione Criar uma nova agenda.
- No painel Nova Agenda, insira Iniciar o IR diariamente para Nome.
- Em Inícios, insira um horário que esteja alguns minutos após o horário atual.
- Em Recorrência, selecione Recorrente.
- Para Repetir sempre, digite 1 e selecione Dia.
- Selecione Criar.
Alterne para o separador Parâmetros e Configurações de execução. Especifique o grupo de recursos, o data factory e os nomes de Azure-SSIS IR. Em OPERATION, digite START e selecione OK. Selecione OK novamente para ver a programação na página Agendas do seu runbook.
Repita as duas etapas anteriores para criar uma agenda chamada Stop IR diariamente. Insira um horário que seja pelo menos 30 minutos após o horário especificado para a agenda diária Start IR . Em OPERATION, digite STOP e selecione OK. Selecione OK novamente para ver a programação na página Agendas do seu runbook.
Na página Runbook , selecione Jobs no menu à esquerda. A página que se abre lista os trabalhos criados por suas agendas nos horários especificados, juntamente com seus status. Você pode ver os detalhes do trabalho, como o resultado desse, semelhante ao que apareceu após você testar o seu runbook.
Quando terminar o teste, desative suas agendas editando-as. Selecione Agendas no menu à esquerda, selecione Iniciar IR diariamente/Parar IR diariamente e, em seguida, selecione Não para Ativado.
Conteúdo relacionado
Veja a seguinte postagem no blog:
Consulte os seguintes artigos da documentação do SSIS: