Data Sources - Create Or Update

Crée une nouvelle source de données ou met à jour une source de données si elle existe déjà.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2025-08-01-preview
PUT {endpoint}/datasources('{dataSourceName}')?api-version=2025-08-01-preview&ignoreResetRequirements={ignoreResetRequirements}

Paramètres URI

Nom Dans Obligatoire Type Description
dataSourceName
path True

string

Nom de la source de données à créer ou à mettre à jour.

endpoint
path True

string

URL du point de terminaison du service de recherche.

api-version
query True

string

Version de l’API client.

ignoreResetRequirements
query

boolean

Ignore les exigences de réinitialisation du cache.

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 aider au débogage.

If-Match

string

Définit la condition If-Match. L’opération ne sera effectuée que si l’ETag sur le serveur correspond à cette valeur.

If-None-Match

string

Définit la condition If-None-Match. L’opération ne sera effectuée que si l’ETag sur le serveur ne correspond pas à cette valeur.

Prefer True

string

Pour les requêtes HTTP PUT, indique au service de renvoyer la ressource créée/mise à jour en cas de réussite.

Corps de la demande

Nom Obligatoire Type Description
container True

SearchIndexerDataContainer

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

credentials True

DataSourceCredentials

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

name True

string

Nom de la source de données.

type True

SearchIndexerDataSourceType

Type de 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:

Stratégie de détection de suppression des 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 voulez avoir l’assurance totale que personne, pas même Microsoft, ne peut déchiffrer votre définition de source de données. Une fois que vous avez chiffré la définition de votre source de données, celle-ci 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 ; La définition de votre source de données n’est pas affectée. Le chiffrement à l’aide de clés gérées par le client n’est pas disponible pour les services de recherche gratuits et n’est disponible que pour les services payants créés à partir du 1er janvier 2019.

identity SearchIndexerDataIdentity:

Identité managée explicite à utiliser pour cette source de données. S’il n’est pas spécifié et que la chaîne de connexion est une identité managée, l’identité managée affectée par le système est utilisée. Si elle n’est pas spécifiée, la valeur reste inchangée. Si « none » est spécifié, la valeur de cette propriété est effacée.

indexerPermissionOptions

IndexerPermissionOption[]

Options d’ingestion avec différents types de données d’autorisation.

Réponses

Nom Type Description
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Réponse d’erreur.

Exemples

SearchServiceCreateOrUpdateDataSource

Exemple de requête

PUT https://previewexampleservice.search.windows.net/datasources('tempdatasource')?api-version=2025-08-01-preview&ignoreResetRequirements=





{
  "name": "tempdatasource",
  "description": "My Azure Adls Gen2 data source with ACLs.",
  "type": "adlsgen2",
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "adls-gen2-doc-extraction-acl",
    "query": "folder_has_final_acl"
  },
  "identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
  },
  "indexerPermissionOptions": [
    "userIds",
    "groupIds",
    "rbacScope"
  ],
  "dataChangeDetectionPolicy": {
    "highWaterMarkColumnName": "metadata_storage_last_modified",
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy"
  },
  "dataDeletionDetectionPolicy": {
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true",
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy"
  },
  "@odata.etag": "0x1234568AE7E58A1"
}

Exemple de réponse

{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "tempdatasource",
  "description": "My Azure Adls Gen2 data source with ACLs.",
  "type": "adlsgen2",
  "indexerPermissionOptions": [
    "userIds",
    "groupIds",
    "rbacScope"
  ],
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "adls-gen2-doc-extraction-acl",
    "query": "folder_has_final_acl"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "metadata_storage_last_modified"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
  }
}
{
  "@odata.etag": "0x1234568AE7E58A1",
  "name": "tempdatasource",
  "description": "My Azure Adls Gen2 data source with ACLs.",
  "type": "adlsgen2",
  "indexerPermissionOptions": [
    "userIds",
    "groupIds",
    "rbacScope"
  ],
  "credentials": {
    "connectionString": "DefaultEndpointsProtocol=https;AccountName=myAccountName;AccountKey=myAccountKey;EndpointSuffix=core.windows.net "
  },
  "container": {
    "name": "adls-gen2-doc-extraction-acl",
    "query": "folder_has_final_acl"
  },
  "dataChangeDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
    "highWaterMarkColumnName": "metadata_storage_last_modified"
  },
  "dataDeletionDetectionPolicy": {
    "@odata.type": "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
    "softDeleteColumnName": "isDeleted",
    "softDeleteMarkerValue": "true"
  },
  "identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataNoneIdentity"
  }
}

Définitions

Nom Description
AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisée 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.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

ErrorDetail

Détail de l’erreur.

ErrorResponse

Réponse d’erreur

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 supérieure.

IndexerPermissionOption

Options avec différents types de données d’autorisation à indexer.

NativeBlobSoftDeleteDeletionDetectionPolicy

Définit une stratégie de détection de suppression de données à l’aide de la fonctionnalité de suppression réversible native de Stockage Blob Azure pour la détection de suppression.

SearchIndexerDataContainer

Représente des informations sur l’entité (telle qu’une table Azure SQL ou une collection CosmosDB) qui sera indexée.

SearchIndexerDataNoneIdentity

Efface la propriété identity d’une source de données.

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.

SearchIndexerDataUserAssignedIdentity

Spécifie l’identité d’une source de données à utiliser.

SearchResourceEncryptionKey

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 des données au repos, telles que des index et des cartes de synonymes.

SoftDeleteColumnDeletionDetectionPolicy

