components-contrib/bindings
Sam af98674424
[release 1.13] security: up deps in release branch (#3463)
Signed-off-by: Samantha Coyle <sam@diagrid.io>
Signed-off-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com>
Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com>
2024-06-27 10:46:11 -07:00
..
alicloud Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
apns Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
aws Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
azure [release 1.13] security: up deps in release branch (#3463) 2024-06-27 10:46:11 -07:00
cloudflare/queues Chore: use a single package for all Feature structs (#3278) 2024-01-08 09:07:10 -08:00
commercetools Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
cron Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
dubbo Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
gcp Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
graphql Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
http Fix HTTP binding unit test: generate certificates on-demand (#3308) 2024-01-08 11:43:33 -08:00
huawei/obs Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
influx Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
kafka [1.13] PubSub Kafka: Respect Subscribe context (#3370) 2024-02-28 11:16:40 -08:00
kitex [Metadata] Update validator and some other fixes (#2984) 2023-07-17 22:17:22 +00:00
kubemq Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
kubernetes Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
localstorage Update dapr/kit (#3205) 2023-11-02 16:20:56 -07:00
mqtt3 Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
mysql Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
postgres PostgreSQL state store v2 (#3250) 2023-12-18 13:59:30 -08:00
postmark Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
rabbitmq Metadata TryGetTTL: adds time.ParseDuration support (#3122) 2024-01-16 10:15:55 -08:00
redis Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
rethinkdb/statechange Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
rocketmq Update dapr/kit (#3205) 2023-11-02 16:20:56 -07:00
smtp Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
twilio Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
wasm Rename folder "internal" to "common" (#3225) 2023-11-14 11:36:38 -08:00
zeebe Switch to Go 1.21, Updates linter, updates workflows, adds sarama 1.42.1 (#3251) 2023-11-28 18:13:09 -08:00
README.md
bindings.go
input_binding.go [Metadata] Update validator and some other fixes (#2984) 2023-07-17 22:17:22 +00:00
metadata.go
output_binding.go [Metadata] Update validator and some other fixes (#2984) 2023-07-17 22:17:22 +00:00
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.