I've trying to simple access with Apache Beam to Google Cloud storage from Compute Engine VM. Sure, I've set up default application login with command gcloud auth application-default login and add access to the storage for compute engine service account. I've run the pipeline with DirectRunner and got the Error: apache_beam.io.filesystem.BeamIOError: Match operation failed with exceptions {'gs://{THIS MY BUCKETNAME}/source/sales_transactions.csv': HttpForbiddenError()}
#import print library
import logging
#import apache beam library
import apache_beam as beam
#import pipeline options.
from apache_beam.options.pipeline_options import PipelineOptions
#Create a pipeline
plOps = beam.Pipeline(options=PipelineOptions())
#--------------------------------------------------
# 1.Read from a text file.
#--------------------------------------------------
#Read the file from Google Cloud Storage
transactions = ( plOps
| 'Read Transaction CSV'
>> beam.io.ReadFromText('gs://{THIS MY BUCKETNAME}/data/sales_transactions.csv')
)
printSize(transactions,'Raw Transactions')