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")