Put Records

kinesis.put_records
ActionAmazon Web Servicesconnection required

Calls the AWS kinesis API (SigV4).

Write a batch of records to a stream.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
AWS Kinesis
Secret shape
{"access_key_id", "secret_access_key"}
Config it needs
region
Resolved by
config.connection_id, else node.connection_id

Configuration

3 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
region
AWS region (overrides the connection).
stringNo———
stream_name
Name of the stream to act on, as Kinesis spells it.
stringYes———
records
[{data, partition_key}, …]
arrayYes—≥ 1 characters; array of object—

Output

One shape.

result

FieldTypeExample
failed_record_count
number—
count
number—
records
One outcome per record sent, in the order they were sent. Each entry also carries the vendor's own ShardId/SequenceNumber/ErrorCode/ErrorMessage keys unchanged.
array—
records[].index
Position of the record in the batch sent.
number—
records[].shard_id
Shard the record landed in, when accepted.
string—
records[].sequence_number
Sequence number, when accepted.
string—
records[].error_code
Set when this record was rejected: ProvisionedThroughputExceededException or InternalFailure.
string—
records[].error_message
Why this record was rejected.
string—
records[].partition_key
Partition key this record was sent with.
string—
failed_records
Just the rejected records — PutRecords succeeds as a whole even when some records fail, so branch on this (or on failed_record_count) before treating the batch as written.
array—
failed_records[].index
Position of the record in the batch sent.
number—
failed_records[].error_code
Why the record was rejected.
string—
failed_records[].error_message
The vendor's error text.
string—
failed_records[].partition_key
Partition key to resend the record with.
string—
encryption_type
NONE or KMS, as the stream is configured.
string—
{
  "count": 0,
  "encryption_type": "",
  "failed_record_count": 0,
  "failed_records": [
    {
      "error_code": "",
      "error_message": "",
      "index": 0,
      "partition_key": ""
    }
  ],
  "records": [
    {
      "error_code": "",
      "error_message": "",
      "index": 0,
      "partition_key": "",
      "sequence_number": "",
      "shard_id": ""
    }
  ]
}

Related AWS Kinesis nodes

See Put Records run in a workflow.

In a technical demo we add the AWS Kinesis connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.