docs: def export_data_to_uris(
              self,
              destination_uris,
              dataset,
              table,            
              job=None,
              compression=None,
              destination_format=None,
              print_header=None,
              field_delimiter=None,
              project_id=None,
      ):
          """
          Export data from a BigQuery table to cloud storage. Optional arguments
          that are not specified are determined by BigQuery as described:
          https://developers.google.com/bigquery/docs/reference/v2/jobs
  
          Parameters
          ----------
          destination_uris : Union[str, list]
              ``str`` or ``list`` of ``str`` objects representing the URIs on
              cloud storage of the form: gs://bucket/filename
          dataset : str
              String id of the dataset
          table : str
              String id of the table        
          job : str, optional
              String identifying the job (a unique jobid is automatically
              generated if not provided)
          compression : str, optional
              One of the JOB_COMPRESSION_* constants
          destination_format : str, optional
              One of the JOB_DESTination_FORMAT_* constants
          print_header : bool, optional
              Whether or not to print the header
          field_delimiter : str, optional
              Character separating fields in delimited file
          project_id: str, optional
              String id of the project
  
          Returns
          -------
          dict
              A BigQuery job resource
  
          Raises
          ------
          JobInsertException
              On http/auth failures or error in result
          """
          destination_uris = destination_uris \
              if isinstance(destination_uris, list) else [destination_uris]
  
          project_id = self._get_project_id(project_id)
  
          configuration = {
              "sourceTable": {
                  "projectId": project_id,
                  "tableId": table,
                  "datasetId": dataset
              },
              "destinationUris": destination_uris,
          }
  
          if compression:
              configuration['compression'] = compression
  
          if destination_format:
              configuration['destinationFormat'] = destination_format
  
          if print_header is not None:
              configuration['printHeader'] = print_header
  
          if field_delimiter:
              configuration['fieldDelimiter'] = field_delimiter
  
          if not job:
              hex = self._generate_hex_for_uris(destination_uris)
              job = "{dataset}-{table}-{digest}".format(
                  dataset=dataset,
                  table=table,
                  digest=hex
              )
  
          body = {
              "configuration": {
                  'extract': configuration
              },
              "jobReference": self._get_job_reference(job)
          }
  
          logger.info("Creating export job %s" % body)
          job_resource = self._insert_job(body)
          self._raise_insert_exception_if_error(job_resource)
          return job_resource