code: def commit(self, project_id, mode, mutations, transaction=None):
          
          request_pb = _datastore_pb2.CommitRequest(
              project_id=project_id,
              mode=mode,
              transaction=transaction,
              mutations=mutations,
          )
          return _rpc(
              self.client._http,
              project_id,
              "commit",
              self.client._base_url,
              request_pb,
              _datastore_pb2.CommitResponse,
          )
docs: Perform a ``commit`` request.
  
          :type project_id: str
          :param project_id: The project to connect to. This is
                             usually your project name in the cloud console.
  
          :type mode: :class:`.gapic.datastore.v1.enums.CommitRequest.Mode`
          :param mode: The type of commit to perform. Expected to be one of
                       ``TRANSACTIONAL`` or ``NON_TRANSACTIONAL``.
  
          :type mutations: list
          :param mutations: List of :class:`.datastore_pb2.Mutation`, the
                            mutations to perform.
  
          :type transaction: bytes
          :param transaction: (Optional) The transaction ID returned from
                              :meth:`begin_transaction`.  Non-transactional
                              commits must pass :data:`None`.
  
          :rtype: :class:`.datastore_pb2.CommitResponse`
          :returns: The returned protobuf response object.