diff --git a/src/destinations/bigquery.mdx b/src/destinations/bigquery.mdx new file mode 100644 index 00000000..198312e2 --- /dev/null +++ b/src/destinations/bigquery.mdx @@ -0,0 +1,61 @@ +--- +title: BigQuery destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand inserts the payload as rows into your Google BigQuery table. + +## Prerequisites + +Before setting up a BigQuery destination, ensure that you have: +- A Google Cloud project with BigQuery enabled +- A dataset and table to insert into (see [Data format and table setup](#data-format-and-table-setup)) +- A service account with the `BigQuery Data Editor` role (or `bigquery.tables.updateData` permission) on that dataset, and a JSON key for it + +## Data format and table setup + +Ampersand delivers each read or subscribe message as a JSON object. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +The BigQuery destination writes each message into two columns: `id` (a generated identifier) and `payload` (the full message JSON, written as a string). Create the table with exactly these columns: + +```sql +CREATE TABLE `my-project.my_dataset.my_table` ( + id STRING, + payload STRING +); +``` + +## Create a BigQuery destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new BigQuery destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandBigQuery` | Alias to reference in your `amp.yaml` file | +| **Project ID** | string | Yes | `my-gcp-project` | Google Cloud project ID | +| **Dataset ID** | string | Yes | `analytics` | BigQuery dataset ID | +| **Table ID** | string | Yes | `ampersand_events` | BigQuery table ID | +| **Service account credentials** | string | Yes | | Service account key JSON with write access to the table | +| **Batch size** | integer | No | `1000` | Rows to buffer before flushing a batch (defaults to 1000) | +| **Max wait (seconds)** | integer | No | `30` | Max seconds to wait before flushing a batch (defaults to 30) | + +## Refer to the destination in your integration + +After creating your BigQuery destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToBigQuery + displayName: Salesforce to BigQuery + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandBigQuery + - objectName: contact + destination: ampersandBigQuery +``` diff --git a/src/destinations/clickhouse.mdx b/src/destinations/clickhouse.mdx new file mode 100644 index 00000000..954b3bca --- /dev/null +++ b/src/destinations/clickhouse.mdx @@ -0,0 +1,69 @@ +--- +title: ClickHouse destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand inserts the payload as rows into your ClickHouse table. + +## Prerequisites + +Before setting up a ClickHouse destination, ensure that you have: +- A ClickHouse instance reachable over HTTPS (ClickHouse Cloud or self-hosted) +- A table to insert into (see [Data format and table setup](#data-format-and-table-setup)) +- A username and password with `INSERT` privileges on that table + +## Data format and table setup + +Ampersand delivers each read or subscribe message as a JSON object. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +ClickHouse matches the payload's top-level keys to your table's columns by name. Create a column for each top-level key you want to store. Keys with no matching column are ignored. `result` is the array of synced records; store it as a JSON string. + +```sql +CREATE TABLE ampersand_events ( + action String, + objectName String, + operationId String, + installationId String, + operationTime String, + result String, + ... +) +ENGINE = MergeTree() +ORDER BY tuple(); +``` + +## Create a ClickHouse destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new ClickHouse destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandClickHouse` | Alias to reference in your `amp.yaml` file | +| **URL** | string | Yes | `https://abc.clickhouse.cloud:8443` | HTTPS URL of your ClickHouse instance | +| **Username** | string | Yes | `default` | ClickHouse username | +| **Password** | string | Yes | | ClickHouse password | +| **Table name** | string | Yes | `ampersand_events` | Table to insert rows into | +| **Database** | string | No | `default` | Database containing the table | +| **Batch size** | integer | No | `1000` | Rows to buffer before flushing a batch (defaults to 1000) | +| **Max wait (seconds)** | integer | No | `30` | Max seconds to wait before flushing a batch (defaults to 30) | + +## Refer to the destination in your integration + +After creating your ClickHouse destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToClickHouse + displayName: Salesforce to ClickHouse + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandClickHouse + - objectName: contact + destination: ampersandClickHouse +``` diff --git a/src/destinations/eventbridge.mdx b/src/destinations/eventbridge.mdx new file mode 100644 index 00000000..29212d2f --- /dev/null +++ b/src/destinations/eventbridge.mdx @@ -0,0 +1,50 @@ +--- +title: Amazon EventBridge destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand publishes the payload as events to your Amazon EventBridge event bus. + +## Prerequisites + +Before setting up an EventBridge destination, ensure that you have: +- An AWS account with an EventBridge event bus +- AWS credentials with `events:PutEvents` permission on that event bus + +## Data format + +Ampersand publishes each read or subscribe message to your event bus. The message payload is carried in the event's `detail` field, and its schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +## Create an EventBridge destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new EventBridge destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandEventBridge` | Alias to reference in your `amp.yaml` file | +| **Event bus name** | string | Yes | `default` | Name of your EventBridge event bus | +| **Region** | string | Yes | `us-west-2` | AWS region where your event bus is located | +| **AWS Access Key ID** | string | Yes | `AKIAIOSFODNN7EXAMPLE` | AWS access key with `events:PutEvents` permission | +| **AWS Secret Access Key** | string | Yes | | AWS secret access key | +| **Detail type** | string | No | `ampersand.record` | Value to set as the EventBridge `detail-type` on published events | + +## Refer to the destination in your integration + +After creating your EventBridge destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToEventBridge + displayName: Salesforce to EventBridge + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandEventBridge + - objectName: contact + destination: ampersandEventBridge +``` diff --git a/src/destinations/kinesis.mdx b/src/destinations/kinesis.mdx index 8cbcd64d..09280a74 100644 --- a/src/destinations/kinesis.mdx +++ b/src/destinations/kinesis.mdx @@ -83,10 +83,6 @@ You'll need to provide: | **Partition key template** | string | No | [JMESPath](https://jmespath.org) template for partition key | | **Endpoint URL** | string | No | Custom Kinesis endpoint if applicable (e.g. when using [LocalStack](https://www.localstack.cloud)) | - -Ampersand encrypts and stores your AWS credentials securely. - - ## Refer to the destination in your integration After creating your Kinesis destination, reference it in your `amp.yaml` file: diff --git a/src/destinations/overview.mdx b/src/destinations/overview.mdx index 7fa3179f..208f472d 100644 --- a/src/destinations/overview.mdx +++ b/src/destinations/overview.mdx @@ -2,7 +2,7 @@ title: Overview --- -Ampersand currently supports webhook, Slack, Kinesis, and S3 destinations. Destinations allow you to route data synced from SaaS instances via [Read Actions](/read-actions) or [Subscribe Actions](/subscribe-actions), and to receive real-time [Notifications](/notifications) about important lifecycle events in your projects. +Ampersand supports webhook, Slack, Kinesis, and S3 destinations, along with a range of data warehouse and message queue destinations (ClickHouse, Snowflake, BigQuery, Redshift, Amazon SQS, Amazon SNS, Amazon EventBridge, Google Cloud Pub/Sub, and RabbitMQ). Destinations allow you to route data synced from SaaS instances via [Read Actions](/read-actions) or [Subscribe Actions](/subscribe-actions), and to receive real-time [Notifications](/notifications) about important lifecycle events in your projects. ## Add a destination to the Ampersand Dashboard @@ -36,17 +36,31 @@ Destinations can also be used to receive [notifications](/notifications) about i * [Webhook destinations](/destinations/webhooks) * [Slack destinations](/destinations/slack) -* [Amazon Kinesis destinations](/destinations/kinesis) + +### Blob storage + * [Amazon S3 destinations](/destinations/s3) +### Databases and warehouses + +* [ClickHouse destinations](/destinations/clickhouse) +* [Snowflake destinations](/destinations/snowflake) +* [BigQuery destinations](/destinations/bigquery) +* [Amazon Redshift destinations](/destinations/redshift) + +### Message queues and event buses + +* [Amazon Kinesis destinations](/destinations/kinesis) +* [Amazon SQS destinations](/destinations/sqs) +* [Amazon SNS destinations](/destinations/sns) +* [Amazon EventBridge destinations](/destinations/eventbridge) +* [Google Cloud Pub/Sub destinations](/destinations/pubsub) +* [RabbitMQ destinations](/destinations/rabbitmq) + ## Other Destinations -We have many other destination types on the roadmap, including: +We have more destination types on the roadmap, including: * Postgres * Ampersand-hosted Postgres -* Amazon SQS -* Google Cloud Storage -* Google PubSub -* RabbitMQ * Azure Service Bus diff --git a/src/destinations/pubsub.mdx b/src/destinations/pubsub.mdx new file mode 100644 index 00000000..b79003dc --- /dev/null +++ b/src/destinations/pubsub.mdx @@ -0,0 +1,48 @@ +--- +title: Google Cloud Pub/Sub destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand publishes the payload as messages to your Google Cloud Pub/Sub topic. + +## Prerequisites + +Before setting up a Pub/Sub destination, ensure that you have: +- A Google Cloud project with a Pub/Sub topic +- A service account with the `Pub/Sub Publisher` role (or `pubsub.topics.publish` permission) on that topic, and a JSON key for it + +## Data format + +Ampersand publishes each read or subscribe message to your topic as JSON. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +## Create a Pub/Sub destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new Pub/Sub destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandPubSub` | Alias to reference in your `amp.yaml` file | +| **Project ID** | string | Yes | `my-gcp-project` | Google Cloud project ID | +| **Topic ID** | string | Yes | `ampersand-events` | Pub/Sub topic ID | +| **Service account credentials** | string | Yes | | Service account key JSON with publish access to the topic | + +## Refer to the destination in your integration + +After creating your Pub/Sub destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToPubSub + displayName: Salesforce to Pub/Sub + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandPubSub + - objectName: contact + destination: ampersandPubSub +``` diff --git a/src/destinations/rabbitmq.mdx b/src/destinations/rabbitmq.mdx new file mode 100644 index 00000000..9c873bb4 --- /dev/null +++ b/src/destinations/rabbitmq.mdx @@ -0,0 +1,48 @@ +--- +title: RabbitMQ destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand publishes the payload as messages to your RabbitMQ instance. + +## Prerequisites + +Before setting up a RabbitMQ destination, ensure that you have: +- A RabbitMQ instance reachable from the internet +- A connection URI with permission to publish +- A routing key that reaches a queue you can consume from + +## Data format + +Ampersand publishes each read or subscribe message to your RabbitMQ instance as JSON, using the routing key you configure. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +## Create a RabbitMQ destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new RabbitMQ destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandRabbitMQ` | Alias to reference in your `amp.yaml` file | +| **Connection URI** | string | Yes | `amqp://user:pass@host:5672` | AMQP connection URI (it embeds your credentials) | +| **Routing key** | string | Yes | `ampersand-events` | Routing key to publish messages with | + +## Refer to the destination in your integration + +After creating your RabbitMQ destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToRabbitMQ + displayName: Salesforce to RabbitMQ + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandRabbitMQ + - objectName: contact + destination: ampersandRabbitMQ +``` diff --git a/src/destinations/redshift.mdx b/src/destinations/redshift.mdx new file mode 100644 index 00000000..095a1e02 --- /dev/null +++ b/src/destinations/redshift.mdx @@ -0,0 +1,70 @@ +--- +title: Amazon Redshift destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand inserts the payload as rows into your Amazon Redshift table. Both Redshift Serverless (via a workgroup) and provisioned clusters (via a cluster identifier) are supported. + +## Prerequisites + +Before setting up a Redshift destination, ensure that you have: +- An Amazon Redshift Serverless workgroup or a provisioned cluster +- A target database, and a table to insert into (see [Data format and table setup](#data-format-and-table-setup)) +- AWS credentials with permission to run the Redshift Data API and insert into the target table + +## Data format and table setup + +Ampersand delivers each read or subscribe message as a JSON object. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +The Redshift destination writes each message into two columns: `created_at` (the insert time) and `payload` (the full message JSON). The payload is written as a string, so `payload` must be a character column large enough to hold it. Create the table like this: + +```sql +CREATE TABLE events ( + created_at TIMESTAMP, + payload VARCHAR(65535) +); +``` + +## Create a Redshift destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new Redshift destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandRedshift` | Alias to reference in your `amp.yaml` file | +| **Region** | string | Yes | `us-west-2` | AWS region where your Redshift resource lives | +| **AWS Access Key ID** | string | Yes | `AKIAIOSFODNN7EXAMPLE` | AWS access key with Redshift Data API permissions | +| **AWS Secret Access Key** | string | Yes | | AWS secret access key | +| **Database** | string | No | `dev` | Target database name | +| **Schema** | string | No | `public` | Target schema | +| **Table name** | string | No | `events` | Target table | +| **Workgroup name** | string | No* | `my-workgroup` | Redshift Serverless workgroup name | +| **Cluster identifier** | string | No* | `my-cluster` | Provisioned cluster identifier | +| **DB user** | string | No | `ampersand` | Database user (for provisioned clusters) | +| **Batch size** | integer | No | `1000` | Rows to buffer before flushing a batch (defaults to 1000) | +| **Max wait (seconds)** | integer | No | `30` | Max seconds to wait before flushing a batch (defaults to 30) | + + +*Either **Workgroup name** or **Cluster identifier** is required. Provide a **workgroup name** for Redshift Serverless, or a **cluster identifier** (and **DB user**) for a provisioned cluster. + + +## Refer to the destination in your integration + +After creating your Redshift destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToRedshift + displayName: Salesforce to Redshift + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandRedshift + - objectName: contact + destination: ampersandRedshift +``` diff --git a/src/destinations/s3.mdx b/src/destinations/s3.mdx index 41a9288c..c1d8f40c 100644 --- a/src/destinations/s3.mdx +++ b/src/destinations/s3.mdx @@ -67,10 +67,6 @@ You'll need to provide: | **Object key template** | string | No | [JMESPath](https://jmespath.org) template for object key naming | | **Storage class** | string | No | S3 storage class for written objects (defaults to `STANDARD`) | - -Ampersand encrypts and stores your AWS credentials securely. - - ## Refer to the destination in your integration After creating your S3 destination, reference it in your `amp.yaml` file: diff --git a/src/destinations/snowflake.mdx b/src/destinations/snowflake.mdx new file mode 100644 index 00000000..9f62aef7 --- /dev/null +++ b/src/destinations/snowflake.mdx @@ -0,0 +1,64 @@ +--- +title: Snowflake destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand inserts the payload as rows into your Snowflake table. + +## Prerequisites + +Before setting up a Snowflake destination, ensure that you have: +- A Snowflake account +- A user configured for [key-pair authentication](https://docs.snowflake.com/en/user-guide/key-pair-auth) (Ampersand authenticates with an RSA private key, not a password) +- A target database, schema, and table (see [Data format and table setup](#data-format-and-table-setup)), with `INSERT` privileges granted to that user + +## Data format and table setup + +Ampersand delivers each read or subscribe message as a JSON object. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +The Snowflake destination writes each message into three columns: `id` (a generated identifier), `created_at` (the insert time), and `payload` (the full message JSON, written as text). Create the table with exactly these columns: + +```sql +CREATE TABLE my_db.my_schema.my_table ( + id TEXT, + created_at TIMESTAMP, + payload TEXT +); +``` + +## Create a Snowflake destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new Snowflake destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandSnowflake` | Alias to reference in your `amp.yaml` file | +| **Account identifier** | string | Yes | `myorg-myaccount` | Your Snowflake account identifier | +| **User ID** | string | Yes | `SVC_AMPERSAND` | Snowflake user configured for key-pair auth | +| **Private key** | string | Yes | | PEM-encoded RSA private key for that user | +| **Database** | string | No | `ANALYTICS` | Target database | +| **Schema** | string | No | `PUBLIC` | Target schema | +| **Table name** | string | No | `ampersand_events` | Target table | +| **Batch size** | integer | No | `1000` | Rows to buffer before flushing a batch (defaults to 1000) | +| **Max wait (seconds)** | integer | No | `30` | Max seconds to wait before flushing a batch (defaults to 30) | + +## Refer to the destination in your integration + +After creating your Snowflake destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToSnowflake + displayName: Salesforce to Snowflake + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandSnowflake + - objectName: contact + destination: ampersandSnowflake +``` diff --git a/src/destinations/sns.mdx b/src/destinations/sns.mdx new file mode 100644 index 00000000..e1f19851 --- /dev/null +++ b/src/destinations/sns.mdx @@ -0,0 +1,50 @@ +--- +title: Amazon SNS destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand publishes the payload as messages to your Amazon SNS topic. + +## Prerequisites + +Before setting up an SNS destination, ensure that you have: +- An AWS account with an SNS topic +- AWS credentials with `sns:Publish` permission on that topic + +## Data format + +Ampersand publishes each read or subscribe message to your topic as JSON. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +## Create an SNS destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new SNS destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandSNS` | Alias to reference in your `amp.yaml` file | +| **Topic ARN** | string | Yes | `arn:aws:sns:us-east-1:123456789012:my-topic` | ARN of your SNS topic | +| **Region** | string | Yes | `us-west-2` | AWS region where your topic is located | +| **AWS Access Key ID** | string | Yes | `AKIAIOSFODNN7EXAMPLE` | AWS access key with `sns:Publish` permission | +| **AWS Secret Access Key** | string | Yes | | AWS secret access key | +| **Endpoint URL** | string | No | `https://sns.us-east-1.amazonaws.com` | Custom SNS endpoint if applicable | + +## Refer to the destination in your integration + +After creating your SNS destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToSNS + displayName: Salesforce to SNS + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandSNS + - objectName: contact + destination: ampersandSNS +``` diff --git a/src/destinations/sqs.mdx b/src/destinations/sqs.mdx new file mode 100644 index 00000000..bf7598d0 --- /dev/null +++ b/src/destinations/sqs.mdx @@ -0,0 +1,50 @@ +--- +title: Amazon SQS destinations +--- + +For more information on destinations, see the [Destinations](/destinations) page. + +When new data is read from a SaaS instance via a [Read Action](/read-actions) or [Subscribe Action](/subscribe-actions), Ampersand publishes the payload as messages to your Amazon SQS queue. + +## Prerequisites + +Before setting up an SQS destination, ensure that you have: +- An AWS account with an SQS queue +- AWS credentials with `sqs:SendMessage` permission on that queue + +## Data format + +Ampersand publishes each read or subscribe message to your queue as JSON. The full payload schema is defined in [webhook.yaml](https://github.com/amp-labs/openapi/blob/main/webhook/webhook.yaml). + +## Create an SQS destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new SQS destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandSQS` | Alias to reference in your `amp.yaml` file | +| **Queue URL** | string | Yes | `https://sqs.us-east-1.amazonaws.com/123456789012/my-queue` | URL of your SQS queue | +| **Region** | string | Yes | `us-west-2` | AWS region where your queue is located | +| **AWS Access Key ID** | string | Yes | `AKIAIOSFODNN7EXAMPLE` | AWS access key with `sqs:SendMessage` permission | +| **AWS Secret Access Key** | string | Yes | | AWS secret access key | +| **Endpoint URL** | string | No | `https://sqs.us-east-1.amazonaws.com` | Custom SQS endpoint if applicable | + +## Refer to the destination in your integration + +After creating your SQS destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToSQS + displayName: Salesforce to SQS + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandSQS + - objectName: contact + destination: ampersandSQS +``` diff --git a/src/docs.json b/src/docs.json index 63f11974..6e5af677 100644 --- a/src/docs.json +++ b/src/docs.json @@ -59,8 +59,32 @@ "destinations/overview", "destinations/webhooks", "destinations/slack", - "destinations/kinesis", - "destinations/s3" + { + "group": "Blob storage", + "pages": [ + "destinations/s3" + ] + }, + { + "group": "Databases and warehouses", + "pages": [ + "destinations/bigquery", + "destinations/clickhouse", + "destinations/redshift", + "destinations/snowflake" + ] + }, + { + "group": "Queues", + "pages": [ + "destinations/eventbridge", + "destinations/kinesis", + "destinations/pubsub", + "destinations/rabbitmq", + "destinations/sns", + "destinations/sqs" + ] + } ] }, { diff --git a/src/generate-docs.ts b/src/generate-docs.ts index cba35cb7..40a53080 100644 --- a/src/generate-docs.ts +++ b/src/generate-docs.ts @@ -290,8 +290,32 @@ const baseConfig = { "destinations/overview", "destinations/webhooks", "destinations/slack", - "destinations/kinesis", - "destinations/s3", + { + group: "Blob storage", + pages: [ + "destinations/s3", + ] + }, + { + group: "Databases and warehouses", + pages: [ + "destinations/bigquery", + "destinations/clickhouse", + "destinations/redshift", + "destinations/snowflake", + ] + }, + { + group: "Queues", + pages: [ + "destinations/eventbridge", + "destinations/kinesis", + "destinations/pubsub", + "destinations/rabbitmq", + "destinations/sns", + "destinations/sqs", + ] + } ] }, {