Share via


Tutorial: Configurar um lote de produtos de dados

Neste tutorial, saiba como configurar serviços de produtos de dados que já estão implantados. Use o Azure Data Factory para integrar e orquestrar seus dados e use o Microsoft Purview para descobrir, gerenciar e governar ativos de dados.

Aprenda a:

  • Criar e implantar os recursos necessários
  • Atribuir funções e permissões de acesso
  • Conecte recursos para integração de dados

Este tutorial ajuda você a se familiarizar com os serviços implantados no grupo de recursos de produto de dados de <DMLZ-prefix>-dev-dp001 exemplo. Experimente como os serviços do Azure interagem entre si e quais medidas de segurança estão em vigor.

Ao implantar os novos componentes, você terá a chance de investigar como o Purview conecta a governança de serviços para criar um mapa holístico e atualizado do seu cenário de dados. O resultado é a descoberta automatizada de dados, a classificação de dados confidenciais e a linhagem de dados de ponta a ponta.

Pré-requisitos

Antes de começar a configurar o lote de produtos de dados, verifique se você atende a estes pré-requisitos:

  • Subscrição do Azure. Se você não tiver uma assinatura do Azure, crie sua conta gratuita do Azure hoje.

  • Permissões para a assinatura do Azure. Para configurar o Purview e o Azure Synapse Analytics para a implantação, você deve ter a função de Administrador de Acesso de Usuário ou a função de Proprietário na assinatura do Azure. Você definirá mais atribuições de função para serviços e entidades de serviço no tutorial.

  • Recursos implantados. Para concluir o tutorial, esses recursos já devem ser implantados em sua assinatura do Azure:

    • Zona de aterragem de gestão de dados. Para obter mais informações, consulte o repositório GitHub da zona de aterrissagem de gerenciamento de dados.
    • Zona de aterragem de dados. Para obter mais informações, consulte o repositório GitHub da zona de aterrissagem de dados.
    • Lote de dados do produto. Para obter mais informações, consulte o repositório GitHub em lote de produtos de dados.
  • Conta Microsoft Purview. A conta é criada como parte da implantação da zona de aterrissagem do gerenciamento de dados.

  • Tempo de execução de integração auto-hospedado. O tempo de execução é criado como parte da implantação da zona de aterrissagem de dados.

Nota

Neste tutorial, os espaços reservados referem-se aos recursos de pré-requisito que você implanta antes de começar o tutorial:

  • <DMLZ-prefix> refere-se ao prefixo que você inseriu quando criou a implantação da zona de aterrissagem do gerenciamento de dados.
  • <DLZ-prefix> refere-se ao prefixo que você inseriu quando criou sua implantação da zona de aterrissagem de dados.
  • <DP-prefix> refere-se ao prefixo que você inseriu quando criou sua implantação em lote do produto de dados.

Criar instâncias do Banco de Dados SQL do Azure

Para começar este tutorial, crie duas instâncias de exemplo do Banco de dados SQL. Você usará os bancos de dados para simular fontes de dados de CRM e ERP em seções posteriores.

  1. No portal do Azure, nos controles globais do portal, selecione o ícone do Cloud Shell para abrir um terminal do Azure Cloud Shell. Selecione Bash para o tipo de terminal.

    Screenshot that shows the Cloud Shell icon in the Azure portal.

  2. No Cloud Shell, execute o seguinte script. O script localiza o grupo de recursos e o <DLZ-prefix>-dev-dp001 servidor SQL do <DP-prefix>-dev-sqlserver001 Azure que está no grupo de recursos. Em seguida, o script cria as duas instâncias do <DP-prefix>-dev-sqlserver001 Banco de dados SQL no servidor. Os bancos de dados são pré-preenchidos com dados de exemplo do AdventureWorks. Os dados incluem as tabelas que você usa neste tutorial.

    Certifique-se de substituir o valor do espaço reservado do parâmetro por sua própria ID de assinatura do subscription Azure.

    # Azure SQL Database instances setup
    # Create the AdatumCRM and AdatumERP databases to simulate customer and sales data.
    
    # Use the ID for the Azure subscription you used to deployed the data product.
    az account set --subscription "<your-subscription-ID>"
    
    # Get the resource group for the data product.
    resourceGroupName=$(az group list -o tsv  --query "[?contains(@.name, 'dp001')==\`true\`].name")
    
    # Get the existing Azure SQL Database server name.
    sqlServerName=$(az sql server list -g $resourceGroupName -o tsv  --query "[?contains(@.name, 'sqlserver001')==\`true\`].name")
    
    # Create the first SQL Database instance, AdatumCRM, to create the customer's data source.
    az sql db create --resource-group $resourceGroupName --server $sqlServerName --name AdatumCRM --service-objective Basic --sample-name AdventureWorksLT
    
    # Create the second SQL Database instance, AdatumERP, to create the sales data source.
    az sql db create --resource-group $resourceGroupName --server $sqlServerName --name AdatumERP --service-objective Basic --sample-name AdventureWorksLT
    

Quando o script terminar de ser executado, no servidor SQL do <DP-prefix>-dev-sqlserver001 Azure, você terá duas novas instâncias AdatumCRM do Banco de Dados SQL e AdatumERP. Ambos os bancos de dados estão na camada de computação Básica. Os bancos de dados estão localizados no mesmo <DLZ-prefix>-dev-dp001 grupo de recursos usado para implantar o lote de produtos de dados.

Configurar o Purview para catalogar o lote de produtos de dados

Em seguida, conclua as etapas para configurar o Purview para catalogar o lote de produtos de dados. Você começa criando uma entidade de serviço. Em seguida, você configura os recursos necessários e atribui funções e permissões de acesso.

