Dicas para uso do Microsoft Graph Data ConnectTips for using Microsoft Graph data connect

Microsoft Graph Data Connect permite que desenvolvedores criem aplicativos que os clientes podem fornecer acesso gerenciado aos seus conjuntos de dados em escala do Microsoft Graph.Microsoft Graph data connect allows developers to create applications that customers can provide managed access to their at-scale Microsoft Graph datasets. Este artigo fornece dicas para ajudar você a aproveitar os recursos do Data Connect.This article provides tips that will help you take advantage of the data connect feature. Para obter uma introdução ao Microsoft Graph Data Connect, consulte o artigo Visão geral.For an introduction to Microsoft Graph data connect, see the Overview article.

O Microsoft Graph Data Connect é o certo para você?Is Microsoft Graph data connect right for you?

Data Connect e as APIs do Microsoft Graph fornecem acesso para os mesmos dados subjacentes, mas de formas muito diferentes.Data connect and the Microsoft Graph APIs provide access to the same underlying data but in very different ways. Data Connect foi desenvolvido para extrair grandes quantidades de dados em massa, enquanto as APIs do Microsoft Graph são mais adequadas para acessar conjuntos de dados específicos em tempo real.Data connect is designed to extract large amounts of data in bulk while the Microsoft Graph APIs are more suitable for accessing discrete sets of data in real time. Em alguns casos, ainda pode fazer sentido combiná-los.In some cases, it might even make sense to combine them. Por exemplo, convém usar o Data Connect para fazer uma extração inicial de dados de email do último ano e depois usar as APIs do Microsoft Graph para analisar emails em tempo real em diante.For example, you might want use data connect to do an initial extraction of the last year of email data, and then use the Microsoft Graph APIs to analyze emails in real time moving forward. Data Connect e as APIs do Microsoft Graph são ferramentas diferentes para tarefas diferentes.Data connect and the Microsoft Graph APIs are different tools for different jobs. É importante pensar sobre o qual método de acesso melhor se encaixa em seu cenário.It's important to think about which access method best fits your scenario.

Espere uma sobrecarga inicialExpect an initial overhead

Como o Data Connect é projetado para extrair grandes quantidades de dados em massa, alguma sobrecarga é incorrida antes que os dados possam ser extraídos.Because data connect is designed to extract large amounts of data in bulk, some overhead is incurred before the data can be extracted. Essa sobrecarga é de aproximadamente 45 minutos, ou seja, todos os pipelines levarão no mínimo esse tempo, independentemente do tamanho dos dados.This overhead is around 45 minutes, meaning all pipelines will take at least that long regardless of the data size. Isso pode ser um custo insignificante para grandes quantidades de dados, mas se for inaceitável para seu cenário, as APIs do Microsoft Graph podem fornecer uma melhor abordagem.This might be a negligible cost for large amounts of data, but if this time is unacceptable for your scenario, the Microsoft Graph APIs might provide a better approach.

Os dados devem ficar dentro da assinatura da organizaçãoData must stay within the organization's subscription

Os pipelines do Data Connect são organizados pelo Azure Data Factory, um serviço de integração de dados executado em uma assinatura do Azure.Data connect pipelines are orchestrated by Azure Data Factory, a data integration service that runs in an Azure subscription. A assinatura do Azure está associada a exatamente um locatário do Office 365.The Azure subscription is associated with exactly one Office 365 tenant. Dessa forma, os dados devem ter o fluxo associado inicialmente a uma assinatura do Azure.This way, the data must initially flow to an associated Azure subscription. Depois de mais minimalização e agregação, os dados podem ser usados em outro lugar.After further minimalization and aggregation, the data can be used elsewhere.

Se você quiser desenvolver um aplicativo para outras pessoas usarem para extrair os dados do Office 365, você pode compactar o aplicativo como um aplicativo gerenciado do Azure e publicar no Azure Marketplace.If you want to build an app for others to use to extract their Office 365 data, you can package the app as an Azure managed application and publish it to the Azure Marketplace. Em seguida, alguém pode implantar o aplicativo em sua própria assinatura do Azure, e o aplicativo pode acessar dados em seu locatário.Then someone can deploy your app into their own Azure subscription, and the app can access data in their tenant.

