docs/daprdocs/content/en/reference/components-reference/supported-bindings/kinesis.md

3.8 KiB

type title linkTitle description aliases
docs AWS Kinesis binding spec AWS Kinesis Detailed documentation on the AWS Kinesis binding component
/operations/components/setup-bindings/supported-bindings/kinesis/

Component format

To setup AWS Kinesis binding create a component of type bindings.aws.kinesis. See [this guide]({{< ref "howto-bindings.md#1-create-a-binding" >}}) on how to create and apply a binding configuration.

See this for instructions on how to set up an AWS Kinesis data streams See [Authenticating to AWS]({{< ref authenticating-aws.md >}}) for information about authentication-related attributes

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: <NAME>
spec:
  type: bindings.aws.kinesis
  version: v1
  metadata:
  - name: streamName
    value: "KINESIS_STREAM_NAME" # Kinesis stream name
  - name: consumerName
    value: "KINESIS_CONSUMER_NAME" # Kinesis consumer name
  - name: mode
    value: "shared" # shared - Shared throughput or extended - Extended/Enhanced fanout
  - name: region
    value: "AWS_REGION" #replace
  - name: accessKey
    value: "AWS_ACCESS_KEY" # replace
  - name: secretKey
    value: "AWS_SECRET_KEY" #replace
  - name: sessionToken
    value: "*****************"
  - name: direction
    value: "input, output"

{{% alert title="Warning" color="warning" %}} The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described [here]({{< ref component-secrets.md >}}). {{% /alert %}}

Spec metadata fields

Field Required Binding support Details Example
mode N Input The Kinesis stream mode. shared- Shared throughput, extended - Extended/Enhanced fanout methods. More details are here. Defaults to "shared" "shared", "extended"
streamName Y Input/Output The AWS Kinesis Stream Name "stream"
consumerName Y Input The AWS Kinesis Consumer Name "myconsumer"
region Y Output The specific AWS region the AWS Kinesis instance is deployed in "us-east-1"
accessKey Y Output The AWS Access Key to access this resource "key"
secretKey Y Output The AWS Secret Access Key to access this resource "secretAccessKey"
sessionToken N Output The AWS session token to use "sessionToken"
direction N Input/Output The direction of the binding "input", "output", "input, output"

{{% alert title="Important" color="warning" %}} When running the Dapr sidecar (daprd) with your application on EKS (AWS Kubernetes), if you're using a node/pod that has already been attached to an IAM policy defining access to AWS resources, you must not provide AWS access-key, secret-key, and tokens in the definition of the component spec you're using.
{{% /alert %}}

Binding support

This component supports both input and output binding interfaces.

This component supports output binding with the following operations:

  • create
  • [Basic schema for a Dapr component]({{< ref component-schema >}})
  • [Bindings building block]({{< ref bindings >}})
  • [How-To: Trigger application with input binding]({{< ref howto-triggers.md >}})
  • [How-To: Use bindings to interface with external resources]({{< ref howto-bindings.md >}})
  • [Bindings API reference]({{< ref bindings_api.md >}})
  • [Authenticating to AWS]({{< ref authenticating-aws.md >}})