Criar um principal de serviço

  1. No portal do Azure, nos controles globais do portal, selecione o ícone do Cloud Shell para abrir um terminal do Azure Cloud Shell. Selecione Bash para o tipo de terminal.

  2. Revise o seguinte script:

    • Substitua o valor do espaço reservado do parâmetro por sua própria ID de assinatura do subscriptionId Azure.
    • Substitua o valor do espaço reservado do spname parâmetro pelo nome que você deseja usar para a entidade de serviço. O nome da entidade de serviço deve ser exclusivo na assinatura.

    Depois de atualizar os valores dos parâmetros, execute o script no Cloud Shell.

    # Replace the parameter values with the name you want to use for your service principal name and your Azure subscription ID.
    spname="<your-service-principal-name>"
    subscriptionId="<your-subscription-id>"
    
    # Set the scope to the subscription.
    scope="/subscriptions/$subscriptionId"
    
    # Create the service principal.
    az ad sp create-for-rbac \
      --name $spname \
      --role "Contributor" \
      --scope $scope
    
  3. Verifique a saída JSON para obter um resultado semelhante ao exemplo a seguir. Anote ou copie os valores na saída para usar em etapas posteriores.

    {
      "appId": "<your-app-id>",
      "displayName": "<service-principal-display-name>",
      "name": "<your-service-principal-name>",
      "password": "<your-service-principal-password>",
      "tenant": "<your-tenant>"
    }
    

Configurar o acesso e as permissões da entidade de serviço

A partir da saída JSON gerada na etapa anterior, obtenha os seguintes valores retornados:

  • ID da entidade de serviço (appId)
  • chave principal de serviço (password)

A entidade de serviço deve ter as seguintes permissões:

  • Função Leitor de Dados de Blob de Armazenamento nas contas de armazenamento.
  • Permissões de leitor de dados nas instâncias do Banco de dados SQL.

Para configurar a entidade de serviço com a função e as permissões necessárias, conclua as etapas a seguir.

Permissões da conta de Armazenamento do Azure

  1. No portal do Azure, vá para a conta de Armazenamento do <DLZ-prefix>devraw Azure. No menu de recursos, selecione Controle de acesso (IAM).

    Screenshot that shows the storage account service principal permissions pane, with Access Control highlighted.

  2. Selecione Adicionar>Adicionar atribuição de função.

    Screenshot that shows the storage account service principal Access Control pane that shows how to add a role assignment.

  3. Em Adicionar atribuição de função, na guia Função, procure e selecione Leitor de Dados de Blob de Armazenamento. Em seguida, selecione Seguinte.

    Screenshot that shows searching for Storage Blob Data Reader under Add role assignment.

  4. Em Membros, escolha Selecionar membros.

    Screenshot that shows select members pane under add role assignment.

  5. Em Selecionar membros, procure o nome da entidade de serviço que você criou.

    Screenshot that shows how to search for a service principal name.

  6. Nos resultados da pesquisa, selecione a entidade de serviço e escolha Selecionar.

    Screenshot that shows the results pane after searching for a service principal name.

  7. Para concluir a atribuição de função, selecione Rever + atribuir duas vezes.

Repita as etapas nesta seção para as contas de armazenamento restantes:

  • <DLZ-prefix>devencur
  • <DLZ-prefix>devwork

Permissões do Banco de Dados SQL

Para definir permissões do Banco de Dados SQL, conecte-se à máquina virtual SQL do Azure usando o editor de consultas. Como todos os recursos estão por trás de um ponto de extremidade privado, você deve primeiro entrar no portal do Azure usando uma máquina virtual de host do Azure Bastion.

No portal do Azure, conecte-se à máquina virtual implantada <DMLZ-prefix>-dev-bastion no grupo de recursos. Se você não tiver certeza de como se conectar à máquina virtual usando o serviço de host Bastion, consulte Conectar-se a uma VM.

Para adicionar a entidade de serviço como um usuário no banco de dados, talvez seja necessário primeiro adicionar-se como administrador do Microsoft Entra. Nas etapas 1 e 2, você se adiciona como administrador do Microsoft Entra. Nas etapas 3 a 5, você concede permissões à entidade de serviço para um banco de dados. Quando tiver sessão iniciada no portal a partir da máquina virtual de anfitrião Bastion, procure máquinas virtuais SQL do Azure no portal do Azure.

  1. Vá para a máquina virtual SQL do <DP-prefix>-dev-sqlserver001 Azure. No menu de recursos em Configurações, selecione Microsoft Entra ID.

    Screenshot that shows the Microsoft Entra pane in Azure SQL Database Server.

  2. Na barra de comandos, selecione Definir administrador. Pesquise e selecione a sua própria conta. Escolha Selecionar.

    Screenshot that shows how to search for an account to make a user an admin.

  3. No menu de recursos, selecione bancos de dados SQL e, em seguida, selecione o AdatumCRM banco de dados.

    Screenshot that shows a search for the correct database, with AdatumCRM highlighted.

  4. No menu de recursos do AdatumCRM, selecione Editor de consultas (visualização). Em Autenticação do Ative Directory, selecione o botão Continuar como para entrar.

    Screenshot that shows how to sign in to the query editor by using Active Directory authentication.

  5. No editor de consultas, revise as instruções a seguir para substituir <service principal name> pelo nome da entidade de serviço criada (por exemplo, purview-service-principal). Em seguida, execute as instruções.

    
    CREATE USER [<service principal name>] FROM EXTERNAL PROVIDER
    GO
    
    EXEC sp_addrolemember 'db_datareader', [<service principal name>]
    GO
    
    

    Screenshot that shows how to execute statements in the query editor.

Repita as etapas 3 a 5 para o AdatumERP banco de dados.

Configurar o cofre de chaves

O Purview lê a chave da entidade de serviço de uma instância do Cofre de Chaves do Azure. O cofre de chaves é criado na implantação da zona de aterrissagem de gerenciamento de dados. As seguintes etapas são necessárias para configurar o cofre de chaves:

  1. Adicione a chave da entidade de serviço ao cofre de chaves como um segredo.

  2. Dê permissões ao Purview MSI Secrets Reader no cofre de chaves.

  3. Adicione o cofre de chaves ao Purview como uma conexão de cofre de chaves.

  4. Crie uma credencial no Purview que aponte para o segredo do cofre de chaves.

