[ 
https://issues.apache.org/jira/browse/BEAM-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15987151#comment-15987151
 ] 

Luke Cwik commented on BEAM-2101:
---------------------------------

No, if we fail to get application default credentials, just continue without 
credentials using a special credential initializer [1], and if we get a 401, 
then we throw that message:
The Application Default Credentials are not available. They are available if 
running in Google Compute Engine. Otherwise, the environment variable 
GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the 
credentials. See 
https://developers.google.com/accounts/docs/application-default-credentials for 
more information

1: 
https://github.com/apache/beam/blob/master/sdks/java/extensions/gcp-core/src/main/java/org/apache/beam/sdk/extensions/gcp/auth/NullCredentialInitializer.java

> Reading public GCS files requires authentication
> ------------------------------------------------
>
>                 Key: BEAM-2101
>                 URL: https://issues.apache.org/jira/browse/BEAM-2101
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py
>            Reporter: Ahmet Altay
>
> cc: [~sb2nov]
> [[email protected]] reported this on hackathon, while running wordcount. 
> Even though plain gsutil works fine on the public file, wordcount fails. It 
> is possible that some other authentication is required as part of the 
> validation.
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "apache_beam/io/textio.py", line 390, in __init__
>     skip_header_lines=skip_header_lines)
>   File "apache_beam/io/textio.py", line 89, in __init__
>     validate=validate)
>   File "apache_beam/io/filebasedsource.py", line 103, in __init__
>     self._validate()
>   File "apache_beam/utils/value_provider.py", line 101, in _f
>     return fnc(self, *args, **kwargs)
>   File "apache_beam/io/filebasedsource.py", line 163, in _validate
>     match_result = FileSystems.match([pattern], limits=[1])[0]
>   File "apache_beam/io/filesystems.py", line 81, in match
>     return filesystem.match(patterns, limits)
>   File "apache_beam/io/gcp/gcsfilesystem.py", line 100, in match
>     raise BeamIOError("Match operation failed", exceptions)
> apache_beam.io.filesystem.BeamIOError: Match operation failed with exceptions 
> {'gs://apache-beam-samples/shakespeare/hamlet.txt': 
> ApplicationDefaultCredentialsError('The Application Default Credentials are 
> not available. They are available if running in Google Compute Engine. 
> Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be 
> defined pointing to a file defining the credentials. See 
> https://developers.google.com/accounts/docs/application-default-credentials 
> for more information.',)}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to