diff --git a/daprdocs/content/en/python-sdk-docs/python-client.md b/daprdocs/content/en/python-sdk-docs/python-client.md index 04d0d8b33..19e290e68 100644 --- a/daprdocs/content/en/python-sdk-docs/python-client.md +++ b/daprdocs/content/en/python-sdk-docs/python-client.md @@ -33,11 +33,16 @@ The Python SDK allows you to interface with all of the [Dapr building blocks]({{ from dapr.clients import DaprClient with DaprClient() as d: - resp = d.invoke_method(id='service-to-invoke', method='method-to-invoke', data='{"message":"Hello World"}') + # invoke a method (gRPC or HTTP GET) + resp = d.invoke_method('service-to-invoke', 'method-to-invoke', data='{"message":"Hello World"}') + + # for other HTTP verbs the verb must be specified + # invoke a 'POST' method (HTTP only) + resp = d.invoke_method('service-to-invoke', 'method-to-invoke', data='{"id":"100", "FirstName":"Value", "LastName":"Value"}', http_verb='post') ``` - For a full guide on service invocation visit [How-To: Invoke a service]({{< ref howto-invoke-discover-services.md >}}). -- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/daprdocs-setup/examples/invoke-simple) for code samples and instructions to try out service invocation +- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/master/examples/invoke-simple) for code samples and instructions to try out service invocation ### Save & get application state @@ -56,9 +61,11 @@ with DaprClient() as d: ``` - For a full list of state operations visit [How-To: Get & save state]({{< ref howto-get-save-state.md >}}). -- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/daprdocs-setup/examples/state_store) for code samples and instructions to try out state management +- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/master/examples/state_store) for code samples and instructions to try out state management + +### Publish & subscribe to messages -### Publish messages +##### Publish messages ```python from dapr.clients import DaprClient @@ -67,8 +74,24 @@ with DaprClient() as d: resp = d.publish_event(pubsub_name='pubsub', topic='TOPIC_A', data='{"message":"Hello World"}') ``` +##### Subscribe to messages + +```python +from cloudevents.sdk.event import v1 +from dapr.ext.grpc import App +import json + +app = App() + +@app.subscribe(pubsub_name='pubsub', topic='TOPIC_A') +def mytopic(event: v1.Event) -> None: + data = json.loads(event.Data()) + print(f'Received: id={data["id"]}, message="{data ["message"]}"' + ' content_type="{event.content_type}"',flush=True) +``` + - For a full list of state operations visit [How-To: Publish & subscribe]({{< ref howto-publish-subscribe.md >}}). -- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/daprdocs-setup/examples/pubsub-simple) for code samples and instructions to try out pub/sub +- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/master/examples/pubsub-simple) for code samples and instructions to try out pub/sub ### Interact with output bindings @@ -80,7 +103,7 @@ with DaprClient() as d: ``` - For a full guide on output bindings visit [How-To: Use bindings]({{< ref howto-bindings.md >}}). -- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/daprdocs-setup/examples/invoke-binding) for code samples and instructions to try out output bindings +- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/master/examples/invoke-binding) for code samples and instructions to try out output bindings ### Retrieve secrets @@ -92,7 +115,7 @@ with DaprClient() as d: ``` - For a full guide on secrets visit [How-To: Retrieve secrets]({{< ref howto-secrets.md >}}). -- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/daprdocs-setup/examples/secret_store) for code samples and instructions to try out retrieving secrets +- Visit [Python SDK examples](https://github.com/dapr/python-sdk/tree/master/examples/secret_store) for code samples and instructions to try out retrieving secrets ## Related links -- [Python SDK examples](https://github.com/dapr/python-sdk/tree/daprdocs-setup/examples) \ No newline at end of file +- [Python SDK examples](https://github.com/dapr/python-sdk/tree/master/examples) \ No newline at end of file