Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez partager des données de plusieurs manières traditionnelles, telles que via des partages de fichiers, FTP, e-mail et API. Ces méthodes traditionnelles nécessitent que les deux parties créent et gèrent un pipeline de données qui déplace les données entre les équipes et les organisations. Azure Data Explorer vous permet de partager vos données de manière simple et sécurisée avec des personnes de votre entreprise ou des partenaires externes. Le partage se produit en quasi-temps réel, sans nécessiter la création ou la gestion d’un pipeline de données. Toutes les modifications apportées côté fournisseur à la base de données, notamment celles affectant le schéma et les données, sont instantanément disponibles côté client.
Azure Data Explorer dissocie le stockage et le calcul, ce qui vous permet d’exécuter plusieurs instances de calcul (en lecture seule) sur le même stockage sous-jacent. Vous pouvez attacher une base de données en tant que base de données abonnée, c’est-à-dire une base de données en lecture seule sur un cluster distant.
Configurer le partage de données
Utilisez Azure Data Share pour envoyer et gérer des invitations et des partages au sein de l’entreprise ou avec des partenaires et clients externes. Azure Data Share utilise une base de données abonnée pour créer un lien symbolique entre les clusters Azure Data Explorer du fournisseur et du consommateur. Cette option vous permet de voir et de gérer dans un seul volet tous vos partages de données, qu’ils soient stockés dans des clusters Azure Data Explorer ou dans d’autres services de données. Azure Data Share vous permet également de partager des données entre les organisations dans différents locataires Microsoft Entra.
Remarque
Un administrateur sur les deux clusters peut configurer directement la base de données de suivi avec différentes API. Cette configuration est utile dans les scénarios où vous avez besoin d’un calcul supplémentaire pour effectuer un scale-out pour la création de rapports.
Vous pouvez configurer le partage de données pour les options suivantes :
- La base de données complète (par défaut).
- Certaines tables - Partage au niveau de la table.
Remarque
Quand la relation de partage est établie, Azure Data Share crée un lien symbolique entre le cluster Azure Data Explorer du fournisseur et celui du consommateur. Si le fournisseur de données révoque l’accès, le lien symbolique est supprimé et les bases de données partagées ne sont plus disponibles pour le consommateur de données.
Le fournisseur de données peut partager les données au niveau de la base de données ou du cluster. Le cluster qui partage la base de données est le cluster leader et celui qui reçoit le partage est le cluster abonné. Un cluster abonné peut suivre une ou plusieurs bases de données d’un cluster leader. Le cluster abonné se synchronise à intervalles réguliers pour vérifier si des modifications ont été apportées. Le décalage entre le leader et l’abonné varie de quelques secondes à quelques minutes en fonction de la taille globale des métadonnées et des données. Les données sont mises en cache sur le cluster consommateur et ne sont disponibles que pour les opérations de lecture ou d’interrogation, à l’exception du remplacement de la stratégie de mise en cache à chaud et des autorisations de base de données. Les requêtes s’exécutant sur le cluster abonné se servent du cache local et n’utilisent pas les ressources du cluster leader.
Prérequis
- Un abonnement Azure. Créez un compte Azure gratuit.
- Un cluster et une base de données Azure Data Explorer pour le leader et l’abonné. Créez un cluster et une base de données.
- La base de données du leader doit contenir des données. Vous pouvez ingérer des données en tirant parti de l’une des méthodes présentées dans Vue d’ensemble de l’ingestion.
Flux du partage de données
- Le fournisseur utilise sa ressource Azure Data Share pour partager une base de données complète ou une table donnée, et pour spécifier l’adresse e-mail du destinataire.
- Azure Data Share envoie une invitation par e-mail au destinataire.
- Le destinataire ouvre l’invitation par e-mail et sélectionne sa ressource Azure Data Share.
- Le destinataire utilise Azure Data Share pour mapper la base de données ou la table partagée vers le cluster approprié.
Fournisseur de données
Le fournisseur de données peut partager une base de données complète ou une table spécifique avec le destinataire.
Partage d’une base de données complète
Suivez les instructions de la vidéo pour créer un compte Azure Data Share, ajouter un jeu de données et envoyer une invitation.
Partage de tables
Vous pouvez utiliser un modèle Azure Resource Manager pour partager une ou plusieurs tables via Azure Data Share.
Pour partager des tables, effectuez les étapes suivantes :
- Créez un modèle et définissez les paramètres appropriés pour le jeu de données et les restrictions de table, puis spécifiez le destinataire de l’invitation. Utilisez les informations du tableau suivant pour configurer le modèle.
Paramètres généraux
| Paramètre | Description | Exemple |
|---|---|---|
| accountName | Nom du compte Azure Data Share du fournisseur. | |
| emplacement | L’emplacement de toutes les ressources. Le responsable et l’abonné doivent se trouver au même emplacement. | |
| shareName | Nom du partage que vous créez sur le compte de partage de données. | |
| recipientEmail | Adresse e-mail du destinataire Azure Data Share. |
Paramètres de base de données
| Paramètre | Description | Exemple |
|---|---|---|
| databaseName | Nom de la base de données du fournisseur. | |
| databaseResourceId | ID de ressource de la base de données du fournisseur. |
Paramètres de table et d’affichage
| Paramètre | Description | Exemple |
|---|---|---|
| tablesExternesÀExclure | Liste des tables externes à exclure. Pour exclure toutes les tables externes, utilisez [« * »]. | ["ExternalTable1ToExclude", "ExternalTable2ToExclude"] |
| externalTablesToInclude | Liste des tables externes à inclure. Pour inclure toutes les tables externes commençant par « Logs », utilisez [« Logs* »]. | ["ExternalTable1ToInclude", "ExternalTable2ToInclude"] |
| vues matérialisées à exclure | Liste des vues matérialisées à exclure. Pour exclure toutes les vues matérialisées, utilisez [« * »]. | ["Mv11ToExclude", "Mv22ToExclude"] |
| vuesMatérialiséesÀInclure | Liste des vues matérialisées à inclure. Pour inclure toutes les vues matérialisées commençant par « Logs », utilisez [« Logs* »]. | ["Mv1ToInclude", "Mv2ToInclude"] |
| tablesÀExclure | Liste des tables à exclure. Pour exclure toutes les tables, utilisez [« * »]. | ["table1ToExclude", "table2ToExclude"] |
| tablesÀInclure | Liste des tables à inclure. Pour inclure toutes les tables, utilisez [« * »]. | ["table1ToInclude", "table2ToInclude"] |
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"accountName": { "type": "String" },
"location": { "defaultValue": "[resourceGroup().location]", "type": "String" },
"shareName": { "type": "String" },
"recipientEmail": { "type": "String" },
"databaseName": { "type": "String" },
"databaseResourceId": { "type": "String" },
"externalTablesToExclude": { "type": "Array" },
"externalTablesToInclude": { "type": "Array" },
"materializedViewsToExclude": { "type": "Array" },
"materializedViewsToInclude": { "type": "Array" },
"tablesToExclude": { "type": "Array" },
"tablesToInclude": { "type": "Array" }
},
"variables": {
"invitationSuffix": "[replace(replace(parameters('recipientEmail'),'@', '_'), '.', '_')]"
},
"resources": [
{
"type": "Microsoft.DataShare/accounts",
"apiVersion": "2021-08-01",
"name": "[parameters('accountName')]",
"location": "[parameters('location')]",
"identity": {
"type": "SystemAssigned"
},
"properties": {}
},
{
"type": "Microsoft.DataShare/accounts/shares",
"apiVersion": "2021-08-01",
"name": "[concat(parameters('accountName'), '/' , parameters('shareName'))]",
"dependsOn": [
"[resourceId('Microsoft.DataShare/accounts', parameters('accountName'))]"
],
"properties": {
"shareKind": "InPlace"
}
},
{
"type": "Microsoft.DataShare/accounts/shares/invitations",
"apiVersion": "2021-08-01",
"name": "[concat(parameters('accountName'), '/', parameters('shareName'), '/', concat(parameters('shareName'), variables('invitationSuffix')))]",
"dependsOn": [
"[resourceId('Microsoft.DataShare/accounts/shares', parameters('accountName'), parameters('shareName'))]",
"[resourceId('Microsoft.DataShare/accounts', parameters('accountName'))]"
],
"properties": {
"targetEmail": "[parameters('recipientEmail')]"
}
},
{
"type": "Microsoft.DataShare/accounts/shares/dataSets",
"apiVersion": "2021-08-01",
"name": "[concat(parameters('accountName'), '/', parameters('shareName'), '/', parameters('databaseName'))]",
"dependsOn": [
"[resourceId('Microsoft.DataShare/accounts/shares', parameters('accountName'), parameters('shareName'))]",
"[resourceId('Microsoft.DataShare/accounts', parameters('accountName'))]"
],
"kind": "KustoTable",
"properties": {
"kustoDatabaseResourceId": "[parameters('databaseResourceId')]",
"tableLevelSharingProperties": {
"externalTablesToExclude": "[parameters('externalTablesToExclude')]",
"externalTablesToInclude": "[parameters('externalTablesToInclude')]",
"materializedViewsToExclude": "[parameters('materializedViewsToExclude')]",
"materializedViewsToInclude": "[parameters('materializedViewsToInclude')]",
"tablesToExclude": "[parameters('tablesToExclude')]",
"tablesToInclude": "[parameters('tablesToInclude')]"
}
}
}
]
}
Déployez le modèle Azure Resource Manager à l’aide du portail Azure ou de PowerShell.
Consommateur de données : recevoir des données
Suivez les instructions de la vidéo pour accepter l’invitation, créer un compte de partage de données et mapper au cluster consommateur.
Le consommateur de données peut maintenant accéder à son cluster Azure Data Explorer pour accorder des autorisations utilisateur aux bases de données partagées et accéder aux données. Les données ingérées à l’aide de l’ingestion en file d’attente dans le cluster source Azure Data Explorer apparaissent sur le cluster cible en quelques secondes à quelques minutes.