components-contrib/bindings
Yaron Schneider ad1a51d7d1
add disablessl option to s3 config (#1555)
Signed-off-by: yaron2 <schneider.yaron@live.com>

Co-authored-by: Bernd Verst <4535280+berndverst@users.noreply.github.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
2022-03-09 17:11:10 -08:00
..
alicloud Upgrade nacos sdk version to meet compliance (#1547) 2022-03-06 20:13:40 -08:00
apns update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
aws add disablessl option to s3 config (#1555) 2022-03-09 17:11:10 -08:00
azure Certification tests for Azure Blob Storage Binding (#1435) 2022-01-13 18:06:39 -08:00
cron hotfix: bindings.cron Input & Output communicates through a signal queue (#1418) 2022-01-07 15:53:19 -08:00
gcp update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
graphql update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
http update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
influx feat: support query for influxdb in bindings (#1452) 2022-03-04 08:18:47 -08:00
kafka Support configuring broker version in Kafka bindings component (#1459) 2022-01-31 09:08:34 -08:00
kubernetes update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
localstorage update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
mqtt update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
mysql bingding/mysql: add select JSON_EXTRACT LONGTEXT column type to special case (#1486) 2022-02-08 15:46:48 -08:00
postgres update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
postmark Add changes (#1515) 2022-02-24 22:40:10 -08:00
rabbitmq update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
redis update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
rethinkdb/statechange update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
smtp update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
twilio update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
twitter update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
zeebe update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
Readme.md Update Readme.md 2021-03-30 18:03:19 +08:00
input_binding.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
metadata.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
output_binding.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08: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 one or more interfaces, depending on the type of binding (Input or Output):

Input binding:

type InputBinding interface {
	Init(metadata Metadata) error
	Read(handler func(*ReadResponse) ([]byte, error)) error
}

Output binding:

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.

type OutputBinding interface {
	Init(metadata Metadata) error
	Invoke(req *InvokeRequest) (*InvokeResponse, error)
	Operations() []OperationKind
}

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 here.

After implementing a binding, the specification docs need to be updated via a PR: Dapr docs.