Adicionar permissões para adicionar segredo ao cofre de chaves

  1. No portal do Azure, vá para o serviço Azure Key Vault. Procure o cofre da <DMLZ-prefix>-dev-vault001 chave.

    Screenshot that shows the Access Control Key Vault pane.

  2. No menu de recursos, selecione Controle de acesso (IAM). Na barra de comandos, selecione Adicionar e, em seguida, selecione Adicionar atribuição de função.

    Screenshot that shows adding a role assignment in Purview.

  3. Na guia Função, procure e selecione Administrador do Cofre da Chave. Selecione Seguinte.

    Screenshot that shows how to search for the Key Vault Administrator role.

  4. Em Membros, escolha Selecionar membros para adicionar a conta que está conectada no momento.

    Screenshot that shows the Select members button highlighted.

  5. Em Selecionar membros, procure a conta que está atualmente conectada. Selecione a conta e, em seguida, escolha Selecionar.

    Screenshot that shows the select member search box.

  6. Para concluir o processo de atribuição de função, selecione Rever + atribuir duas vezes.

Adicionar um segredo ao cofre de chaves

Conclua as etapas a seguir para entrar no portal do Azure a partir da máquina virtual do host Bastion.

  1. No menu de recursos do cofre de <DMLZ-prefix>-dev-vault001 chaves, selecione Segredos. Na barra de comandos, selecione Gerar/Importar para criar um novo segredo.

    Screenshot that shows the key vault Generate/Import button highlighted.

  2. Em Criar um segredo, selecione ou insira os seguintes valores:

    Definição Ação
    Opções de carregamento Selecione Manual.
    Name Insira service-principal-secret.
    valor Introduza a palavra-passe da entidade de serviço que criou anteriormente.

    Screenshot that shows the key vault Create a secret pane.

    Nota

    Esta etapa cria um segredo nomeado service-principal-secret no cofre de chaves usando a chave de senha da entidade de serviço. O Purview usa o segredo para se conectar e verificar as fontes de dados. Se introduzir uma palavra-passe incorreta, não poderá concluir as secções seguintes.

  3. Selecione Criar.

Configurar permissões do Purview no cofre de chaves

Para que a instância Purview leia os segredos armazenados no cofre de chaves, você deve atribuir a Purview as permissões relevantes no cofre de chaves. Para definir as permissões, adicione a Identidade Gerenciada Purview à função Leitor de Segredos do cofre de chaves.

  1. No menu de recursos do cofre de chaves, selecione Controle de <DMLZ-prefix>-dev-vault001 acesso (IAM).

  2. Na barra de comandos, selecione Adicionar e, em seguida, selecione Adicionar atribuição de função.

    Screenshot that shows the Access Control pane, with the add role assignment button highlighted.

  3. Em Função, procure e selecione Key Vault Secrets User. Selecione Seguinte.

    Screenshot that shows the search for Key Vault Secret User pane.

  4. Em Membros, escolha Selecionar membros.

    Screenshot that shows the add role assignment pane with the select member button highlighted.

  5. Procure a <DMLZ-prefix>-dev-purview001 instância Purview. Selecione a instância para adicionar a conta relevante. Em seguida, escolha Selecionar.

    Screenshot that shows the search box for the Purview instance name.

  6. Para concluir o processo de atribuição de função, selecione Rever + atribuir duas vezes.

    Screenshot that shows how to complete a role assignment.

Configurar uma conexão de cofre de chaves no Purview

Para configurar uma conexão de cofre de chaves com o Purview, você deve entrar no portal do Azure usando uma máquina virtual de host do Azure Bastion.

  1. No portal do Azure, vá para a <DMLZ-prefix>-dev-purview001 conta Purview. Em Introdução, em Abrir o Portal de Governança do Microsoft Purview, selecione Abrir.

    Screenshot that shows the Microsoft Purview account overview.

  2. No Purview Studio, selecione Credenciais de gerenciamento>. Na barra de comandos Credenciais, selecione Gerir ligações do Cofre da Chave e, em seguida, selecione Novo.

    Screenshot that shows the Manage Key Vault connections button.

  3. Em Nova conexão do cofre de chaves, selecione ou insira as seguintes informações:

    Definição Ação
    Name Digite <DMLZ-prefix-dev-vault001>.
    Subscrição do Azure Selecione a assinatura que hospeda o cofre de chaves.
    Nome do Cofre da Chave Selecione o cofre de chaves DMLZ-prefix-dev-vault001><.

    Screenshot that shows the new Key Vault connections pane.

  4. Selecione Criar.

  5. Em Confirmar concessão de acesso, selecione Confirmar.

Criar uma credencial no Purview

A etapa final para configurar o cofre de chaves é criar uma credencial no Purview que aponte para o segredo que você criou no cofre de chaves para a entidade de serviço.

  1. No Purview Studio, selecione Credenciais de gerenciamento>. Na barra de comandos Credenciais, selecione Novo.

    Screenshot that shows the new Purview Credentials pane.

  2. Em Nova credencial, selecione ou insira as seguintes informações:

    Definição Ação
    Name Digite purviewServicePrincipal.
    Método de autenticação Selecione Entidade de serviço.
    ID do Inquilino O valor é preenchido automaticamente.
    ID da entidade de serviço Insira o ID do aplicativo ou o ID do cliente da entidade de serviço.
    Conexão do Cofre da Chave Selecione a conexão do cofre de chaves que você criou na seção anterior.
    Nome secreto Digite o nome do segredo no cofre de chaves (service-principal-secret).

    Screenshot that shows the new credentials form, with values highlighted.

  3. Selecione Criar.

Registar origens de dados

Neste ponto, o Purview pode se conectar à entidade de serviço. Agora você pode registrar e configurar as fontes de dados.

Registrar contas do Azure Data Lake Storage Gen2

