class_docstr: Specifies the request expected by the process route.
  
  Note that all underscores in field names are replaced by dashes in the JSON.
class_docstr_tok: ["Specifies","the","request","expected","by","the","process","route",".","Note","that","all","underscores","in","field","names","are","replaced","by","dashes","in","the","JSON","."]
code: def _download_from_gcs(self, gcs_file: str, local_file: str):
      client = storage.Client()
      bucket_name, blob_name = self._split_gcs_path(gcs_file)
      bucket = client.bucket(bucket_name)
      target_blob = bucket.blob(blob_name)
      start_time = time.time()
      target_blob.download_to_filename(local_file)
      end_time = time.time()
      app.logger.info(
          "Downloaded %s to %s in %f seconds.",
          gcs_file,
          local_file,
          end_time - start_time,
      )
  
imports: import os
  from os import path
  import time
  from typing import Dict, List, Tuple, Union
  from common import datatypes
  import dataclasses
  import flask
  import zmq
  from google.cloud import storage
label_desc: Use image node_id 11 for calling the JobRequest obj's underlying member method code with example usage: obj._download_from_gcs(gcs_file, local_file) without return types