Frances Perry created BEAM-895:
----------------------------------
Summary: Transport.newStorageClient requires credentials
Key: BEAM-895
URL: https://issues.apache.org/jira/browse/BEAM-895
Project: Beam
Issue Type: Bug
Components: sdk-java-core
Reporter: Frances Perry
Assignee: Davor Bonaci
Fix For: 0.4.0-incubating
Transport.newStorageClient requires credentials, even if those aren't needed.
Impact: Examples use publicly accessible files on Google Cloud Storage, however
reading those is still requiring the user to authenticate with Google Cloud
Storage.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Unable to get application default
credentials. Please see
https://developers.google.com/accounts/docs/application-default-credentials for
details on how to specify credentials. This version of the SDK is dependent on
the gcloud core component version 2015.02.05 or newer to be able to get
credentials from the currently authorized user via gcloud auth.
at
org.apache.beam.sdk.util.Credentials.getCredential(Credentials.java:123)
at
org.apache.beam.sdk.util.GcpCredentialFactory.getCredential(GcpCredentialFactory.java:43)
at
org.apache.beam.sdk.options.GcpOptions$GcpUserCredentialsFactory.create(GcpOptions.java:264)
at
org.apache.beam.sdk.options.GcpOptions$GcpUserCredentialsFactory.create(GcpOptions.java:254)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.returnDefaultHelper(ProxyInvocationHandler.java:549)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.getDefault(ProxyInvocationHandler.java:490)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:152)
at com.sun.proxy.$Proxy52.getGcpCredential(Unknown Source)
at
org.apache.beam.sdk.util.Transport.newStorageClient(Transport.java:148)
at
org.apache.beam.sdk.util.GcsUtil$GcsUtilFactory.create(GcsUtil.java:96)
at
org.apache.beam.sdk.util.GcsUtil$GcsUtilFactory.create(GcsUtil.java:84)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.returnDefaultHelper(ProxyInvocationHandler.java:549)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.getDefault(ProxyInvocationHandler.java:490)
at
org.apache.beam.sdk.options.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:152)
at com.sun.proxy.$Proxy52.getGcsUtil(Unknown Source)
at
org.apache.beam.sdk.util.GcsIOChannelFactory.match(GcsIOChannelFactory.java:43)
at org.apache.beam.sdk.io.TextIO$Read$Bound.apply(TextIO.java:283)
at org.apache.beam.sdk.io.TextIO$Read$Bound.apply(TextIO.java:195)
at
org.apache.beam.sdk.runners.PipelineRunner.apply(PipelineRunner.java:76)
at
org.apache.beam.runners.direct.DirectRunner.apply(DirectRunner.java:226)
at org.apache.beam.sdk.Pipeline.applyInternal(Pipeline.java:400)
at org.apache.beam.sdk.Pipeline.applyTransform(Pipeline.java:323)
at org.apache.beam.sdk.values.PBegin.apply(PBegin.java:58)
at org.apache.beam.sdk.Pipeline.apply(Pipeline.java:173)
at org.apache.beam.examples.WordCount.main(WordCount.java:195)
... 6 more
Caused by: java.io.IOException: The Application Default Credentials are not
available. They are available if running on Google App Engine, Google Compute
Engine, or Google Cloud Shell. 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.
at
com.google.api.client.googleapis.auth.oauth2.DefaultCredentialProvider.getDefaultCredential(DefaultCredentialProvider.java:98)
at
com.google.api.client.googleapis.auth.oauth2.GoogleCredential.getApplicationDefault(GoogleCredential.java:213)
at
com.google.api.client.googleapis.auth.oauth2.GoogleCredential.getApplicationDefault(GoogleCredential.java:191)
at
org.apache.beam.sdk.util.Credentials.getCredential(Credentials.java:121)
... 30 more
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)