Amazon Pinpoint · Arazzo Workflow

Amazon Pinpoint Configure Event Stream

Version 1.0.0

Attach a Kinesis event stream to a project then read it back to confirm.

1 workflow 1 source API 1 provider
View Spec View on GitHub CampaignsCommunicationsEmailMarketingMessagingPush NotificationsSMSVoiceCustomer EngagementSegmentationJourneysAnalyticsArazzoWorkflows

Provider

amazon-pinpoint

Workflows

configure-event-stream
Configure a project event stream and verify the stored destination.
Sets the event stream destination ARN and IAM role for the project, then reads the event stream back and confirms the destination ARN matches.
2 steps inputs: applicationId, destinationStreamArn, roleArn outputs: destinationStreamArn, roleArn
1
putEventStream
PutEventStream
Configure the project event stream to publish event data to the supplied Kinesis or Firehose destination using the supplied IAM role.
2
getEventStream
GetEventStream
Read the event stream back to confirm the destination ARN and role were stored for the project.

Source API Descriptions

Arazzo Workflow Specification

amazon-pinpoint-configure-event-stream-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Amazon Pinpoint Configure Event Stream
  summary: Attach a Kinesis event stream to a project then read it back to confirm.
  description: >-
    Wires application engagement and analytics events to an Amazon Kinesis data
    stream or Firehose delivery stream by configuring the event stream for a
    project, then reads the event stream back to confirm the destination ARN and
    role were stored. Each step spells out its request inline so the flow can be
    read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: pinpointApi
  url: ../openapi/amazon-pinpoint-openapi-original.yaml
  type: openapi
workflows:
- workflowId: configure-event-stream
  summary: Configure a project event stream and verify the stored destination.
  description: >-
    Sets the event stream destination ARN and IAM role for the project, then
    reads the event stream back and confirms the destination ARN matches.
  inputs:
    type: object
    required:
    - applicationId
    - destinationStreamArn
    - roleArn
    properties:
      applicationId:
        type: string
        description: The application to publish event data for.
      destinationStreamArn:
        type: string
        description: The ARN of the Kinesis stream or Firehose delivery stream.
      roleArn:
        type: string
        description: The IAM role that authorizes Pinpoint to publish event data.
  steps:
  - stepId: putEventStream
    description: >-
      Configure the project event stream to publish event data to the supplied
      Kinesis or Firehose destination using the supplied IAM role.
    operationId: PutEventStream
    parameters:
    - name: application-id
      in: path
      value: $inputs.applicationId
    requestBody:
      contentType: application/json
      payload:
        WriteEventStream:
          DestinationStreamArn: $inputs.destinationStreamArn
          RoleArn: $inputs.roleArn
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      configuredArn: $response.body#/EventStream/DestinationStreamArn
  - stepId: getEventStream
    description: >-
      Read the event stream back to confirm the destination ARN and role were
      stored for the project.
    operationId: GetEventStream
    parameters:
    - name: application-id
      in: path
      value: $inputs.applicationId
    successCriteria:
    - condition: $statusCode == 200
    - condition: $response.body#/EventStream/DestinationStreamArn == $inputs.destinationStreamArn
    outputs:
      destinationStreamArn: $response.body#/EventStream/DestinationStreamArn
      roleArn: $response.body#/EventStream/RoleArn
  outputs:
    destinationStreamArn: $steps.getEventStream.outputs.destinationStreamArn
    roleArn: $steps.getEventStream.outputs.roleArn