[ https://issues.apache.org/jira/browse/BEAM-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Halperin closed BEAM-895. -------------------------------- Resolution: Fixed > 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: Pei He > 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)