Data Sources - Create

Crée une source de données.

POST {endpoint}/datasources?api-version=2023-11-01

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string

URL du point de terminaison du service de recherche.

api-version
query True

string

Version de l’API cliente.

En-tête de la demande

Nom Obligatoire Type Description
x-ms-client-request-id

string

uuid

ID de suivi envoyé avec la demande pour faciliter le débogage.

Corps de la demande

Nom Obligatoire Type Description
container True

SearchIndexerDataContainer

Conteneur de données pour la source de données.

credentials True

DataSourceCredentials

Informations d’identification pour la source de données.

name True

string

Nom de la source de données.

type True

SearchIndexerDataSourceType

Type de la source de données.

@odata.etag

string

ETag de la source de données.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Stratégie de détection des modifications de données pour la source de données.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Stratégie de détection de suppression de données pour la source de données.

description

string

Description de la source de données.

encryptionKey

SearchResourceEncryptionKey

Description d’une clé de chiffrement que vous créez dans Azure Key Vault. Cette clé est utilisée pour fournir un niveau supplémentaire de chiffrement au repos pour votre définition de source de données lorsque vous souhaitez avoir l’assurance que personne, pas même Microsoft, ne peut déchiffrer votre définition de source de données. Une fois que vous avez chiffré votre définition de source de données, elle reste toujours chiffrée. Le service de recherche ignore les tentatives de définition de cette propriété sur null. Vous pouvez modifier cette propriété si nécessaire si vous souhaitez faire pivoter votre clé de chiffrement ; Votre définition de source de données ne sera pas affectée. Le chiffrement avec des clés gérées par le client n’est pas disponible pour les services de recherche gratuits et est uniquement disponible pour les services payants créés à partir du 1er janvier 2019.

Réponses

Nom Type Description
201 Created

SearchIndexerDataSource

Other Status Codes

SearchError

Réponse d’erreur.

Exemples

SearchServiceCreateDataSource

Sample Request

POST https://myservice.search.windows.net/datasources?api-version=2023-11-01

{
  "name": "mydocdbdatasource",
  "description": "My Cosmos DB data source.",
  "type": "cosmosdb",
  "credentials": {
    "connectionString": "AccountEndpoint=https://myDocDbEndpoint.documents.azure.com;AccountKey=myDocDbAuthKey;Database=myDocDbDatabaseId"
  },
  "container": {
    "name": "myDocDbCollectionId",
    "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "_ts"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "<applicationSecret>"
    }
  }
}

Sample Response

{
  "name": "mydocdbdatasource",
  "description": "My Cosmos DB data source.",
  "type": "cosmosdb",
  "credentials": {
    "connectionString": null
  },
  "container": {
    "name": "myDocDbCollectionId",
    "query": "SELECT c.id, c.userId, tag, c._ts FROM c JOIN tag IN c.tags WHERE c._ts >= @HighWaterMark ORDER BY c._ts"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "_ts"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": null
    }
  }
}

Définitions

Nom Description
AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisées pour l’accès authentifié aux clés de chiffrement stockées dans Azure Key Vault.

DataSourceCredentials

Représente les informations d'identification qui peuvent être utilisées pour se connecter à une source de données.

HighWaterMarkChangeDetectionPolicy

Définit une stratégie de détection des modifications de données qui capture les modifications en fonction de la valeur d’une colonne de limite élevée.

SearchError

Décrit une condition d’erreur pour l’API.

SearchIndexerDataContainer

Représente des informations sur l’entité (par exemple, Azure SQL table ou la collection CosmosDB) qui sera indexée.

SearchIndexerDataSource

Représente une définition de source de données, qui peut être utilisée pour configurer un indexeur.

SearchIndexerDataSourceType

Définit le type d’une source de données.

SearchResourceEncryptionKey

Une clé de chiffrement gérée par le client dans Azure Key Vault. Les clés que vous créez et gérez peuvent être utilisées pour chiffrer ou déchiffrer les données au repos sur votre service de recherche, telles que les index et les mappages de synonymes.

SoftDeleteColumnDeletionDetectionPolicy

Définit une stratégie de détection de suppression de données qui implémente une stratégie de suppression réversible. Il détermine si un élément doit être supprimé en fonction de la valeur d’une colonne « suppression réversible » désignée.

SqlIntegratedChangeTrackingPolicy

Définit une stratégie de détection des modifications de données qui capture les modifications à l’aide de la fonctionnalité de Change Tracking intégrée de Azure SQL Base de données.

AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisées pour l’accès authentifié aux clés de chiffrement stockées dans Azure Key Vault.

Nom Type Description
applicationId

string

ID d’application AAD disposant des autorisations d’accès requises à l’Key Vault Azure à utiliser lors du chiffrement de vos données au repos. L’ID d’application ne doit pas être confondu avec l’ID d’objet de votre application AAD.

applicationSecret

string

Clé d’authentification de l’application AAD spécifiée.

DataSourceCredentials

Représente les informations d'identification qui peuvent être utilisées pour se connecter à une source de données.

