libraries/botbuilder-azure/botbuilder/azure/cosmosdb_storage.py
async def read(self, keys: List[str]) -> dict:
        """Read storeitems from storage.

        :param keys:
        :return dict:
        """
        try:
            # check if the database and container exists and if not create
            if not self.__container_exists:
                self.__create_db_and_container()
            if len(keys) > 0:
                # create the parameters object
                parameters = [
                    {'name': f'@id{i}', 'value': f'{self.__sanitize_key(key)}'}
                    for i, key in enumerate(keys)
                    ]
                # get the names of the params
                parameter_sequence = ','.join(param.get('name')
                                              for param in parameters)
                # create the query
                query = {
                    "query":
                    f"SELECT c.id, c.realId, c.document, c._etag \
FROM c WHERE c.id in ({parameter_sequence})",
                    "parameters": parameters
                    }
                options = {'enableCrossPartitionQuery': True}
                # run the query and store the results as a list
                results = list(
                    self.client.QueryItems(
                        self.__container_link, query, options)
                    )
                # return a dict with a key and a StoreItem
                return {
                    r.get('realId'): self.__create_si(r) for r in results
                    }
            else:
                raise Exception('cosmosdb_storage.read(): \
provide at least one key')
        except TypeError as e:
            raise e
async def read(self, keys: List[str]) -> dict:
        try:
            # check if the database and container exists and if not create
            if not self.__container_exists:
                self.__create_db_and_container()
            if len(keys) > 0:
                # create the parameters object
                parameters = [
                    {'name': f'@id{i}', 'value': f'{self.__sanitize_key(key)}'}
                    for i, key in enumerate(keys)
                    ]
                # get the names of the params
                parameter_sequence = ','.join(param.get('name')
                                              for param in parameters)
                # create the query
                query = {
                    "query":
                    f"SELECT c.id, c.realId, c.document, c._etag \
FROM c WHERE c.id in ({parameter_sequence})",
                    "parameters": parameters
                    }
                options = {'enableCrossPartitionQuery': True}
                # run the query and store the results as a list
                results = list(
                    self.client.QueryItems(
                        self.__container_link, query, options)
                    )
                # return a dict with a key and a StoreItem
                return {
                    r.get('realId'): self.__create_si(r) for r in results
                    }
            else:
                raise Exception('cosmosdb_storage.read(): \
provide at least one key')
        except TypeError as e:
            raise e
async def read ( self , keys : List [ str ] ) -> dict : try : # check if the database and container exists and if not create if not self . __container_exists : self . __create_db_and_container ( ) if len ( keys ) > 0 : # create the parameters object parameters = [ { 'name' : f'@id{i}' , 'value' : f'{self.__sanitize_key(key)}' } for i , key in enumerate ( keys ) ] # get the names of the params parameter_sequence = ',' . join ( param . get ( 'name' ) for param in parameters ) # create the query query = { "query" : f"SELECT c.id, c.realId, c.document, c._etag \
FROM c WHERE c.id in ({parameter_sequence})" , "parameters" : parameters } options = { 'enableCrossPartitionQuery' : True } # run the query and store the results as a list results = list ( self . client . QueryItems ( self . __container_link , query , options ) ) # return a dict with a key and a StoreItem return { r . get ( 'realId' ) : self . __create_si ( r ) for r in results } else : raise Exception ( 'cosmosdb_storage.read(): \
provide at least one key' ) except TypeError as e : raise e
Read storeitems from storage.

        :param keys:
        :return dict:
Read storeitems from storage .