[ 
https://issues.apache.org/jira/browse/BEAM-13250?focusedWorklogId=770468&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-770468
 ]

ASF GitHub Bot logged work on BEAM-13250:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/May/22 04:33
            Start Date: 14/May/22 04:33
    Worklog Time Spent: 10m 
      Work Description: BigJerBD commented on PR #17455:
URL: https://github.com/apache/beam/pull/17455#issuecomment-1126637509

   Closing this PR since a similar change seems to have been merged to master : 
   
   currently on master:
   ```python
   # sdks/python/apache_beam/io/gcp/gcsfilesystem.py ...
    def _gcsIO(self):
       return gcsio.GcsIO(pipeline_options=self._pipeline_options)
   ```




Issue Time Tracking
-------------------

    Worklog Id:     (was: 770468)
    Time Spent: 4h  (was: 3h 50m)

> GCSFileSystem is not facilitating injection of the gcs url
> ----------------------------------------------------------
>
>                 Key: BEAM-13250
>                 URL: https://issues.apache.org/jira/browse/BEAM-13250
>             Project: Beam
>          Issue Type: Improvement
>          Components: io-py-gcp
>    Affects Versions: 2.33.0
>            Reporter: Mathieu Leduc-Hamel
>            Priority: P2
>             Fix For: Not applicable
>
>          Time Spent: 4h
>  Remaining Estimate: 0h
>
> Inside `apache_beam.io.gcp.gcsfilesystem.GCSFileSystem` is directly 
> instantiating for every operations an instance of 
> `apache_beam.io.gcp.gcsio.GcsIO` without allowing anyone to make use of the 
> flexibility of instantiating with a custom client storage.
> As you can see inside `GcsIO` there's an optional parameter called 
> `storage_client` and that would give us the possibility to overwrite the 
> storage client by example depending of the run level and potentially make use 
> of a Gcs emulator locally when testing the infrastructure.
> Right now the only way we have to overwrite the gcs url is by monkey patching 
> the default storage which is not most clean way of doing it.
>  
> Potential solution:
> If `GCSFileSystem` was transformed by example by adding a single class method 
> to generate every one of thse `GcsIO`, that would give us the possibility to 
> create a custom `GCSFileSystem` class, inheriting from it, without 
> duplicating all of it's code and to inject our desired url depending of the 
> run level.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to