def insert_or_merge_entity(self, entity):
        '''
        Adds an insert or merge entity operation to the batch. See 
        :func:`~azure.storage.table.tableservice.TableService.insert_or_merge_entity` for more 
        information on insert or merge operations.

        The operation will not be executed until the batch is committed.

        :param entity:
            The entity to insert or merge. Could be a dict or an entity object. 
            Must contain a PartitionKey and a RowKey.
        :type entity: dict or :class:`~azure.storage.table.models.Entity`
        '''

        request = _insert_or_merge_entity(entity, self._require_encryption,
                                          self._key_encryption_key)
        self._add_to_batch(entity['PartitionKey'], entity['RowKey'], request)
Adds an insert or merge entity operation to the batch. See 
        :func:`~azure.storage.table.tableservice.TableService.insert_or_merge_entity` for more 
        information on insert or merge operations.

        The operation will not be executed until the batch is committed.

        :param entity:
            The entity to insert or merge. Could be a dict or an entity object. 
            Must contain a PartitionKey and a RowKey.
        :type entity: dict or :class:`~azure.storage.table.models.Entity`