* WIP: ASB sessions Signed-off-by: Joni Collinge <jonathancollinge@live.com> * WIP: Support ASB sessions Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Add metadata Signed-off-by: Joni Collinge <jonathancollinge@live.com> * remove dead code Signed-off-by: Joni Collinge <jonathancollinge@live.com> * lint Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Add sessionIdleTimeoutInSec md Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Support blank session IDs Signed-off-by: Joni Collinge <jonathancollinge@live.com> * If require sessions and no session id, set blank Signed-off-by: Joni Collinge <jonathancollinge@live.com> * move session config to per subscription metadata Signed-off-by: Joni Collinge <jonathancollinge@live.com> * add some unit tests Signed-off-by: Joni Collinge <jonathancollinge@live.com> * lint Signed-off-by: Joni Collinge <jonathancollinge@live.com> * remove auto blank session id Signed-off-by: Joni Collinge <jonathancollinge@live.com> * go mod tidy Signed-off-by: Joni Collinge <jonathancollinge@live.com> * add basic cert test Signed-off-by: Joni Collinge <jonathancollinge@live.com> * update comment Signed-off-by: Joni Collinge <jonathancollinge@live.com> * remove dead code Signed-off-by: Joni Collinge <jonathancollinge@live.com> * remove dead code Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Update certification test Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Add comment Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Add cert test for roundrobin Signed-off-by: Joni Collinge <jonathancollinge@live.com> * go mod tidy Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Update readme Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Use struct for NewSubscription to simplify parameters Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Address feedback Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Address feedback Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Only async receive Signed-off-by: Joni Collinge <jonathancollinge@live.com> * isTruthy on map without check Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Use if not select for context check Signed-off-by: Joni Collinge <jonathancollinge@live.com> * Feedback Signed-off-by: Joni Collinge <jonathancollinge@live.com> * lint Signed-off-by: Joni Collinge <jonathancollinge@live.com> Signed-off-by: Joni Collinge <jonathancollinge@live.com> Signed-off-by: Bernd Verst <4535280+berndverst@users.noreply.github.com> Co-authored-by: Yaron Schneider <schneider.yaron@live.com> Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com> Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com> |
||
---|---|---|
.. | ||
alicloud | ||
apns | ||
aws | ||
azure | ||
cloudflare/queues | ||
commercetools | ||
cron | ||
gcp | ||
graphql | ||
http | ||
huawei/obs | ||
influx | ||
kafka | ||
kubemq | ||
kubernetes | ||
localstorage | ||
mqtt | ||
mysql | ||
postgres | ||
postmark | ||
rabbitmq | ||
redis | ||
rethinkdb/statechange | ||
smtp | ||
twilio | ||
zeebe | ||
README.md | ||
bindings.go | ||
input_binding.go | ||
metadata.go | ||
output_binding.go | ||
requests.go | ||
responses.go |
README.md
Bindings
Bindings provide a common way to trigger an application with events from external systems, or invoke an external system with optional data payloads. Bindings are great for event-driven, on-demand compute and help reduce boilerplate code.
To get started with bindings visit the How To Guide.
To view all the currently supported bindings visit: Dapr bindings.
For detailed binding specs visit Dapr binding specs.
Implementing a new binding
A compliant binding needs to implement at least one interface, depending on the type of binding (Input, Output, or both):
Input binding implement the InputBinding
interface defined in input_binding.go
Output binding implement the OutputBinding
interface defined in output_binding.go
An output binding can be used to invoke an external system and also to return data from it.
Each output binding can decide which operations it supports. This information is communicated to the caller via the Operations()
method.
When creating an Output Binding, a list of OperationKind
items needs to be returned.
For example, if running a component that takes in a SQL query and returns a result set, the OperationKind
can be query
.
While components are not restricted to a list of supported operations, it's best to use common ones if the operation kind falls under that operation definition.
The list of common operations can be found in requests.go
.
After implementing a binding, the specification docs need to be updated via a Pull Request: Dapr docs.