Skip to content

Amazon Kinesis target

Sends events to Amazon Kinesis.

With tmctl:

tmctl create target awskinesis --partition <partition> --arn <arn> --auth.credentials.accessKeyID <access key> --auth.credentials.secretAccessKey <secret key>

On Kubernetes:

Secret

apiVersion: v1
kind: Secret
metadata:
  name: aws
type: Opaque
stringData:
  AWS_ACCESS_KEY_ID: "<AWS Access Key ID>"
  AWS_SECRET_ACCESS_KEY: "<AWS Secret Access Key>"

Target

apiVersion: targets.triggermesh.io/v1alpha1
kind: AWSKinesisTarget
metadata:
  name: triggermesh-aws-kinesis
spec:
  arn: arn:aws:kinesis:us-west-2:<PROJECT_ID>:stream/cabtest
  partition: "test"
  auth:
    credentials:
      accessKeyID:
        valueFromSecret:
          name: aws
          key: AWS_ACCESS_KEY_ID
      secretAccessKey:
        valueFromSecret:
          name: aws
          key: AWS_SECRET_ACCESS_KEY

Alternatively you can use an IAM role for authentication instead of an access key and secret, for Amazon EKS only:

auth:
  iamrole: arn:aws:iam::123456789012:role/foo

To setup an IAM role for service accounts, please refer to the official AWS documentation.

partition is the Kinesis partition to publish the events to.

There is an optional toggle flag indicating if the full CloudEvent should be sent to Kinesis. By default, this is disabled which means only the event payload will be sent.

Accepts events of any type.

Responds with events with the following attributes:

  • type io.triggermesh.targets.aws.kinesis.result
  • source arn:aws:kinesis:..., the Kinesis ARN value as configured by the target
  • Schema of the data attribute:

See the Kubernetes object reference for more details.

Prerequisite(s)

  • AWS API key and secret
  • ARN for the Kinesis stream
  • A Kinesis partition name to publish the events to

For more information about using Amazon Kinesis, please refer to the AWS documentation.