components-contrib/bindings
Bernd Verst 385bb9fe82
Azure Service Bus Queues Binding: disable entity management option (#2022)
2022-08-26 23:49:39 -07:00
..
alicloud Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
apns Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
aws Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
azure Azure Service Bus Queues Binding: disable entity management option (#2022) 2022-08-26 23:49:39 -07:00
commercetools Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
cron Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
gcp Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
graphql Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
http Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
huawei/obs Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
influx Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
ipfs Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
kafka Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
kubernetes Go 1.19 support and linter fixes (#1975) 2022-08-18 00:45:23 -07:00
localstorage Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
mqtt Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
mysql Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
postgres Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
postmark Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
rabbitmq Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
redis Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
rethinkdb/statechange Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
smtp Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
twilio Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
twitter Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
zeebe Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
Readme.md Updated development docs (#1835) 2022-06-30 22:23:41 -07:00
bindings.go Components' init functions should return interfaces (#1997) 2022-08-25 18:27:45 -07:00
input_binding.go Go 1.19 support and linter fixes (#1975) 2022-08-18 00:45:23 -07:00
metadata.go Define common metadata across components (#1994) 2022-08-25 10:10:53 -07:00
output_binding.go Go 1.19 support and linter fixes (#1975) 2022-08-18 00:45:23 -07:00
requests.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
responses.go Added ContentType to pubsub/binding/state request-response (#1376) 2022-01-28 10:17:04 -08:00

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.