Nom Type Description
connectionString

string

Chaîne de connexion pour la source de données. Définissez sur <unchanged> (entre crochets) si vous ne souhaitez pas mettre à jour le chaîne de connexion. Définissez sur <redacted> si vous souhaitez supprimer la valeur chaîne de connexion de la source de données.

HighWaterMarkChangeDetectionPolicy

Définit une stratégie de détection des modifications de données qui capture les modifications en fonction de la valeur d’une colonne de limite élevée.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Fragment d’URI spécifiant le type de stratégie de détection des modifications de données.

highWaterMarkColumnName

string

Nom de la colonne de point d’eau élevé.

SearchError

Décrit une condition d’erreur pour l’API.

Nom Type Description
code

string

Un des ensembles de codes d’erreur définis par le serveur.

details

SearchError[]

Tableau de détails sur les erreurs spécifiques qui ont conduit à cette erreur signalée.

message

string

Représentation lisible de l’erreur.

SearchIndexerDataContainer

Représente des informations sur l’entité (par exemple, Azure SQL table ou la collection CosmosDB) qui sera indexée.

Nom Type Description
name

string

Nom de la table ou de la vue (pour Azure SQL source de données) ou de la collection (pour la source de données CosmosDB) qui sera indexée.

query

string

Requête appliquée à ce conteneur de données. La syntaxe et la signification de ce paramètre sont spécifiques à la source de données. Non pris en charge par Azure SQL sources de données.

SearchIndexerDataSource

Représente une définition de source de données, qui peut être utilisée pour configurer un indexeur.

Nom Type Description
@odata.etag

string

ETag de la source de données.

container

SearchIndexerDataContainer

Conteneur de données pour la source de données.

credentials

DataSourceCredentials

Informations d’identification pour la source de données.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Stratégie de détection des modifications de données pour la source de données.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Stratégie de détection de suppression de données pour la source de données.

description

string

Description de la source de données.

encryptionKey

SearchResourceEncryptionKey

Description d’une clé de chiffrement que vous créez dans Azure Key Vault. Cette clé est utilisée pour fournir un niveau supplémentaire de chiffrement au repos pour votre définition de source de données lorsque vous souhaitez avoir l’assurance que personne, pas même Microsoft, ne peut déchiffrer votre définition de source de données. Une fois que vous avez chiffré votre définition de source de données, elle reste toujours chiffrée. Le service de recherche ignore les tentatives de définition de cette propriété sur null. Vous pouvez modifier cette propriété si nécessaire si vous souhaitez faire pivoter votre clé de chiffrement ; Votre définition de source de données ne sera pas affectée. Le chiffrement avec des clés gérées par le client n’est pas disponible pour les services de recherche gratuits et est uniquement disponible pour les services payants créés à partir du 1er janvier 2019.

name

string

Nom de la source de données.

type

SearchIndexerDataSourceType

Type de la source de données.

SearchIndexerDataSourceType

Définit le type d’une source de données.

Nom Type Description
adlsgen2

string

Indique une source de données ADLS Gen2.

azureblob

string

Indique une source de données d’objet blob Azure.

azuresql

string

Indique une source de données SQL Azure.

azuretable

string

Indique une source de données Table Azure.

cosmosdb

string

Indique une source de données CosmosDB.

mysql

string

Indique une source de données MySql.

SearchResourceEncryptionKey

Une clé de chiffrement gérée par le client dans Azure Key Vault. Les clés que vous créez et gérez peuvent être utilisées pour chiffrer ou déchiffrer les données au repos sur votre service de recherche, telles que les index et les mappages de synonymes.

Nom Type Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Informations d’identification Azure Active Directory facultatives utilisées pour accéder à votre Key Vault Azure. Non obligatoire si vous utilisez une identité managée à la place.

keyVaultKeyName

string

Nom de votre clé de Key Vault Azure à utiliser pour chiffrer vos données au repos.

keyVaultKeyVersion

string

La version de votre clé Azure Key Vault à utiliser pour chiffrer vos données au repos.

keyVaultUri

string

URI de votre Key Vault Azure, également appelé nom DNS, qui contient la clé à utiliser pour chiffrer vos données au repos. Un exemple d’URI pourrait être https://my-keyvault-name.vault.azure.net.

SoftDeleteColumnDeletionDetectionPolicy

Définit une stratégie de détection de suppression de données qui implémente une stratégie de suppression réversible. Il détermine si un élément doit être supprimé en fonction de la valeur d’une colonne « suppression réversible » désignée.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Fragment d’URI spécifiant le type de stratégie de détection de suppression de données.

softDeleteColumnName

string

Nom de la colonne à utiliser pour la détection de suppression réversible.

softDeleteMarkerValue

string

Valeur de marqueur qui identifie un élément comme supprimé.

SqlIntegratedChangeTrackingPolicy

Définit une stratégie de détection des modifications de données qui capture les modifications à l’aide de la fonctionnalité de Change Tracking intégrée de Azure SQL Base de données.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Fragment d’URI spécifiant le type de stratégie de détection des modifications de données.