mirror of https://github.com/dapr/docs.git
Merge pull request #3588 from robertojrojas/document-bindings-direction-3541
[Bindings] Documents direction Metadata Field
This commit is contained in:
commit
8d445abf9a
|
@ -37,6 +37,45 @@ If running on kubernetes apply the component to your cluster.
|
|||
|
||||
> **Note:** In production never place passwords or secrets within Dapr component files. For information on securely storing and retrieving secrets using secret stores refer to [Setup Secret Store]({{< ref setup-secret-store >}})
|
||||
|
||||
### Binding direction (optional)
|
||||
|
||||
In some scenarios, it would be useful to provide additional information to Dapr to indicate the direction supported by the binding component.
|
||||
Providing the supported binding direction helps the Dapr sidecar avoid the `"wait for the app to become ready"` state, where it waits indefinitely for the application to become available.
|
||||
|
||||
You can specify the `direction` field as part of the component's metadata. The valid values for this field are:
|
||||
- `"input"`
|
||||
- `"output"`
|
||||
- `"input, output"`
|
||||
|
||||
Here a few scenarios when the `"direction"` metadata field could help:
|
||||
|
||||
- When an application (detached from the sidecar) runs as a serverless workload and is scaled to zero, the `"wait for the app to become ready"` check done by the Dapr sidecar becomes pointless.
|
||||
|
||||
- If the detached Dapr sidecar is scaled to zero and the application reaches the sidecar (before even starting an HTTP server), the `"wait for the app to become ready"` deadlocks the app and the sidecar into waiting for each other.
|
||||
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
apiVersion: dapr.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: kafkaevent
|
||||
spec:
|
||||
type: bindings.kafka
|
||||
version: v1
|
||||
metadata:
|
||||
- name: brokers
|
||||
value: "http://localhost:5050"
|
||||
- name: topics
|
||||
value: "someTopic"
|
||||
- name: publishTopic
|
||||
value: "someTopic2"
|
||||
- name: consumerGroup
|
||||
value: "group1"
|
||||
- name: "direction"
|
||||
value: "input, output"
|
||||
```
|
||||
|
||||
## Invoking Service Code Through Input Bindings
|
||||
|
||||
A developer who wants to trigger their app using an input binding can listen on a `POST` http endpoint with the route name being the same as `metadata.name`.
|
||||
|
|
Loading…
Reference in New Issue