Aracılığıyla paylaş


Data Sources - Create Or Update

Yeni bir veri kaynağı oluşturur veya zaten varsa bir veri kaynağını güncelleştirir.

PUT {endpoint}/datasources('{dataSourceName}')?api-version=2024-07-01

URI Parametreleri

Name İçinde Gerekli Tür Description
dataSourceName
path True

string

Oluşturulacak veya güncelleştirilecek veri kaynağının adı.

endpoint
path True

string

Arama hizmetinin uç nokta URL'si.

api-version
query True

string

İstemci Api Sürümü.

İstek Başlığı

Name Gerekli Tür Description
x-ms-client-request-id

string

uuid

Hata ayıklamaya yardımcı olmak için istekle birlikte gönderilen izleme kimliği.

If-Match

string

If-Match koşulunu tanımlar. İşlem yalnızca sunucudaki ETag bu değerle eşleşiyorsa gerçekleştirilir.

If-None-Match

string

If-None-Match koşulunu tanımlar. İşlem yalnızca sunucudaki ETag bu değerle eşleşmiyorsa gerçekleştirilir.

Prefer True

string

HTTP PUT istekleri için, hizmete başarılı olduğunda oluşturulan/güncelleştirilen kaynağı döndürmesini bildirir.

İstek Gövdesi

Name Gerekli Tür Description
container True

SearchIndexerDataContainer

Veri kaynağının veri kapsayıcısı.

credentials True

DataSourceCredentials

Veri kaynağının kimlik bilgileri.

name True

string

Veri kaynağının adı.

type True

SearchIndexerDataSourceType

Veri kaynağının türü.

@odata.etag

string

Veri kaynağının ETag'i.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Veri kaynağı için veri değişikliği algılama ilkesi.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Veri kaynağı için veri silme algılama ilkesi.

description

string

Veri kaynağının açıklaması.

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault'ta oluşturduğunuz bir şifreleme anahtarının açıklaması. Bu anahtar, veri kaynağı tanımınızın şifresini microsoft bile olmayan hiç kimsenin çözemediğinin tam güvencesini istediğinizde veri kaynağı tanımınız için bekleyen ek bir şifreleme düzeyi sağlamak için kullanılır. Veri kaynağı tanımınızı şifreledikten sonra her zaman şifrelenmiş olarak kalır. Arama hizmeti bu özelliği null olarak ayarlama girişimlerini yoksayar. Şifreleme anahtarınızı döndürmek istiyorsanız bu özelliği gerektiği gibi değiştirebilirsiniz; Veri kaynağı tanımınız etkilenmez. Müşteri tarafından yönetilen anahtarlarla şifreleme, ücretsiz arama hizmetlerinde kullanılamaz ve yalnızca 1 Ocak 2019 veya sonrasında oluşturulan ücretli hizmetler için kullanılabilir.

Yanıtlar

Name Tür Description
200 OK

SearchIndexerDataSource

201 Created

SearchIndexerDataSource

Other Status Codes

ErrorResponse

Hata yanıtı.

Örnekler

SearchServiceCreateOrUpdateDataSource

Örnek isteği

PUT https://myservice.search.windows.net/datasources('mydatasource')?api-version=2024-07-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": null
  }
}

Örnek yanıt

{
  "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": null
  }
}
{
  "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": null
  }
}

Tanımlar

Name Description
AzureActiveDirectoryApplicationCredentials

Arama hizmetiniz için oluşturulan ve Azure Key Vault'ta depolanan şifreleme anahtarlarına kimliği doğrulanmış erişim için kullanılan kayıtlı bir uygulamanın kimlik bilgileri.

DataSourceCredentials

Bir veri kaynağına bağlanmak için kullanılabilecek kimlik bilgilerini temsil eder.

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

ErrorDetail

Hata ayrıntısı.

ErrorResponse

Hata yanıtı

HighWaterMarkChangeDetectionPolicy

Yüksek su işareti sütununun değerine göre değişiklikleri yakalayan bir veri değişikliği algılama ilkesi tanımlar.

SearchIndexerDataContainer

