Esempio n. 1
0
 def __new__(cls, storage_client=None):
     if storage_client:
         return super(GcsIO, cls).__new__(cls, storage_client)
     else:
         # Create a single storage client for each thread.  We would like to avoid
         # creating more than one storage client for each thread, since each
         # initialization requires the relatively expensive step of initializing
         # credentaials.
         local_state = threading.local()
         if getattr(local_state, 'gcsio_instance', None) is None:
             credentials = auth.get_service_credentials()
             storage_client = storage.StorageV1(credentials=credentials)
             local_state.gcsio_instance = (super(GcsIO, cls).__new__(
                 cls, storage_client))
             local_state.gcsio_instance.client = storage_client
         return local_state.gcsio_instance
Esempio n. 2
0
 def __init__(self, options, environment_version):
     """Initializes a Dataflow API client object."""
     self.standard_options = options.view_as(StandardOptions)
     self.google_cloud_options = options.view_as(GoogleCloudOptions)
     self.environment_version = environment_version
     if self.google_cloud_options.no_auth:
         credentials = None
     else:
         credentials = get_service_credentials()
     self._client = dataflow.DataflowV1b3(
         url=self.google_cloud_options.dataflow_endpoint,
         credentials=credentials,
         get_credentials=(not self.google_cloud_options.no_auth))
     self._storage_client = storage.StorageV1(
         url='https://www.googleapis.com/storage/v1',
         credentials=credentials,
         get_credentials=(not self.google_cloud_options.no_auth))