As etapas a seguir descrevem o processo para registrar uma conta de armazenamento do Azure Data Lake Storage Gen2.

  1. No Purview Studio, selecione o ícone do mapa de dados, selecione Fontes e, em seguida, selecione Registrar.

    Screenshot that shows the data map button highlighted in Purview.

  2. Em Registrar fontes, selecione Azure Data Lake Storage Gen2 e selecione Continuar.

    Screenshot that shows the Azure Data Lake Storage Gen2 registration source.

  3. Em Registrar fontes (Azure Data Lake Storage Gen2), selecione ou insira as seguintes informações:

    Definição Ação
    Name Digite <DLZ-prefix>dldevraw.
    Subscrição do Azure Selecione a assinatura que hospeda a conta de armazenamento.
    Nome da conta de armazenamento Selecione a conta de armazenamento relevante.
    Ponto final O valor é preenchido automaticamente com base na conta de armazenamento selecionada.
    Selecione uma coleção Selecione a coleção raiz.

    Screenshot that shows the Register Azure Data Lake Storage Gen2 pane, with values highlighted.

  4. Selecione Registrar para criar a fonte de dados.

Repita estas etapas para as seguintes contas de armazenamento:

  • <DMLZ-prefix>devencur
  • <DMLZ-prefix>devwork

Registrar a instância do Banco de dados SQL como uma fonte de dados

  1. No Purview Studio, selecione o ícone Mapa de dados, selecione Fontes e, em seguida, selecione Registrar.

    Screenshot that shows the data map button highlighted in the Purview interface.

  2. Em Registrar fontes, selecione Banco de Dados SQL do Azure e selecione Continuar.

    Screenshot that shows the Azure SQL Database registration source.

  3. Em Registrar fontes (Banco de Dados SQL do Azure), selecione ou insira as seguintes informações:

    Definição Ação
    Name Insira SQLDatabase (o nome do banco de dados criado em Criar instâncias do Banco de Dados SQL do Azure).
    Subscrição Selecione a assinatura que hospeda o banco de dados.
    Nome do servidor Digite <DP-prefix-dev-sqlserver001>.

    Screenshot that shows the Register SQL Database form, with values highlighted.

  4. Selecione Registar.

Configurar verificações

Em seguida, configure verificações para as fontes de dados.

Verificar a fonte de dados do Data Lake Storage Gen2

  1. No Purview Studio, vá para o mapa de dados. Na fonte de dados, selecione o ícone Nova verificação .

    Screenshot that shows how to set up a new Data Lake Storage Gen2 scan.

  2. No novo painel de verificação, selecione ou insira as seguintes informações:

    Definição Ação
    Name Digite Scan_<DLZ-prefix>devraw.
    Conecte-se via tempo de execução de integração Selecione o tempo de execução de integração auto-hospedado que foi implantado com a zona de aterrissagem de dados.
    Credencial Selecione a entidade de serviço que você configurou para o Purview.

    Screenshot that shows the scan Data Lake Storage Gen2 credential form with values entered.

  3. Selecione Testar conexão para verificar a conectividade e se as permissões estão em vigor. Selecione Continuar.

  4. Em Escopo da verificação, selecione toda a conta de armazenamento como o escopo da verificação e, em seguida, selecione Continuar.

    Screenshot that shows the Scope your scan pane with storage accounts selected.

  5. Em Selecione um conjunto de regras de verificação, selecione AdlsGen2 e, em seguida, selecione Continuar.

    Screenshot that shows the Data Lake Storage Gen2 scan rule set selection.

  6. Em Definir um gatilho de verificação, selecione Uma vez e, em seguida, selecione Continuar.

    Screenshot that shows the set a scan Trigger pane, with Once selected.

  7. Em Rever a análise, reveja as definições da análise. Selecione Salvar e Executar para iniciar a verificação.

    Screenshot that shows reviewing your scan before you save and run it.

Repita estas etapas para as seguintes contas de armazenamento:

  • <DMLZ-prefix>devencur
  • <DMLZ-prefix>devwork

Verificar a fonte de dados do Banco de dados SQL

  1. Na fonte de dados do Banco de Dados SQL do Azure, selecione Nova verificação.

    Screenshot that shows how to create a new SQL Database scan.

  2. No novo painel de verificação, selecione ou insira as seguintes informações:

    Definição Ação
    Name Digite Scan_Database001.
    Conecte-se via tempo de execução de integração Selecione Purview-SHIR.
    Nome da base de dados Selecione o nome do banco de dados.
    Credencial Selecione a credencial do cofre de chaves que você criou no Purview.
    Extração de linhagem (pré-visualização) Selecione Desativado.

    Screenshot that shows the scan credential form, with values entered.

  3. Selecione Testar conexão para verificar a conectividade e se as permissões estão em vigor. Selecione Continuar.

  4. Selecione o escopo da verificação. Para verificar todo o banco de dados, use o valor padrão.

    Screenshot that shows how to set the scope for the scan to the whole database.

  5. Em Selecione um conjunto de regras de verificação, selecione AzureSqlDatabase e, em seguida, selecione Continuar.

    Screenshot that shows the SQL Database scan rule set selection.

  6. Em Definir um gatilho de verificação, selecione Uma vez e, em seguida, selecione Continuar.

    Screenshot that shows the set a scan to run pane with once selected.

  7. Em Rever a análise, reveja as definições da análise. Selecione Salvar e Executar para iniciar a verificação.

Repita estas etapas para o AdatumERP banco de dados.

A Purview agora está configurada para a governança de dados para as fontes de dados registradas.

Copiar dados do Banco de dados SQL para o Data Lake Storage Gen2

Nas etapas a seguir, use a ferramenta Copiar Dados no Data Factory para criar um pipeline para copiar as tabelas das instâncias AdatumCRM do Banco de dados SQL e AdatumERP para arquivos CSV na <DLZ-prefix>devraw conta do Data Lake Storage Gen2.

O ambiente está bloqueado para acesso público, portanto, primeiro, você precisa configurar pontos de extremidade privados. Para usar os pontos de extremidade privados, você entrará no portal do Azure em seu navegador local e se conectará à máquina virtual do host Bastion para acessar os serviços necessários do Azure.

Criar pontos finais privados

