async def _prepare_indexer(self, endpoint, api_key, name="sample-indexer", ds_name="sample-datasource", id_name="hotels"): con_str = self.settings.AZURE_STORAGE_CONNECTION_STRING self.scrubber.register_name_pair(con_str, 'connection_string') credentials = DataSourceCredentials(connection_string=con_str) container = DataContainer(name='searchcontainer') data_source = DataSource( name=ds_name, type="azureblob", credentials=credentials, container=container ) client = SearchServiceClient(endpoint, AzureKeyCredential(api_key)) ds_client = client.get_datasources_client() ds = await ds_client.create_datasource(data_source) index_name = id_name fields = [ { "name": "hotelId", "type": "Edm.String", "key": True, "searchable": False }] index = Index(name=index_name, fields=fields) ind_client = client.get_indexes_client() ind = await ind_client.create_index(index) return Indexer(name=name, data_source_name=ds.name, target_index_name=ind.name)
async def create_indexer(): # create an index index_name = "hotels" fields = [ SimpleField(name="hotelId", type=edm.String, key=True), SimpleField(name="baseRate", type=edm.Double) ] index = Index(name=index_name, fields=fields) ind_client = service_client.get_indexes_client() async with ind_client: await ind_client.create_index(index) # [START create_indexer_async] # create a datasource ds_client = service_client.get_datasources_client() credentials = DataSourceCredentials(connection_string=connection_string) container = DataContainer(name='searchcontainer') ds = DataSource(name="async-indexer-datasource", type="azureblob", credentials=credentials, container=container) async with ds_client: data_source = await ds_client.create_datasource(ds) # create an indexer indexer = Indexer(name="async-sample-indexer", data_source_name="async-indexer-datasource", target_index_name="hotels") async with indexers_client: result = await indexers_client.create_indexer(indexer) print("Create new Indexer - async-sample-indexer")
async def create_data_source(): # [START create_data_source_async] credentials = DataSourceCredentials(connection_string=connection_string) container = DataContainer(name='searchcontainer') data_source = DataSource(name="async-sample-datasource", type="azureblob", credentials=credentials, container=container) async with service_client: result = await service_client.create_datasource(data_source) print("Create new Data Source - async-sample-datasource")
def _create_datasource(self, name="sample-datasource"): credentials = DataSourceCredentials(connection_string=CONNECTION_STRING) container = DataContainer(name='searchcontainer') data_source = DataSource( name=name, type="azureblob", credentials=credentials, container=container ) return data_source
def create_data_source(): # [START create_data_source] credentials = DataSourceCredentials(connection_string=connection_string) container = DataContainer(name='searchcontainer') data_source = DataSource(name="sample-datasource", type="azureblob", credentials=credentials, container=container) result = client.create_datasource(data_source) print(result) print("Create new Data Source - sample-datasource")