1
0
mirror of synced 2026-01-08 03:06:34 -05:00
Files
airbyte/docs/integrations/sources/amazon-sqs.md
Alasdair Brown 58b569da18 🎉 Source Amazon SQS: New connector (#6937)
* Initial commit, working source with static Creds

* Typo in example queue url

* Adds auto delete of messages after read

* Adds visibility timeout

* remove insecure comments from AWS IAM Key spec

* explicitly set supported sync modes

* explicit sync mode should be lower case

* Adds unit tests for check, discover, read

* remove incremental acceptance test block

* remove incremental from conf catalog sample

* remove test requirement moto from main req

* align int catalog sample with sample_files

* fixing catalog configs

* acceptance testing config

* adds expected records txt

* automated formatting changes

* remove expected records block from acpt test

* Adds Docs page

* Ammends formatting on readme

* Adds doc link to summary

* Improve error handling & debug logging

* Adds bootstrap.md

* Add a todo suggestion for batch output

* Adds SQS to integrations readme list

* lower case properties

* removed unused line

* uses enum for aws region

* updates sample configs to use lowercase

* required props to lower case

* add missed property to lowercase

* gradle formatting

* Fixing issues from acceptance tests

* annotate secrets in spec.json with airbyte_secret

* Adds explicit warnings about data less when using Delete Message option
2021-10-26 13:23:10 -03:00

3.8 KiB

Amazon SQS

Sync overview

This source will sync messages from an SQS Queue.

Output schema

This source will output one stream for the configured SQS Queue.
The stream record data will have three fields:

  • id (a UUIDv4 as a STRING)
  • body (message body as a STRING)
  • attributes (attributes of the messages as an OBJECT or NULL)

Features

Feature Supported?(Yes/No) Notes
Full Refresh Sync yes
Incremental Sync no
Namespaces no

Performance considerations

Getting started

Requirements

  • AWS IAM Access Key
  • AWS IAM Secret Key
  • AWS SQS Queue

Properties

Required properties are 'Queue URL', 'AWS Region' and 'Delete Messages After Read' as noted in bold below.

  • Queue URL (STRING)
  • AWS Region (STRING)
    • The region code for the SQS Queue e.g. eu-west-1
  • Delete Messages After Read (BOOLEAN)
    • WARNING: Setting this option to TRUE can result in data loss, do not enable this option unless you understand the risk. See the Data loss warning section below.
    • Should the message be deleted from the SQS Queue after being read? This prevents the message being read more than once
    • By default messages are NOT deleted, thus can be re-read after the Message Visibility Timeout
    • Default: False
  • Max Batch Size (INTEGER)
    • The max amount of messages to consume in a single poll e.g. 5
    • Minimum of 1, maximum of 10
    • Default: 10
  • Max Wait Time (INTEGER)
    • The max amount of time (in seconds) to poll for messages before commiting a batch (or timing out) unless we fill a batch (as per Max Batch Size)
    • Minimum of 1, maximum of 20
    • Default: 20
  • Message Attributes To Return (STRING)
    • A comma separated list of Attributes to return for each message
    • Default: All
  • Message Visibility Timeout (INTEGER)
    • After a message is read, how much time (in seconds) should the message be hidden from other consumers
    • After this timeout, the message is not deleted and can be re-read
    • Default: 30
  • AWS IAM Access Key ID (STRING)
    • The Access Key for the IAM User with permissions on this Queue
    • If Delete Messages After Read is false then only sqs:ReceiveMessage
    • If Delete Messages After Read is true then sqs:DeleteMessage is also needed
  • AWS IAM Secret Key (STRING)
    • The Secret Key for the IAM User with permissions on this Queue

Data loss warning

When enabling Delete Messages After Read, the Source will delete messages from the SQS Queue after reading them. The message is deleted after the configured Destination takes the message from this Source, but makes no guarentee that the downstream destination has commited/persisted the message. This means that it is possible for the Airbyte Destination to read the message from the Source, the Source deletes the message, then the downstream application fails - resulting in the message being lost permanently.

Extra care should be taken to understand this risk before enabling this option.

Setup guide

Note

:

  • If Delete Messages After Read is false then the IAM User needs only sqs:ReceiveMessage in the AWS IAM Policy
  • If Delete Messages After Read is true then both sqs:ReceiveMessage and sqs:DeleteMessage are needed in the AWS IAM Policy

CHANGELOG

Version Date Pull Request Subject
0.1.0 2021-10-10 #0000 Initial version