Uso de entidades de serviçoUse of service principals

Ao criar o pipeline do Data Factory, você terá que fornecer uma entidade de serviço para o serviço vinculado do Office 365.When creating the Data Factory pipeline, you will have to provide a service principal to the Office 365 linked service. No Azure, uma entidade de serviço é uma identidade de segurança que representa um aplicativo ou serviço (e não um usuário).In Azure, a service principal is a security identity that represents an application/service (as opposed to a user). O Data Connect usa essa entidade de serviço como sua identidade ao receber acesso autorizado aos seus dados do Office 365.Data connect uses this service principal as its identity when getting authorized access to your Office 365 data. Se você criar um Aplicativo Gerenciado do Azure para que outras pessoas usem em seus locatários, você ainda irá fornecer uma entidade de serviço para uso do aplicativo.If you create an Azure Managed Application for others to use in their tenants, you'll still provide a service principal for the app to use. A entidade de serviço ficará armazenado em seu locatário (do fornecedor).This service principal will exist in your (the publisher's) tenant. No entanto, se o aplicativo precisa de outras entidades de serviço, seu cliente (instalador) irá criá-las em seu próprio locatário.However, if the app needs other service principals, your customer (the installer) will create them in their own tenant. Por exemplo, seu pipeline do Data Factory provavelmente precisará de acesso a um recurso de armazenamento no Azure.For example, your Data Factory pipeline will likely need access to a storage resource in Azure. O cliente criaria a entidade de serviço com permissões para a conta de armazenamento para uso do pipeline.The customer would create the service principal with permissions to the storage account for the pipeline to use.

Procure por solicitações pendentes do Privileged Access ManagementCheck for pending Privileged Access Management requests

Antes que o Data Connect possa copiar seus dados, um administrador deve aprovar uma solicitação de Privileged Access Management (PAM).Before data connect can copy your data, an administrator must approve a Privileged Access Management (PAM) request. PAM é o mecanismo que autorizava seu acesso a dados de pipeline aos dados no Office 365.PAM is the mechanism used to authorize your data pipeline access to the data in Office 365. Na primeira vez que acionar um pipeline, irá esperar a aprovação da solicitação de acesso de um administrador do Office 365 (ou representante indicado).The first time you trigger a pipeline, it will wait on an Office 365 administrator (or appointed delegate) to approve the access request. Embora o status do pipeline mostra Em andamento, a atividade de cópia subjacente terá o status ConsentimentoPendente até que o acesso seja aprovado, conforme mostrado na captura de tela a seguir.Although the pipeline status shows In progress, the underlying copy activity will have a status of ConsentPending until approval is granted, as shown in the following screenshot.

Captura de tela do painel de status da execução de pipeline com um status ConsentimentoPendente

Durante o desenvolvimento, é uma boa ideia para garantir que a execução do seu pipeline não fique preso em ConsentimentoPendente, especialmente após alterar seu pipeline.During development, it's a good idea to make sure your pipeline runs aren't stuck on ConsentPending, especially after you make a change to your pipeline. Por exemplo, se você inserir um campo adicional no esquema, a próxima execução de pipeline emitirá uma nova solicitação de PAM que precisa ser aprovada.For example, if you add an additional field to the schema, the next pipeline run will issue a new PAM request that has to be approved. Não desperdice tempo esperando um pipeline que aguarda sua aprovação.Don't waste time waiting on a pipeline that's waiting for your approval.

Aprove solicitações PAM através do portal de administração do Office 365Approve PAM requests via Office 365 admin portal

A documentação do Data Connect mostra como usar o PowerShell e UX do PAM para aprovar solicitações PAM.The data connect documentation shows you how to use PowerShell and the PAM UX to approve PAM requests. Para aprovar usando UX do PAM, acesse a interface PAM no portal de administração do Office 365.To approve using the PAM UX, visit the PAM interface in the Office 365 admin portal. O portal fornece uma maneira simples e fácil para exibir, aprovar, negar, revogar solicitações PAM.The portal provides an easy and user-friendly way to view and approve/deny/revoke PAM requests. Você encontra um link para ele no suplemento do Microsoft Graph Data Connect em Configurações > Serviços e Suplementos > Microsoft Graph Data Connect.You can find a link to it in the Microsoft Graph data connect add-in under Settings > Services & Add-ins > Microsoft Graph data connect.

