def test_hash_v2_partition_key_definition(self): created_container = self.created_db.create_container( id='container_with_pkd_v2' + str(uuid.uuid4()), partition_key=partition_key.PartitionKey(path="/id", kind="Hash") ) created_container_properties = created_container.read() self.assertEquals(created_container_properties['partitionKey']['version'], 2) self.created_db.delete_container(created_container) created_container = self.created_db.create_container( id='container_with_pkd_v2' + str(uuid.uuid4()), partition_key=partition_key.PartitionKey(path="/id", kind="Hash", version=2) ) created_container_properties = created_container.read() self.assertEquals(created_container_properties['partitionKey']['version'], 2) self.created_db.delete_container(created_container)
def run_sample(): client = cosmos_client.CosmosClient(HOST, {'masterKey': MASTER_KEY}) try: # setup database for this sample try: db = client.create_database(id=DATABASE_ID) except exceptions.CosmosResourceExistsError: raise RuntimeError("Database with id '{}' already exists".format(DATABASE_ID)) # setup container for this sample try: container = db.create_container( id=CONTAINER_ID, partition_key=partition_key.PartitionKey(path='/address/state', kind=documents.PartitionKind.Hash) ) print('Container with id \'{0}\' created'.format(CONTAINER_ID)) except exceptions.CosmosResourceExistsError: raise RuntimeError("Container with id '{}' already exists".format(CONTAINER_ID)) create_items(container, 100) read_change_feed(container) # cleanup database after sample try: client.delete_database(db) except exceptions.CosmosResourceNotFoundError: pass except exceptions.CosmosHttpResponseError as e: print('\nrun_sample has caught an error. {0}'.format(e.message)) finally: print("\nrun_sample done")
def create_container(self, cname, pk, throughput): try: self.reset_record_diagnostics() self._ctrproxy = self._dbproxy.create_container( id=cname, partition_key=partition_key.PartitionKey(path=pk), offer_throughput=throughput, populate_query_metrics=self._query_metrics, response_hook=self._record_diagnostics) return self._ctrproxy # <class 'azure.cosmos.container.ContainerProxy'> except exceptions.CosmosResourceExistsError: return self.set_container(cname) except: return None
def run_sample(): with IDisposable(cosmos_client.CosmosClient(HOST, {'masterKey': MASTER_KEY} )) as client: try: # setup database for this sample try: db = client.create_database(id=DATABASE_ID) except errors.HTTPFailure as e: if e.status_code == 409: pass else: raise errors.HTTPFailure(e.status_code) # setup container for this sample try: container = db.create_container( id=CONTAINER_ID, partition_key=partition_key.PartitionKey(path='/address/state', kind=documents.PartitionKind.Hash) ) print('Container with id \'{0}\' created'.format(CONTAINER_ID)) except errors.HTTPFailure as e: if e.status_code == 409: print('Container with id \'{0}\' was found'.format(CONTAINER_ID)) else: raise errors.HTTPFailure(e.status_code) ChangeFeedManagement.CreateItems(container, 100) ChangeFeedManagement.ReadChangeFeed(container) # cleanup database after sample try: client.delete_database(db) except errors.CosmosError as e: if e.status_code == 404: pass else: raise errors.HTTPFailure(e.status_code) except errors.HTTPFailure as e: print('\nrun_sample has caught an error. {0}'.format(e.message)) finally: print("\nrun_sample done")