Hello,
The default kafka ingress for remote functions, does require a key
component. The key is being translated to the 'id' part of the
receiving function address.
If your functions are stateless, or the id doesn't have a meaning for you,
you can simply provide a random id.

I hope that helps,
Igal.

On Thu, Feb 10, 2022 at 3:08 PM mrAlexTFB <mralex...@gmail.com> wrote:

> Hello,
>
> I am following the example in Python Walkthrough
> <https://nightlies.apache.org/flink/flink-statefun-docs-release-2.0/getting-started/python_walkthrough.html#what-are-you-building>,
> I downloaded the zip file with the project skeleton. I'm having a problem
> when changing the key attribute in the function producer.send to none.
> From:
>
> def produce():
>     if len(sys.argv) == 2:
>         delay_seconds = int(sys.argv[1])
>     else:
>         delay_seconds = 1
>     producer = KafkaProducer(bootstrap_servers=[KAFKA_BROKER])
>     for request in random_requests():
>         key = request.name.encode('utf-8')
>         val = request.SerializeToString()
>         producer.send(topic='names', key=key, value=val)
>         producer.flush()
>         time.sleep(delay_seconds)
>
> To:
>
> def produce():
>     if len(sys.argv) == 2:
>         delay_seconds = int(sys.argv[1])
>     else:
>         delay_seconds = 1
>     producer = KafkaProducer(bootstrap_servers=[KAFKA_BROKER])
>     for request in random_requests():
>         key = request.name.encode('utf-8')
>         val = request.SerializeToString()
>         producer.send(topic='names', key=None, value=val)
>         producer.flush()
>         time.sleep(delay_seconds)
>
> After doing this the consumer is not displaying anything.
>
> I modified python code so the message arrived is printed and it is not
> being printed here, I suppose that the problem could be a bad configuration
> in module.yaml file?
>
> I understand that by putting key=None the topic partition will be chosen
> randomly, that was the behaviour that I was aiming for as I do not need any
>  ordering in the messages.
>
> Do I need any additional configuration in this walkthrough to achieve this?
>
> Thank you very much in advance.
>
>
>

Reply via email to