-
Notifications
You must be signed in to change notification settings - Fork 766
Open
Labels
content/incorrect-informationContent in the docs is incorrectContent in the docs is incorrect
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
Metadata
Metadata
Assignees
Labels
content/incorrect-informationContent in the docs is incorrectContent in the docs is incorrect