Para configurar pontos de extremidade privados para os recursos necessários:

  1. No grupo de <DMLZ-prefix>-dev-bastion recursos, selecione <DMLZ-prefix>-dev-vm001.

    Screenshot that shows the resource groups for connecting to the bastion host virtual machine.

  2. Na barra de comandos, selecione Conectar e selecione Bastion.

    Screenshot that shows the connect to bastion selection pane.

  3. Introduza o nome de utilizador e a palavra-passe da máquina virtual e, em seguida, selecione Ligar.

    Screenshot that shows the username and password entry pane.

  4. No navegador da Web da máquina virtual, vá para o portal do Azure. Vá para o grupo de recursos e abra o <DLZ-prefix>-dev-shared-integration<DLZ-prefix>-dev-integration-datafactory001 data factory.

    Screenshot that shows how to go to a different resource group to open Azure Data Factory.

  5. Em Introdução, no Open Azure Data Factory Studio, selecione Abrir.

    Screenshot that shows how to open Azure Data Factory Studio.

  6. No menu Data Factory Studio, selecione o ícone Gerenciar (o ícone parece uma caixa de ferramentas quadrada com uma chave inglesa estampada nele). No menu de recursos, selecione Pontos de extremidade privados gerenciados para criar os pontos de extremidade privados necessários para conectar o Data Factory a outros serviços seguros do Azure.

    A aprovação de solicitações de acesso para os pontos de extremidade privados é discutida em uma seção posterior. Depois de aprovar as solicitações de acesso ao ponto de extremidade privado, seu status de aprovação é Aprovado, como no exemplo a seguir da conta de <DLZ-prefix>devencur armazenamento.

    Screenshot that shows how to go to the Manage Private Endpoints pane.

  7. Antes de aprovar as conexões de ponto de extremidade privado, selecione Novo. Insira o SQL do Azure para localizar o conector do Banco de Dados SQL do Azure que você usa para criar um novo ponto de extremidade privado gerenciado para a máquina virtual SQL do <DP-prefix>-dev-sqlserver001 Azure. A máquina virtual contém os bancos de dados e AdatumERP criados AdatumCRM anteriormente.

  8. Em Novo ponto de extremidade privado gerenciado (Banco de Dados SQL do Azure), para Nome, insira data-product-dev-sqlserver001. Insira a assinatura do Azure que você usou para criar os recursos. Em Nome do servidor, selecione <DP-prefix>-dev-sqlserver001 para que você possa se conectar a ele a partir desta fábrica de dados nas próximas seções.

    Screenshot that shows how to name the new private endpoint.

Aprovar solicitações de acesso a pontos finais privados

