- 
                Notifications
    You must be signed in to change notification settings 
- Fork 778
Open
Labels
Milestone
Description
Describe the issue
Example for outbox in python seems to be errored. It assumes we can, via python SDK, do:
  await client.state.transaction(DAPR_STORE_NAME, ops);but:
== APP ==     c.state.save(
== APP == AttributeError: 'DaprClient' object has no attribute 'state'Indeed python SDK does not provide this state attribute.
So I tried:
    c.save_state(
        store_name=DAPR_STORE_NAME,
        key="test",
        value='{ "say": "hello world from outbox-metadata" }',
        state_metadata={  "outbox.projection": "true" },
        metadata=(("outbox.projection", "true"),)
    )But despite my efforts in injecting metadatas, I could not see any outbox message in my outbox topic.
Only way I found to get a message in outbox topic is to use transactions:
    transaction_operation = TransactionalStateOperation(
        operation_type=TransactionOperationType.upsert,
        key="1",
        data='{ "say": "hello world from outbox transaction" }',
    )
    c.execute_state_transaction(
        store_name=DAPR_STORE_NAME,
        operations=[transaction_operation],
        transactional_metadata={ 'datacontenttype': 'application/json'},
        metadata= (('datacontenttype', 'application/json'),)
    )I made this project where you can find full code and logs: https://github.com/jseguillon/dapr-outbox-python
URL of the docs
Expected content
A working Python example for outbox with metadata like example for others langages
Screenshots
metadata:
transaction:
Additional context