Dizine eklenecek varlık (Azure SQL tablosu veya CosmosDB koleksiyonu gibi) hakkındaki bilgileri temsil eder.

SearchIndexerDataSource

Dizin oluşturucu yapılandırmak için kullanılabilecek bir veri kaynağı tanımını temsil eder.

SearchIndexerDataSourceType

Veri kaynağının türünü tanımlar.

SearchResourceEncryptionKey

Azure Key Vault'ta müşteri tarafından yönetilen bir şifreleme anahtarı. Oluşturduğunuz ve yönettiğiniz anahtarlar, dizinler ve eş anlamlı haritalar gibi bekleyen verileri şifrelemek veya şifresini çözmek için kullanılabilir.

SoftDeleteColumnDeletionDetectionPolicy

Geçici silme stratejisi uygulayan bir veri silme algılama ilkesi tanımlar. Belirtilen 'geçici silme' sütununun değerine göre bir öğenin silinip silinmeyeceğini belirler.

SqlIntegratedChangeTrackingPolicy

Azure SQL Veritabanı'nın Tümleşik Değişiklik İzleme özelliğini kullanarak değişiklikleri yakalayan bir veri değişikliği algılama ilkesi tanımlar.

AzureActiveDirectoryApplicationCredentials

Arama hizmetiniz için oluşturulan ve Azure Key Vault'ta depolanan şifreleme anahtarlarına kimliği doğrulanmış erişim için kullanılan kayıtlı bir uygulamanın kimlik bilgileri.

Name Tür Description
applicationId

string

Bekleyen verilerinizi şifrelerken kullanılacak Azure Key Vault'a gerekli erişim izinleri verilmiş bir AAD Uygulama Kimliği. Uygulama Kimliği, AAD Uygulamanızın Nesne Kimliği ile karıştırılmamalıdır.

applicationSecret

string

Belirtilen AAD uygulamasının kimlik doğrulama anahtarı.

DataSourceCredentials

Bir veri kaynağına bağlanmak için kullanılabilecek kimlik bilgilerini temsil eder.

Name Tür Description
connectionString

string

Veri kaynağının bağlantı dizesi. Bağlantı dizesinin güncelleştirilmesini istemiyorsanız <unchanged> (köşeli ayraçlarla) olarak ayarlayın. Veri kaynağından bağlantı dizesi değerini kaldırmak istiyorsanız <redacted> olarak ayarlayın.

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

Name Tür Description
info

object

Ek bilgiler.

type

string

Ek bilgi türü.

ErrorDetail

Hata ayrıntısı.

Name Tür Description
additionalInfo

ErrorAdditionalInfo[]

Hata ek bilgileri.

code

string

Hata kodu.

details

ErrorDetail[]

Hata ayrıntıları.

message

string

Hata iletisi.

target

string

Hata hedefi.

ErrorResponse

Hata yanıtı

Name Tür Description
error

ErrorDetail

Hata nesnesi.

HighWaterMarkChangeDetectionPolicy

Yüksek su işareti sütununun değerine göre değişiklikleri yakalayan bir veri değişikliği algılama ilkesi tanımlar.

Name Tür Description
@odata.type string:

#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy

Veri değişikliği algılama ilkesinin türünü belirten bir URI parçası.

highWaterMarkColumnName

string

Yüksek su işareti sütununun adı.

SearchIndexerDataContainer

Dizine eklenecek varlık (Azure SQL tablosu veya CosmosDB koleksiyonu gibi) hakkındaki bilgileri temsil eder.

Name Tür Description
name

string

Dizine eklenecek tablo veya görünümün (Azure SQL veri kaynağı için) veya koleksiyonun (CosmosDB veri kaynağı için) adı.

query

string

Bu veri kapsayıcısına uygulanan sorgu. Bu parametrenin söz dizimi ve anlamı veri kaynağına özgüdür. Azure SQL veri kaynakları tarafından desteklenmez.

SearchIndexerDataSource

Dizin oluşturucu yapılandırmak için kullanılabilecek bir veri kaynağı tanımını temsil eder.

Name Tür Description
@odata.etag

string

Veri kaynağının ETag'i.

container

SearchIndexerDataContainer

Veri kaynağının veri kapsayıcısı.

