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

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

                Author: ASF GitHub Bot
            Created on: 10/Feb/22 18:21
            Start Date: 10/Feb/22 18:21
    Worklog Time Spent: 10m 
      Work Description: mlhamel commented on pull request #15977:
URL: https://github.com/apache/beam/pull/15977#issuecomment-1035282891


   It's mostly for testing but if you feel it's not enought for introducing 
that type of pattern feel free to close that PR and the corresponding issue 
https://issues.apache.org/jira/browse/BEAM-13250.
   
   I tend to prefer having a predefined of injecting those dependencies but I'm 
sure we can find alternatives for better testing our flow.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

    Worklog Id:     (was: 724672)
    Time Spent: 1h 40m  (was: 1.5h)

> 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
>            Assignee: Mathieu Leduc-Hamel
>            Priority: P2
>             Fix For: Not applicable
>
>          Time Spent: 1h 40m
>  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.1#820001)

Reply via email to