Définit une stratégie de détection de suppression des 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 suivi des modifications intégré d’Azure SQL Database.

AzureActiveDirectoryApplicationCredentials

Informations d’identification d’une application inscrite créée pour votre service de recherche, utilisée 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 qui a reçu les autorisations d’accès requises à Azure Key Vault à 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 la valeur ( <unchanged> avec crochets) si vous ne souhaitez pas que la chaîne de connexion soit mise à jour. Définissez la valeur sur <redacted> si vous souhaitez supprimer la valeur de la chaîne de connexion de la source de données.

ErrorAdditionalInfo

Informations supplémentaires sur l’erreur de gestion des ressources.

Nom Type Description
info

object

Informations supplémentaires.

type

string

Type d’informations supplémentaire.

ErrorDetail

Détail de l’erreur.

Nom Type Description
additionalInfo

ErrorAdditionalInfo[]

Informations supplémentaires sur l’erreur.

code

string

Code d'erreur.

details

ErrorDetail[]

Détails de l’erreur.

message

string

Message d’erreur.

target

string

Cible d’erreur.

ErrorResponse

Réponse d’erreur

Nom Type Description
error

ErrorDetail

Objet d’erreur.

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 supérieure.

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 la ligne des hautes eaux.

IndexerPermissionOption

Options avec différents types de données d’autorisation à indexer.

Valeur Description
userIds

Indexeur pour ingérer les userIds de l’ACL de la source de données à l’index.

groupIds

Indexeur pour ingérer les groupIds ACL de la source de données vers l’index.

rbacScope

Indexeur pour ingérer l’étendue RBAC Azure de la source de données à l’index.

NativeBlobSoftDeleteDeletionDetectionPolicy

Définit une stratégie de détection de suppression de données à l’aide de la fonctionnalité de suppression réversible native de Stockage Blob Azure pour la détection de suppression.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.NativeBlobSoftDeleteDeletionDetectionPolicy

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

SearchIndexerDataContainer

Représente des informations sur l’entité (telle qu’une table Azure SQL ou une collection CosmosDB) qui sera indexée.

Nom Type Description
name

string

Nom de la table ou de la vue (pour la source de données Azure SQL) 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 les sources de données SQL Azure.

SearchIndexerDataNoneIdentity

Efface la propriété identity d’une source de données.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.DataNoneIdentity

Fragment d’URI spécifiant le type d’identité.

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 de la source de données.

credentials

DataSourceCredentials

Informations d’identification 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:

Stratégie de détection de suppression des 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 voulez avoir l’assurance totale que personne, pas même Microsoft, ne peut déchiffrer votre définition de source de données. Une fois que vous avez chiffré la définition de votre source de données, celle-ci 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 ; La définition de votre source de données n’est pas affectée. Le chiffrement à l’aide de clés gérées par le client n’est pas disponible pour les services de recherche gratuits et n’est disponible que pour les services payants créés à partir du 1er janvier 2019.

identity SearchIndexerDataIdentity:

Identité managée explicite à utiliser pour cette source de données. S’il n’est pas spécifié et que la chaîne de connexion est une identité managée, l’identité managée affectée par le système est utilisée. Si elle n’est pas spécifiée, la valeur reste inchangée. Si « none » est spécifié, la valeur de cette propriété est effacée.

indexerPermissionOptions

IndexerPermissionOption[]

Options d’ingestion avec différents types de données d’autorisation.

name

string

Nom de la source de données.

subType

string

Un type spécifique de la source de données, dans le cas où la ressource est capable de différentes modalités. Par exemple, 'MongoDb' pour certains comptes 'cosmosDb'.

type

SearchIndexerDataSourceType

Type de source de données.

SearchIndexerDataSourceType

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

Valeur Description
azuresql

Indique une source de données SQL Azure.

cosmosdb

Indique une source de données CosmosDB.

azureblob

Indique une source de données Blob Azure.

azuretable

Indique une source de données de table Azure.

mysql

Indique une source de données MySql.

adlsgen2

Indique une source de données ADLS Gen2.

onelake

Indique une source de données Microsoft Fabric OneLake.

SearchIndexerDataUserAssignedIdentity

Spécifie l’identité d’une source de données à utiliser.

Nom Type Description
@odata.type string:

#Microsoft.Azure.Search.DataUserAssignedIdentity

Fragment d’URI spécifiant le type d’identité.

userAssignedIdentity

string

ID de ressource Azure complet d’un utilisateur affecté à une identité managée, généralement sous la forme « /subscriptions/12345678-1234-1234-1234-1234567890ab/resourceGroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId » qui aurait dû être attribué au service de recherche.

SearchResourceEncryptionKey

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 des données au repos, telles que des index et des cartes de synonymes.

Nom Type Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Informations d’identification Azure Active Directory facultatives utilisées pour accéder à votre coffre de clés Azure. Non requis si vous utilisez l’identité managée à la place.

identity SearchIndexerDataIdentity:

Identité managée explicite à utiliser pour cette clé de chiffrement. S’il n’est pas spécifié et que la propriété d’informations d’identification d’accès est nulle, l’identité managée affectée par le système est utilisée. Lors de la mise à jour de la ressource, si l’identité explicite n’est pas spécifiée, elle reste inchangée. Si « none » est spécifié, la valeur de cette propriété est effacée.

keyVaultKeyName

string

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

keyVaultKeyVersion

string

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

keyVaultUri

string

URI de votre Azure Key Vault, é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 des 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 des 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 suivi des modifications intégré d’Azure SQL Database.

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.