Templates Ligados do Gestor de Recursos com CI/CD

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

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.

Se configurou integração contínua e entrega (CI/CD) para as suas fábricas de dados, pode ultrapassar os limites do modelo Azure Resource Manager à medida que a sua fábrica cresce. Por exemplo, um dos limites é o número máximo de recursos num modelo do Resource Manager. Para acomodar grandes fábricas enquanto gera o template completo do Resource Manager para uma fábrica, o Data Factory gera agora templates Resource Manager ligados. Com esse recurso, toda a carga útil de fábrica é dividida em vários arquivos para que você não seja limitado pelos limites.

Localizando os modelos vinculados

Se configuraste o Git, os templates ligados são gerados e guardados juntamente com os templates completos de Resource Manager no ramo adf_publish numa nova pasta chamada linkedTemplates:

Pasta de modelos do Gestor de Recursos Ligados

Os templates do Resource Manager ligados geralmente consistem num template base e num conjunto de templates filhos que estão ligados à base. O modelo pai é chamado de ArmTemplate_master.json e os modelos filho são nomeados com o padrão ArmTemplate_0.json, ArmTemplate_1.json e assim por diante.

Usando modelos vinculados

Para usar templates ligados em vez do template Resource Manager completo, atualize a sua tarefa de CI/CD para apontar para ArmTemplate_master.json em vez de ArmTemplateForFactory.json (o template Resource Manager completo). O Resource Manager também exige que carregue os modelos ligados para uma conta de armazenamento para que o Azure possa aceder a eles durante a implementação. Para mais informações, veja Implantação de modelos de Gestor de Recursos vinculados com o VSTS.

Como se trata de um Modelo Vinculado, a tarefa de implantação do ARM requer a URL da conta de armazenamento e o token SAS. O token SAS é necessário mesmo que o Princípio de Serviço tenha acesso ao blog, uma vez que os Templates Ligados são implementados dentro do Azure sem o contexto do utilizador. Para conseguir isso, o modelo vinculado produzido pelas etapas de CI/CD requer os seguintes parâmetros containerURI e containerSasToken. Recomenda-se que passe o token SAS como um segredo, seja como variável segura ou através de um serviço como o Azure Key Vault.

Lembre-se de adicionar os scripts do Data Factory em seu pipeline de CI/CD antes e depois da tarefa de implantação.

Se não tiver o Git configurado, poderá acessar os modelos vinculados através de Exportar modelo ARM na lista ARM Template.

Ao implantar seus recursos, você especifica que a implantação é uma atualização incremental ou uma atualização completa. A diferença entre estes dois modos está na forma como o Resource Manager gere os recursos existentes no grupo de recursos que não estão no modelo. Revise os modos de implantação.

Considerações para runtimes de integração partilhados e auto-hospedados

Warning

Ao desdobrar templates ARM ligados para um ambiente que utiliza um runtime de integração auto-hospedado ligado (partilhado), o desdobramento do Resource Manager irá substituir a configuração do IR ligado por uma definição simples de IR auto-hospedado, sem quaisquer nós registados. Isto faz com que o IR se torne indisponível, quebrando todos os serviços ligados que dele dependem. Isto acontece porque os templates ARM ligados gerados durante a publicação exportam sempre runtimes de integração como recursos autónomos Microsoft.DataFactory/factories/integrationRuntimes, sem qualquer consciência das relações IR ligadas em ambientes alvo.

Para evitar isto, adicione um passo no seu pipeline CI/CD para remover definições de recursos IR dos ficheiros de templates ligados antes da etapa de implementação do Resource Manager. Se o ambiente de destino usar um nome IR diferente do da fábrica de origem, adicione um passo de renomeação após a remoção. O IR partilhado no ambiente alvo mantém-se intacto e todos os serviços ligados continuam a resolver corretamente após a implementação.