Copier des données vers un index de recherche Azure AI à l’aide d’Azure Data Factory ou de Synapse Analytics

S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics

Conseil

Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !

Cet article explique comment utiliser l’activité de copie dans un pipeline Azure Data Factory ou Synapse Analytics pour copier des données vers un index de recherche Azure AI. Il s’appuie sur l’article Vue d’ensemble de l’activité de copie.

Fonctionnalités prises en charge

Ce connecteur Recherche Azure AI est pris en charge pour les fonctionnalités suivantes :

Fonctionnalités prises en charge IR Point de terminaison privé managé
Activité de copie (-/récepteur)

① Runtime d’intégration Azure ② Runtime d’intégration auto-hébergé

Vous pouvez copier des données à partir de toute banque de données source prise en charge dans l’index de recherche. Pour obtenir la liste des banques de données prises en charge en tant que sources ou récepteurs par l’activité de copie, consultez le tableau Banques de données prises en charge.

Prise en main

Pour effectuer l’activité Copie avec un pipeline, vous pouvez vous servir de l’un des outils ou kits SDK suivants :

Créer un service lié à Azure Search à l’aide de l’interface utilisateur

Utilisez les étapes suivantes pour créer un service lié à Azure Search dans l’interface utilisateur du portail Azure.

  1. Accédez à l’onglet Gérer dans votre espace de travail Azure Data Factory ou Synapse et sélectionnez Services liés, puis cliquez sur Nouveau :

  2. Recherchez Search et sélectionnez le connecteur recherche Azure Search.

    Select the Azure Search connector.

  3. Configurez les informations du service, testez la connexion et créez le nouveau service lié.

    Configure a linked service to Azure Search.

Informations de configuration des connecteurs

Les sections suivantes fournissent des informations détaillées sur les propriétés utilisées pour définir des entités Data Factory spécifiques du connecteur Recherche Azure AI.

Propriétés du service lié

Les propriétés prises en charge pour le service lié Recherche Azure AI sont les suivantes :

Propriété Description Obligatoire
type La propriété type doit être définie sur AzureSearch Oui
url URL du service de recherche. Oui
key Clé d’administration du service de recherche. Marquez ce champ en tant que SecureString afin de le stocker en toute sécurité, ou référencez un secret stocké dans Azure Key Vault. Oui
connectVia Runtime d’intégration à utiliser pour la connexion à la banque de données. Vous pouvez utiliser runtime d’intégration Azure ou un runtime d’intégration auto-hébergé (si votre banque de données se trouve dans un réseau privé). À défaut de spécification, le runtime d’intégration Azure par défaut est utilisé. Non

Important

Lors de la copie de données d’une banque de données cloud vers l’index de recherche, dans le service lié Recherche Azure AI, vous devez référencer un runtime d’intégration Azure avec une région explicite dans connactVia. Définissez la région comme celle où réside votre service de recherche. En savoir plus dans Integration Runtime Azure.

Exemple :

{
    "name": "AzureSearchLinkedService",
    "properties": {
        "type": "AzureSearch",
        "typeProperties": {
            "url": "https://<service>.search.windows.net",
            "key": {
                "type": "SecureString",
                "value": "<AdminKey>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propriétés du jeu de données

Pour obtenir la liste complète des sections et propriétés disponibles pour la définition de jeux de données, consultez l’article sur les jeux de données. Cette section fournit la liste des propriétés prises en charge par le jeu de données Recherche Azure AI.

Pour copier des données dans Recherche Azure AI, les propriétés suivantes sont prises en charge :

Propriété Description Obligatoire
type La propriété type du jeu de données doit être définie sur AzureSearchIndex Oui
indexName Nom de l’index de recherche. Le service ne crée pas l’index. L’index doit exister dans Recherche Azure AI. Oui

Exemple :

{
    "name": "AzureSearchIndexDataset",
    "properties": {
        "type": "AzureSearchIndex",
        "typeProperties" : {
            "indexName": "products"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Azure AI Search linked service name>",
            "type": "LinkedServiceReference"
        }
   }
}

Propriétés de l’activité de copie

Pour obtenir la liste complète des sections et des propriétés disponibles pour la définition des activités, consultez l’article Pipelines. Cette section fournit la liste des propriétés prises en charge par la source Recherche Azure AI.

Recherche Azure AI en tant que récepteur

Pour copier des données vers Recherche Azure AI, définissez AzureSearchIndexSink comme type de source dans l’activité de copie. Les propriétés prises en charge dans la section sink (récepteur) de l’activité de copie sont les suivantes :

Propriété Description Obligatoire
type La propriété type de la source d’activité de copie doit être définie sur AzureSearchIndexSink Oui
writeBehavior Indique s’il convient de procéder à une fusion ou à un remplacement lorsqu’un document existe déjà dans l’index. Voir la propriété WriteBehavior.

Valeurs autorisées : Merge (par défaut) et Upload.
Non
writeBatchSize Charge des données dans l’index de recherche lorsque la taille de la mémoire tampon atteint writeBatchSize. Pour plus d’informations, voir la propriété WriteBatchSize.

Valeurs autorisées : entier de 1 à 1000 ; la valeur par défaut est 1000.
Non
maxConcurrentConnections La limite supérieure de connexions simultanées établies au magasin de données pendant l’exécution de l’activité. Spécifiez une valeur uniquement lorsque vous souhaitez limiter les connexions simultanées. Non

Propriété WriteBehavior

AzureSearchSink effectue une opération d’upsert lors de l’écriture des données. En d’autres termes, lorsque vous écrivez un document, si la clé du document existe déjà dans l’index Recherche, Recherche Azure AI met à jour le document existant au lieu de lever une exception de conflit.

AzureSearchSink fournit les deux comportements upsert suivants (en utilisant le Kit de développement logiciel (SDK) AzureSearch) :

  • Fusion : combine toutes les colonnes du nouveau document avec celles du document existant. Pour les colonnes ayant une valeur Null dans le nouveau document, la valeur de celles du document existant est conservée.
  • Chargement  : Le nouveau document remplace le document existant. Pour les colonnes qui ne sont pas spécifiées dans le nouveau document, la valeur est définie sur Null qu’il existe ou non une valeur autre que Null dans le document existant.

Fusion est le comportement par défaut.

Propriété WriteBatchSize

Le service Recherche Azure AI prend en charge l’écriture de documents sous forme d’un lot. Un lot peut contenir 1 à 1 000 actions. Une action gère un document pour effectuer l’opération de chargement/fusion.

Exemple :

"activities":[
    {
        "name": "CopyToAzureSearch",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure AI Search output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureSearchIndexSink",
                "writeBehavior": "Merge"
            }
        }
    }
]

Prise en charge des types de données

Le tableau suivant indique si un type de données Recherche Azure AI est pris en charge ou non.

Type de données Recherche Azure AI Pris en charge dans le récepteur de l’index Recherche Azure AI
Chaîne O
Int32 O
Int64 O
Double O
Boolean O
DataTimeOffset O
Tableau de chaînes N
GeographyPoint N

Les autres types de données, par exemple ComplexType, ne sont pas pris en charge pour le moment. Pour obtenir la liste complète des types de données pris en charge par le service Recherche Azure AI, consultez Types de données pris en charge (Recherche Azure AI).

Pour obtenir une liste des magasins de données pris en charge comme sources et récepteurs par l’activité de copie, consultez la section sur les magasins de données pris en charge.