Para dar ao Data Factory acesso aos pontos de extremidade privados para os serviços necessários, você tem algumas opções:

  • Opção 1: Em cada serviço ao qual você solicita acesso, no portal do Azure, vá para a opção de conexões de ponto de extremidade privado ou de rede do serviço e aprove as solicitações de acesso ao ponto de extremidade privado.

  • Opção 2: Execute os seguintes scripts no Azure Cloud Shell no modo Bash para aprovar todas as solicitações de acesso aos pontos de extremidade privados necessários de uma só vez.

    
    # Storage managed private endpoint approval
    
    # devencur
    resourceGroupName=$(az group list -o tsv  --query "[?contains(@.name, '-dev-storage')==\`true\`].name")
    storageAcctName=$(az storage account list -g $resourceGroupName -o tsv  --query "[?contains(@.name, 'devencur')==\`true\`].name")
    endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $storageAcctName --type Microsoft.Storage/storageAccounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name")
    
    az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $storageAcctName --type Microsoft.Storage/storageAccounts --description "Approved"
    
    # devraw
    resourceGroupName=$(az group list -o tsv  --query "[?contains(@.name, '-dev-storage')==\`true\`].name")
    storageAcctName=$(az storage account list -g $resourceGroupName -o tsv  --query "[?contains(@.name, 'devraw')==\`true\`].name")
    endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $storageAcctName --type Microsoft.Storage/storageAccounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name")
    az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $storageAcctName --type Microsoft.Storage/storageAccounts --description "Approved"
    
    # SQL Database managed private endpoint approval
    resourceGroupName=$(az group list -o tsv  --query "[?contains(@.name, '-dev-dp001')==\`true\`].name")
    sqlServerName=$(az sql server list -g $resourceGroupName -o tsv  --query "[?contains(@.name, 'sqlserver001')==\`true\`].name")
    endPointConnectionName=$(az network private-endpoint-connection list -g $resourceGroupName -n $sqlServerName --type Microsoft.Sql/servers -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name")
    az network private-endpoint-connection approve -g $resourceGroupName -n $endPointConnectionName --resource-name $sqlServerName --type Microsoft.Sql/servers --description "Approved"
    
    # Key Vault private endpoint approval
    resourceGroupName=$(az group list -o tsv  --query "[?contains(@.name, '-dev-metadata')==\`true\`].name")
    keyVaultName=$(az keyvault list -g $resourceGroupName -o tsv  --query "[?contains(@.name, 'dev-vault001')==\`true\`].name")
    endPointConnectionID=$(az network private-endpoint-connection list -g $resourceGroupName -n $keyVaultName --type Microsoft.Keyvault/vaults -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].id")
    az network private-endpoint-connection approve -g $resourceGroupName --id $endPointConnectionID --resource-name $keyVaultName --type Microsoft.Keyvault/vaults --description "Approved"
    
    # Purview private endpoint approval
    resourceGroupName=$(az group list -o tsv  --query "[?contains(@.name, 'dev-governance')==\`true\`].name")
    purviewAcctName=$(az purview account list -g $resourceGroupName -o tsv  --query "[?contains(@.name, '-dev-purview001')==\`true\`].name")
    for epn in $(az network private-endpoint-connection list -g $resourceGroupName -n $purviewAcctName --type Microsoft.Purview/accounts -o tsv --query "[?contains(@.properties.privateLinkServiceConnectionState.status, 'Pending')==\`true\`].name")
    do
        az network private-endpoint-connection approve -g $resourceGroupName -n $epn --resource-name $purviewAcctName --type Microsoft.Purview/accounts --description "Approved"
    done
    
    

O exemplo a seguir mostra como a <DLZ-prefix>devraw conta de armazenamento gerencia solicitações privadas de acesso ao ponto final. No menu de recursos da conta de armazenamento, selecione Rede. Na barra de comandos, selecione Conexões de ponto de extremidade privadas.

Screenshot that shows how to go to the Private endpoint connections pane.

Para alguns recursos do Azure, selecione Conexões de ponto de extremidade privadas no menu de recursos. Um exemplo para o servidor SQL do Azure é mostrado na captura de tela a seguir.

Para aprovar uma solicitação de acesso de ponto de extremidade privado, em Conexões de ponto de extremidade privado, selecione a solicitação de acesso pendente e, em seguida, selecione Aprovar:

Screenshot that shows to approve a private endpoint access request.

Depois de aprovar a solicitação de acesso em cada serviço necessário, pode levar alguns minutos para que a solicitação seja exibida como Aprovado em Pontos de extremidade privados gerenciados no Data Factory Studio. Mesmo se você selecionar Atualizar na barra de comandos, o estado de aprovação pode ficar obsoleto por alguns minutos.

Quando terminar de aprovar todas as solicitações de acesso para os serviços necessários, em Pontos de extremidade privados gerenciados, o valor do estado de Aprovação para todos os serviços será Aprovado:

Screenshot that shows the private endpoint SQL connections as Approved.

Atribuições de funções

Quando terminar de aprovar as solicitações de acesso ao ponto de extremidade privado, adicione as permissões de função apropriadas para o Data Factory acessar estes recursos:

  • Instâncias AdatumCRM do Banco de Dados SQL e AdatumERP no servidor SQL do <DP-prefix>-dev-sqlserver001 Azure
  • Contas <DLZ-prefix>devrawde armazenamento , <DLZ-prefix>devencure <DLZ-prefix>devwork
  • Conta Purview <DMLZ-prefix>-dev-purview001

Máquina virtual SQL do Azure

  1. Para adicionar atribuições de função, comece com a máquina virtual SQL do Azure. No grupo de <DMLZ-prefix>-dev-dp001 recursos, vá para <DP-prefix>-dev-sqlserver001.

  2. No menu de recursos, selecione Controle de acesso (IAM). Na barra de comandos, selecione Adicionar>atribuição de função.

  3. No separador Função, selecione Colaborador e, em seguida, selecione Seguinte.

    Screenshot that shows the Contributor role selection pane.

  4. Em Membros, para Atribuir acesso a, selecione Identidade gerenciada. Para Membros, escolha Selecionar Membros.

    Screenshot that shows the select Managed Identity Members pane.

  5. Em Selecionar identidades gerenciadas, selecione sua assinatura do Azure. Em Identidade gerenciada, selecione Data Factory (V2) para ver as fábricas de dados disponíveis. Na lista de fábricas de dados, selecione Azure Data Factory <DLZ-prefix-dev-integration-datafactory001>. Escolha Selecionar.

    Screenshot that shows the role assignment completion pane.

  6. Selecione Rever + Atribuir duas vezes para concluir o processo.

Contas de armazenamento

Em seguida, atribua as funções necessárias às <DLZ-prefix>devrawcontas , <DLZ-prefix>devencure <DLZ-prefix>devwork de armazenamento.

Para atribuir as funções, conclua as mesmas etapas que você usou para criar a atribuição de função de servidor SQL do Azure. Mas, para a função, selecione Colaborador de Dados de Blob de Armazenamento em vez de Colaborador.

Depois de atribuir funções para as três contas de armazenamento, o Data Factory pode se conectar e acessar as contas de armazenamento.

Microsoft Purview

A etapa final para adicionar atribuições de função é adicionar a função Purview Data Curator no Microsoft Purview à conta de identidade gerenciada do <DLZ-prefix>-dev-integration-datafactory001 data factory. Conclua as etapas a seguir para que o Data Factory possa enviar informações de ativos do catálogo de dados de várias fontes de dados para a conta Purview.

  1. No grupo <DMLZ-prefix>-dev-governancede recursos , vá para a <DMLZ-prefix>-dev-purview001 conta Purview.

  2. No Purview Studio, selecione o ícone Mapa de dados e, em seguida, selecione Coleções.

  3. Selecione a guia Atribuições de função para a coleção. Em Curadores de dados, adicione a identidade gerenciada para <DLZ-prefix>-dev-integration-datafactory001:

    Screenshot that shows how to add data curators to your Purview role assignment.

Conecte o Data Factory ao Purview

As permissões estão definidas, e o Purview agora pode ver o data factory. O próximo passo é ter <DMLZ-prefix>-dev-purview001 conexão com o <DLZ-prefix>-dev-integration-datafactory001.

  1. No Purview Studio, selecione o ícone Gerenciamento e, em seguida, selecione Data Factory. Selecione Novo para criar uma conexão do Data Factory.

  2. No painel Novas conexões do Data Factory, insira sua assinatura do Azure e selecione o <DLZ-prefix>-dev-integration-datafactory001 data factory. Selecione OK.

    Screenshot that shows what the Purview Studio pane looks like while selecting a new connection.

  3. Na instância do Data Factory Studio, em Manage>Azure Purview, atualize a conta do <DLZ-prefix>-dev-integration-datafactory001 Azure Purview.

    A Data Lineage - Pipeline integração agora mostra o ícone verde Conectado .

    Screenshot that shows the Azure Data Factory Purview account pane with the data lineage pipeline connected.

Criar um pipeline ETL

Agora que o <DLZ-prefix>-dev-integration-datafactory001 tem as permissões de acesso necessárias, crie uma atividade de cópia no Data Factory para mover dados de instâncias do Banco de dados SQL para a <DLZ-prefix>devraw conta de armazenamento bruto.

Use a ferramenta Copiar dados com o AdatumCRM

Esse processo extrai dados do cliente da instância do Banco de dados SQL e os copia para o AdatumCRM armazenamento do Data Lake Storage Gen2.

  1. No Data Factory Studio, selecione o ícone Autor e, em seguida, selecione Recursos de Fábrica. Selecione o sinal de adição (+) e selecione a ferramenta Copiar dados.

    Screenshot that shows the Copy Data tool under factory resources.

    Conclua cada etapa no assistente da ferramenta Copiar dados:

    1. Para criar um gatilho para executar o pipeline a cada 24 horas, selecione Agendar.

      Screenshot that shows how to schedule a Trigger to run periodically in CRM.

    2. Para criar um serviço vinculado para conectar essa fábrica de dados à instância do AdatumCRM Banco de dados SQL no <DP-prefix>-dev-sqlserver001 servidor (origem), selecione Nova Conexão.

      Screenshot that shows connecting to the AdatumCRM database.

      Nota

      Se você tiver erros ao se conectar ou acessar os dados nas instâncias do Banco de Dados SQL ou nas contas de armazenamento, revise suas permissões na assinatura do Azure. Certifique-se de que a fábrica de dados tem as credenciais necessárias e permissões de acesso a qualquer recurso problemático.

    3. Selecione estas três tabelas:

      • SalesLT.Address
      • SalesLT.Customer
      • SalesLT.CustomerAddress

      Screenshot that shows the select tables pane with tables highlighted.

    4. Crie um novo serviço vinculado para acessar o <DLZ-prefix>devraw armazenamento do Azure Data Lake Storage Gen2 (destino).

      Screenshot that shows the raw storage connection.

    5. Navegue pelas pastas no <DLZ-prefix>devraw armazenamento e selecione Dados como destino.

      Screenshot that shows the destination as raw data.

    6. Altere o sufixo de nome de arquivo para .csv e use as outras opções padrão.

      Screenshot that shows the file name suffix field with CSV entered.

    7. Vá para o próximo painel e selecione Adicionar cabeçalho ao arquivo.

      Screenshot that shows how to add a header to a file.

    8. Quando você concluir o assistente, o painel Implantação concluída será semelhante a este exemplo:

      Screenshot that shows the Copy Data tool deployment completed.

O novo pipeline está listado em Pipelines.

Executar o pipeline

Esse processo cria três arquivos .csv na pasta Data\CRM , um para cada uma das tabelas selecionadas no AdatumCRM banco de dados.

  1. Renomeie o pipeline CopyPipeline_CRM_to_Raw.

  2. Renomeie os conjuntos de CRM_Raw_Storage dados e CRM_DB.

  3. Na barra de comandos Recursos de fábrica, selecione Publicar tudo.

  4. Selecione o CopyPipeline_CRM_to_Raw pipeline e, na barra de comandos do pipeline, selecione Trigger para copiar as três tabelas do Banco de dados SQL para o Data Lake Storage Gen2.

    Screenshot that shows how to use the trigger tool to copy data from the SQL Database to Data Lake Storage Gen2.

Use a ferramenta Copiar dados com o AdatumERP

Em seguida, extraia os dados do AdatumERP banco de dados. Os dados representam os dados de vendas provenientes do sistema ERP.

  1. Ainda no Data Factory Studio, crie um novo pipeline usando a ferramenta Copiar dados. Desta vez, você está enviando os dados de vendas para a <DLZ-prefix>devraw pasta de dados da conta de armazenamento, da mesma forma que fez com os dados do AdatumERP CRM. Conclua as mesmas etapas, mas use o AdatumERP banco de dados como fonte.

    1. Crie a programação para acionar a cada hora.

    2. Crie um serviço vinculado à instância do AdatumERP Banco de dados SQL.

      Screenshot that shows the Adatum ERP connection pane completed.

    3. Selecione estas sete tabelas:

      • SalesLT.Product
      • SalesLT.ProductCategory
      • SalesLT.ProductDescription
      • SalesLT.ProductModel
      • SalesLT.ProductModelProductDescription
      • SalesLT.SalesOrderDetail
      • SalesLT.SalesOrderHeader

      Screenshot that shows Adatum ERP Table options.

    4. Use o serviço vinculado existente à <DLZ-prefix>devraw conta de armazenamento e defina a extensão de arquivo como .csv.

      Screenshot that shows a raw storage account with the file extension set to CSV.

    5. Selecione Adicionar cabeçalho ao arquivo.

      Screenshot that shows adding a header to a file under File format settings.

    6. Conclua o assistente novamente e renomeie o pipeline CopyPipeline_ERP_to_DevRaw. Em seguida, na barra de comandos, selecione Publicar tudo. Por fim, execute o gatilho nesse pipeline recém-criado para copiar as sete tabelas selecionadas do Banco de dados SQL para o Data Lake Storage Gen2.

Quando você concluir essas etapas, 10 arquivos CSV estarão no <DLZ-prefix>devraw armazenamento Data Lake Storage Gen2. Na próxima seção, você seleciona os arquivos no <DLZ-prefix>devencur armazenamento Data Lake Storage Gen2.

Segmentar dados no Data Lake Storage Gen2

Quando terminar de criar os 10 arquivos CSV no armazenamento bruto <DLZ-prefix>devraw do Data Lake Storage Gen2, transforme esses arquivos conforme necessário ao copiá-los para o armazenamento Data Lake Storage Gen2 com curadoria <DLZ-prefix>devencur .

Continue usando o Azure Data Factory para criar esses novos pipelines para orquestrar a movimentação de dados.

Segmentar o CRM para os dados do cliente

Crie um fluxo de dados que obtenha os arquivos CSV na pasta Data\CRM em <DLZ-prefix>devraw. Transforme os arquivos e copie os arquivos transformados no formato de arquivo .parquet para a pasta Data\Customer em <DLZ-prefix>devencur.

  1. No Azure Data Factory, vá para o data factory e selecione Orquestrar.

    Screenshot that shows the Orchestrate button in Azure Data Factory.

  2. Em Geral, nomeie o pipeline Pipeline_transform_CRM.

  3. No painel Atividades, expanda Mover e Transformar. Arraste a atividade de fluxo de dados e solte-a na tela do pipeline.

    Screenshot that shows the Activities pane and Move and transform highlighted.

  4. Em Adicionando fluxo de dados, selecione Criar novo fluxo de dados e nomeie o fluxo deCRM_to_Customerdados . Selecione Concluir.

    Nota

    Na barra de comandos da tela do pipeline, ative a depuração do fluxo de dados. No modo de depuração, você pode testar interativamente a lógica de transformação em relação a um cluster Apache Spark ao vivo. Os clusters de fluxo de dados levam de 5 a 7 minutos para aquecer. Recomendamos que você ative a depuração antes de iniciar o desenvolvimento do fluxo de dados.

    Screenshot that shows the Open Data Flow button.

    Quando terminar de selecionar as opções no CRM_to_Customer fluxo de dados, o Pipeline_transform_CRM pipeline será semelhante a este exemplo:

    Screenshot that shows the pipeline transform CRM.

    O fluxo de dados se parece com este exemplo:

    Screenshot that shows the CRM to Customer data flow.

  5. Em seguida, modifique estas configurações no fluxo de dados para a CRMAddress fonte:

    1. Crie um novo conjunto de dados a partir do Data Lake Storage Gen2. Use o formato DelimitedText . Nomeie o conjunto de DevRaw_CRM_Addressdados .

    2. Conecte o serviço vinculado ao <DLZ-prefix>devraw.

    3. Selecione o Data\CRM\SalesLTAddress.csv arquivo como a fonte.

  6. Modifique estas configurações no fluxo de dados para o coletor emparelhado CustAddress :

    1. Crie um novo conjunto de dados chamado DevEncur_Cust_Address.

    2. Selecione a pasta Data\Customer como <DLZ-prefix>devencur o coletor.

    3. Em Configurações\Saída em arquivo único, converta o arquivo em Address.parquet.

Para o restante da configuração de fluxo de dados, use as informações nas tabelas a seguir para cada componente. Note que CRMAddress e CustAddress são as duas primeiras linhas. Use-os como exemplos para os outros objetos.

Um item que não está em nenhuma das tabelas a seguir é o RemovePasswords modificador de esquema. A captura de tela anterior mostra que esse item vai entre CRMCustomer e CustCustomer. Para adicionar esse modificador de esquema, vá para Selecionar configurações e remova PasswordHash e PasswordSalt.

CRMCustomer Retorna um esquema de 15 colunas do arquivo .crv. CustCustomer Grava apenas 13 colunas depois que o modificador de esquema remove as duas colunas de senha.

A tabela completa

Nome Object type Nome do conjunto de dados Arquivo de dados Tipo de formato Serviço ligado Ficheiro ou pasta
CRMAddress origem DevRaw_CRM_Address Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\CRM\SalesLTAddress.csv
CustAddress lavatório DevEncur_Cust_Address Azure Data Lake Storage Gen2 Parquet devencur Dados\Cliente\Endereço.parquet
CRMCustomer origem DevRaw_CRM_Customer Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\CRM\SalesLTCustomer.csv
CustCustomer lavatório DevEncur_Cust_Customer Azure Data Lake Storage Gen2 Parquet devencur Dados\Cliente\Customer.parquet
CRMCustomerAddress origem DevRaw_CRM_CustomerAddress Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\CRM\SalesLTCustomerAddress.csv
CustCustomerAddress lavatório DevEncur_Cust_CustomerAddress Azure Data Lake Storage Gen2 Parquet devencur Dados\Customer\CustomerAddress.parquet

A tabela ERP para Vendas

Agora, repita etapas semelhantes para criar um pipeline, crie um fluxo de ERP_to_Sales dados para transformar os arquivos .csv na pasta Data\ERP em e copie os arquivos transformados para a pasta Data\Sales em <DLZ-prefix>devencur<DLZ-prefix>devraw.Pipeline_transform_ERP

Na tabela a seguir, você encontrará os objetos a serem criados no ERP_to_Sales fluxo de dados e as configurações que precisa modificar para cada objeto. Cada arquivo .csv é mapeado para um coletor .parquet .

Nome Object type Nome do conjunto de dados Arquivo de dados Tipo de formato Serviço ligado Ficheiro ou pasta
ERPProduct origem DevRaw_ERP_Product Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProduct.csv
SalesProduct lavatório DevEncur_Sales_Product Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\Produto.parquet
ERPProductCategory origem DevRaw_ERP_ProductCategory Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProductCategory.csv
SalesProductCategory lavatório DevEncur_Sales_ProductCategory Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\ProductCategory.parquet
ERPProductDescription origem DevRaw_ERP_ProductDescription Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProductDescription.csv
SalesProductDescription lavatório DevEncur_Sales_ProductDescription Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\ProductDescription.parquet
ERPProductModel origem DevRaw_ERP_ProductModel Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProductModel.csv
SalesProductModel lavatório DevEncur_Sales_ProductModel Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\ProductModel.parquet
ERPProductModelProductDescription origem DevRaw_ERP_ProductModelProductDescription Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProductModelProductDescription.csv
SalesProductModelProductDescription lavatório DevEncur_Sales_ProductModelProductDescription Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\ProductModelProductDescription.parquet
ERPProductSalesOrderDetail origem DevRaw_ERP_ProductSalesOrderDetail Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProductSalesOrderDetail.csv
SalesProductSalesOrderDetail lavatório DevEncur_Sales_ProductSalesOrderDetail Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\ProductSalesOrderDetail.parquet
ERPProductSalesOrderHeader origem DevRaw_ERP_ProductSalesOrderHeader Azure Data Lake Storage Gen2 DelimitadoTexto devraw Data\ERP\SalesLTProductSalesOrderHeader.csv
SalesProductSalesOrderHeader lavatório DevEncur_Sales_ProductSalesOrderHeader Azure Data Lake Storage Gen2 Parquet devencur Dados\Vendas\ProductSalesOrderHeader.parquet

Próximos passos

Clean up resources (Limpar recursos)