You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2022/06/04 18:22:00 UTC

[GitHub] [beam] damccorm opened a new issue, #20636: Value Provider functionality broken in python sdk

damccorm opened a new issue, #20636:
URL: https://github.com/apache/beam/issues/20636

   Whether using a custom function or an IO connector (test with `WriteToBigQuery`), the dataflow job complains that the runtime value provider `get()` is being called from a non-runtime context:
   
   
   ```
   
   import argparse
   import logging
   
   import apache_beam as beam
   from apache_beam.options.pipeline_options
   import PipelineOptions
   
   
   class ExampleDoF(beam.DoFn):
       def __init__(self, value_provider):
   
          self.value_provider = value_provider
   
       def process(self, el):
           logging.info(f'el:
   {el}')
           logging.info(f'value provider: {self.value_provider.get()}')
           yield el
   
   
   class
   UserOptions(PipelineOptions):
       @classmethod
       def _add_argparse_args(cls, parser):
           parser.add_value_provider_argument('--value_provider',
   type=int)
   
   parser = argparse.ArgumentParser()
   known_args, pipeline_args = parser.parse_known_args()
   pipeline_options
   = PipelineOptions(pipeline_args)
   user_options = pipeline_options.view_as(UserOptions)
   with beam.Pipeline(options=pipeline_options)
   as pipeline:
       results = (
               pipeline
               | beam.Create(['element'])
         
        | beam.ParDo(ExampleDoF(user_options.value_provider))
       )
   
   
   
   ```
   
   
   Imported from Jira [BEAM-10872](https://issues.apache.org/jira/browse/BEAM-10872). Original Jira may contain additional context.
   Reported by: jkarimi.


-- 
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: github-unsubscribe@beam.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org