Usar um segundo usuário para aprovar as solicitações PAMUse a second user to approve PAM requests

Quando você executa um pipeline e aciona uma solicitação PAM, a solicitação é anexada à conta de usuário que é o proprietário de entidade de serviço usada pelo pipeline.When you run a pipeline and trigger a PAM request, the request is attached to your user account that owns the service principal used by the pipeline. Mas mesmo se essa conta for parte do grupo aprovador que você definiu, você não pode usá-la para aprovar a solicitação PAM porque autoaprovações não são permitidas.But even if this account is part of the approver group you set up, you can't use it to approve the PAM request because self-approvals are not allowed. Se você tentar, receberá uma mensagem de erro no portal PAM: "Solicitante e aprovador são iguais.If you try, you'll get an error message in the PAM portal: "Requestor and approver are the same. Não é permitida autoaprovação.”Self-approval is not allowed." Para o desenvolvimento, convém ter uma segunda conta, além da de administrador que aprova as solicitações.For development, you'll want to have a second account in addition to the admin who approves requests. O solicitante e o aprovador devem ter contas ativas do Exchange Online.Both the submitter and the approver must have active Exchange Online accounts.

Elimine a duplicação de emails quando necessárioDeduplicate emails when needed

Quando você extrair emails do conjunto de dados Message, geralmente haverá vários objetos JSON para o mesmo email.When you extract emails from the Message dataset, there will often be multiple JSON objects for the same email. Essas duplicatas existem quando um email é enviado para várias pessoas, há uma cópia do email na caixa de correio de cada destinatário.These duplicates exist because when an email is sent to multiple people, there is a copy of the email in every recipient's mailbox. Como o conjunto de dados é extraído de cada caixa de correio, haverá todas as cópias entre os usuários.Because the dataset is extracted from every mailbox, it will contain all copies across users. Em alguns cenários, talvez seja necessário manter cada cópia, mas em outros talvez você queira remover as duplicatas.In some scenarios, it might be necessary to keep every copy but in others, you may want to remove the duplicates. Você pode eliminar as duplicatas dos objetos JSON exportados baseados em internetMessageId das mensagens: duas mensagens com o mesmo internetMessageId são cópias duplicadas da mesma instância.You can deduplicate the exported JSON objects based on the internetMessageId of the messages: Two messages with the same internetMessageId are duplicate copies of the same instance. Como as duplicatas podem existir em diferentes blobs, você deve eliminar as duplicatas em todos os blobs em vez de fazer isso em cada blob separadamente.Because the duplicates can exist in different blobs, you must deduplicate across all blobs rather than deduplicating in each blob separately.

Use o campo puser para determinar o usuário relevanteUse puser field to determine the relevant user

Os dados extraídos incluem algumas propriedades meta que não existem se forem usadas as APIs correspondentes do Microsoft Graph.The extracted data includes some meta properties that don't exist when using the corresponding Microsoft Graph APIs. Especificamente, o campo puser pode ser útil para determinar de quais usuários os dados foram extraídos.Specifically, the puser field can be useful for determining which user the data was extracted from. No cenário em que você tem duas cópias do mesmo email em caixas de correio diferentes, você pode usar o campo puser para determinar as caixas de correio de origem das cópias.In the scenario where you have two copies of the same email in different mailboxes, you can use the puser field to determine which copy came from which mailbox. O campo puser também é útil para conjuntos de dados, como o conjunto de dados Manager.The puser field is also useful for datasets such as the Manager dataset. JSON exportado inclui informações sobre um gerenciador, mas isso é útil apenas se você souber o que gerenciam.The exported JSON will contain information about a manager, but this is only useful if you know whose manager they are. O campo puser indicará qual gerenciador corresponde ao objeto JSON.The puser field will tell you whose manager that JSON object corresponds to.

Próximos passosNext Steps

Consulte UserVoice para solicitações de recursos.Reach out on UserVoice for feature requests.