credentials

DataSourceCredentials

Veri kaynağının kimlik bilgileri.

dataChangeDetectionPolicy DataChangeDetectionPolicy:

Veri kaynağı için veri değişikliği algılama ilkesi.

dataDeletionDetectionPolicy DataDeletionDetectionPolicy:

SoftDeleteColumnDeletionDetectionPolicy

Veri kaynağı için veri silme algılama ilkesi.

description

string

Veri kaynağının açıklaması.

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault'ta oluşturduğunuz bir şifreleme anahtarının açıklaması. Bu anahtar, veri kaynağı tanımınızın şifresini microsoft bile olmayan hiç kimsenin çözemediğinin tam güvencesini istediğinizde veri kaynağı tanımınız için bekleyen ek bir şifreleme düzeyi sağlamak için kullanılır. Veri kaynağı tanımınızı şifreledikten sonra her zaman şifrelenmiş olarak kalır. Arama hizmeti bu özelliği null olarak ayarlama girişimlerini yoksayar. Şifreleme anahtarınızı döndürmek istiyorsanız bu özelliği gerektiği gibi değiştirebilirsiniz; Veri kaynağı tanımınız etkilenmez. Müşteri tarafından yönetilen anahtarlarla şifreleme, ücretsiz arama hizmetlerinde kullanılamaz ve yalnızca 1 Ocak 2019 veya sonrasında oluşturulan ücretli hizmetler için kullanılabilir.

name

string

Veri kaynağının adı.

type

SearchIndexerDataSourceType

Veri kaynağının türü.

SearchIndexerDataSourceType

Veri kaynağının türünü tanımlar.

Name Tür Description
adlsgen2

string

ADLS 2. Nesil veri kaynağını gösterir.

azureblob

string

Azure Blob veri kaynağını gösterir.

azuresql

string

Azure SQL veri kaynağını gösterir.

azuretable

string

Azure Tablo veri kaynağını gösterir.

cosmosdb

string

CosmosDB veri kaynağını gösterir.

mysql

string

MySql veri kaynağını gösterir.

SearchResourceEncryptionKey

Azure Key Vault'ta müşteri tarafından yönetilen bir şifreleme anahtarı. Oluşturduğunuz ve yönettiğiniz anahtarlar, dizinler ve eş anlamlı haritalar gibi bekleyen verileri şifrelemek veya şifresini çözmek için kullanılabilir.

Name Tür Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Azure Key Vault'unuza erişmek için kullanılan isteğe bağlı Azure Active Directory kimlik bilgileri. Bunun yerine yönetilen kimlik kullanılıyorsa gerekli değildir.

keyVaultKeyName

string

Bekleyen verilerinizi şifrelemek için kullanılacak Azure Key Vault anahtarınızın adı.

keyVaultKeyVersion

string

Bekleyen verilerinizi şifrelemek için kullanılacak Azure Key Vault anahtarınızın sürümü.

keyVaultUri

string

Bekleyen verilerinizi şifrelemek için kullanılacak anahtarı içeren, DNS adı olarak da adlandırılan Azure Key Vault URI'sidir. Örnek bir URI https://my-keyvault-name.vault.azure.netolabilir.

SoftDeleteColumnDeletionDetectionPolicy

Geçici silme stratejisi uygulayan bir veri silme algılama ilkesi tanımlar. Belirtilen 'geçici silme' sütununun değerine göre bir öğenin silinip silinmeyeceğini belirler.

Name Tür Description
@odata.type string:

#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy

Veri silme algılama ilkesinin türünü belirten bir URI parçası.

softDeleteColumnName

string

Geçici silme algılaması için kullanılacak sütunun adı.

softDeleteMarkerValue

string

Bir öğeyi silinmiş olarak tanımlayan işaretçi değeri.

SqlIntegratedChangeTrackingPolicy

Azure SQL Veritabanı'nın Tümleşik Değişiklik İzleme özelliğini kullanarak değişiklikleri yakalayan bir veri değişikliği algılama ilkesi tanımlar.

Name Tür Description
@odata.type string:

#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy

Veri değişikliği algılama ilkesinin türünü belirten bir URI parçası.