From 505161d3438cd93250f1b053d08c13d30a139e01 Mon Sep 17 00:00:00 2001 From: RajatPawar <18614743+RajatPawar@users.noreply.github.com> Date: Wed, 19 Aug 2026 14:28:24 -0700 Subject: [PATCH 1/3] docs(destinations): re-publish SQS/Pub-Sub/RabbitMQ + add Azure Service Bus & Kafka (ENG-4130) These queue and stream destinations are now implemented on Outpost. Re-publish the SQS, Google Cloud Pub/Sub, and RabbitMQ pages (updated to the Outpost config model) and add new pages for Azure Service Bus and Apache Kafka. SNS and EventBridge remain withheld. Regroups the sidebar and overview under a "Streams and queues" category. Co-Authored-By: Claude Opus 4.8 --- src/destinations/azureservicebus.mdx | 47 ++++++++++++++++++++++++ src/destinations/kafka.mdx | 53 ++++++++++++++++++++++++++++ src/destinations/overview.mdx | 10 ++++-- src/destinations/pubsub.mdx | 48 +++++++++++++++++++++++++ src/destinations/rabbitmq.mdx | 51 ++++++++++++++++++++++++++ src/destinations/sqs.mdx | 50 ++++++++++++++++++++++++++ src/docs.json | 9 +++-- src/generate-docs.ts | 7 +++- 8 files changed, 269 insertions(+), 6 deletions(-) create mode 100644 src/destinations/azureservicebus.mdx create mode 100644 src/destinations/kafka.mdx create mode 100644 src/destinations/pubsub.mdx create mode 100644 src/destinations/rabbitmq.mdx create mode 100644 src/destinations/sqs.mdx diff --git a/src/destinations/azureservicebus.mdx b/src/destinations/azureservicebus.mdx new file mode 100644 index 00000000..d09a0d0e --- /dev/null +++ b/src/destinations/azureservicebus.mdx @@ -0,0 +1,47 @@ +--- +title: Azure Service Bus 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 Azure Service Bus queue or topic. + +## Prerequisites + +Before setting up an Azure Service Bus destination, ensure that you have: +- An Azure Service Bus namespace with a queue or topic +- A connection string with `Send` permission on that queue or topic + +## Data format + +Ampersand publishes each read or subscribe message to your queue or 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 Azure Service Bus destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new Azure Service Bus destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandServiceBus` | Alias to reference in your `amp.yaml` file | +| **Name** | string | Yes | `ampersand-events` | Name of the queue or topic to publish to | +| **Connection string** | string | Yes | | Connection string with `Send` permission | + +## Refer to the destination in your integration + +After creating your Azure Service Bus destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToServiceBus + displayName: Salesforce to Azure Service Bus + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandServiceBus + - objectName: contact + destination: ampersandServiceBus +``` diff --git a/src/destinations/kafka.mdx b/src/destinations/kafka.mdx new file mode 100644 index 00000000..a6680153 --- /dev/null +++ b/src/destinations/kafka.mdx @@ -0,0 +1,53 @@ +--- +title: Apache Kafka 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 Apache Kafka topic. + +## Prerequisites + +Before setting up a Kafka destination, ensure that you have: +- A Kafka cluster reachable from the internet +- A topic to publish to +- A SASL username and password with permission to publish to that topic + +## Data format + +Ampersand publishes each read or subscribe message to your Kafka 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 Kafka destination + +Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new Kafka destination. + +You'll need to provide: + +| Field | Type | Required | Example | Description | +|-------|------|----------|---------|-------------| +| **Destination name** | string | Yes | `ampersandKafka` | Alias to reference in your `amp.yaml` file | +| **Brokers** | string | Yes | `broker1.example.com:9092,broker2.example.com:9092` | Comma-separated list of `host:port` brokers | +| **Topic** | string | Yes | `ampersand-events` | Topic to publish messages to | +| **SASL mechanism** | string | Yes | `scram-sha-256` | One of `plain`, `scram-sha-256`, `scram-sha-512` | +| **TLS** | boolean | No | `true` | Whether to connect over TLS | +| **Partition key template** | string | No | `data.installationId` | [JMESPath](https://jmespath.org) template for the partition key | +| **SASL username** | string | Yes | `ampersand` | SASL username with permission to publish | +| **SASL password** | string | Yes | | SASL password for the username | + +## Refer to the destination in your integration + +After creating your Kafka destination, reference it in your `amp.yaml` file: + +```yaml +specVersion: 1.0.0 +integrations: + - name: salesforceToKafka + displayName: Salesforce to Kafka + provider: salesforce + read: + objects: + - objectName: account + destination: ampersandKafka + - objectName: contact + destination: ampersandKafka +``` diff --git a/src/destinations/overview.mdx b/src/destinations/overview.mdx index ba756041..761fe7ca 100644 --- a/src/destinations/overview.mdx +++ b/src/destinations/overview.mdx @@ -2,7 +2,7 @@ title: Overview --- -Ampersand supports webhook, Slack, Kinesis, and S3 destinations, along with a range of data warehouse destinations (ClickHouse, Snowflake, BigQuery, and Redshift). 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 and Slack destinations, S3, a range of data warehouse destinations (ClickHouse, Snowflake, BigQuery, and Redshift), and a range of stream and queue destinations (Kinesis, Amazon SQS, Google Cloud Pub/Sub, RabbitMQ, Azure Service Bus, and Apache Kafka). 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 @@ -48,9 +48,14 @@ Destinations can also be used to receive [notifications](/notifications) about i * [BigQuery destinations](/destinations/bigquery) * [Amazon Redshift destinations](/destinations/redshift) -### Streams +### Streams and queues +* [Azure Service Bus destinations](/destinations/azureservicebus) +* [Apache Kafka destinations](/destinations/kafka) * [Amazon Kinesis destinations](/destinations/kinesis) +* [Google Cloud Pub/Sub destinations](/destinations/pubsub) +* [RabbitMQ destinations](/destinations/rabbitmq) +* [Amazon SQS destinations](/destinations/sqs) ## Other Destinations @@ -58,4 +63,3 @@ We have more destination types on the roadmap, including: * Postgres * Ampersand-hosted Postgres -* 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..4ce8dfea --- /dev/null +++ b/src/destinations/rabbitmq.mdx @@ -0,0 +1,51 @@ +--- +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 +- An exchange that already exists on that instance +- A username and password with permission to publish to that exchange + +## Data format + +Ampersand publishes each read or subscribe message to your RabbitMQ exchange as JSON. 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 | +| **Server URL** | string | Yes | `rabbitmq.example.com:5672` | Host and port of your RabbitMQ instance | +| **Exchange** | string | Yes | `ampersand-events` | Name of an exchange that already exists | +| **TLS** | boolean | No | `true` | Whether to connect over TLS | +| **Username** | string | Yes | `ampersand` | Username with permission to publish | +| **Password** | string | Yes | | Password for the username | + +## 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/sqs.mdx b/src/destinations/sqs.mdx new file mode 100644 index 00000000..cc91bd79 --- /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 | +| **Endpoint URL** | string | No | `https://sqs.us-east-1.amazonaws.com` | Custom SQS endpoint if applicable | +| **AWS Access Key ID** | string | Yes | `AKIAIOSFODNN7EXAMPLE` | AWS access key with `sqs:SendMessage` permission | +| **AWS Secret Access Key** | string | Yes | | AWS secret access key | +| **AWS Session Token** | string | No | | Session token for temporary credentials | + +## 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 c92314fc..564e171f 100644 --- a/src/docs.json +++ b/src/docs.json @@ -75,9 +75,14 @@ ] }, { - "group": "Queues", + "group": "Streams and queues", "pages": [ - "destinations/kinesis" + "destinations/azureservicebus", + "destinations/kafka", + "destinations/kinesis", + "destinations/pubsub", + "destinations/rabbitmq", + "destinations/sqs" ] } ] diff --git a/src/generate-docs.ts b/src/generate-docs.ts index 47ab4f42..1da6882e 100644 --- a/src/generate-docs.ts +++ b/src/generate-docs.ts @@ -306,9 +306,14 @@ const baseConfig = { ] }, { - group: "Queues", + group: "Streams and queues", pages: [ + "destinations/azureservicebus", + "destinations/kafka", "destinations/kinesis", + "destinations/pubsub", + "destinations/rabbitmq", + "destinations/sqs", ] } ] From 76c396631ee2dc2cbc91beca12ff643ee1928bc4 Mon Sep 17 00:00:00 2001 From: RajatPawar <18614743+RajatPawar@users.noreply.github.com> Date: Wed, 19 Aug 2026 17:02:39 -0700 Subject: [PATCH 2/3] docs(destinations): descope Kafka destination (ENG-4130) Outpost's Kafka sink can't configure a custom CA, so it fails against managed Kafka providers that use private CAs. Remove the Kafka page, sidebar entries (docs.json + generate-docs.ts), and overview mentions. Co-Authored-By: Claude Opus 4.8 --- src/destinations/kafka.mdx | 53 ----------------------------------- src/destinations/overview.mdx | 3 +- src/docs.json | 1 - src/generate-docs.ts | 1 - 4 files changed, 1 insertion(+), 57 deletions(-) delete mode 100644 src/destinations/kafka.mdx diff --git a/src/destinations/kafka.mdx b/src/destinations/kafka.mdx deleted file mode 100644 index a6680153..00000000 --- a/src/destinations/kafka.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Apache Kafka 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 Apache Kafka topic. - -## Prerequisites - -Before setting up a Kafka destination, ensure that you have: -- A Kafka cluster reachable from the internet -- A topic to publish to -- A SASL username and password with permission to publish to that topic - -## Data format - -Ampersand publishes each read or subscribe message to your Kafka 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 Kafka destination - -Go to the [Destinations page](https://dashboard.withampersand.com/projects/_/destinations) in the Ampersand Dashboard and create a new Kafka destination. - -You'll need to provide: - -| Field | Type | Required | Example | Description | -|-------|------|----------|---------|-------------| -| **Destination name** | string | Yes | `ampersandKafka` | Alias to reference in your `amp.yaml` file | -| **Brokers** | string | Yes | `broker1.example.com:9092,broker2.example.com:9092` | Comma-separated list of `host:port` brokers | -| **Topic** | string | Yes | `ampersand-events` | Topic to publish messages to | -| **SASL mechanism** | string | Yes | `scram-sha-256` | One of `plain`, `scram-sha-256`, `scram-sha-512` | -| **TLS** | boolean | No | `true` | Whether to connect over TLS | -| **Partition key template** | string | No | `data.installationId` | [JMESPath](https://jmespath.org) template for the partition key | -| **SASL username** | string | Yes | `ampersand` | SASL username with permission to publish | -| **SASL password** | string | Yes | | SASL password for the username | - -## Refer to the destination in your integration - -After creating your Kafka destination, reference it in your `amp.yaml` file: - -```yaml -specVersion: 1.0.0 -integrations: - - name: salesforceToKafka - displayName: Salesforce to Kafka - provider: salesforce - read: - objects: - - objectName: account - destination: ampersandKafka - - objectName: contact - destination: ampersandKafka -``` diff --git a/src/destinations/overview.mdx b/src/destinations/overview.mdx index 761fe7ca..6f22ca5e 100644 --- a/src/destinations/overview.mdx +++ b/src/destinations/overview.mdx @@ -2,7 +2,7 @@ title: Overview --- -Ampersand supports webhook and Slack destinations, S3, a range of data warehouse destinations (ClickHouse, Snowflake, BigQuery, and Redshift), and a range of stream and queue destinations (Kinesis, Amazon SQS, Google Cloud Pub/Sub, RabbitMQ, Azure Service Bus, and Apache Kafka). 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 and Slack destinations, S3, a range of data warehouse destinations (ClickHouse, Snowflake, BigQuery, and Redshift), and a range of stream and queue destinations (Kinesis, Amazon SQS, Google Cloud Pub/Sub, RabbitMQ, and Azure Service Bus). 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 @@ -51,7 +51,6 @@ Destinations can also be used to receive [notifications](/notifications) about i ### Streams and queues * [Azure Service Bus destinations](/destinations/azureservicebus) -* [Apache Kafka destinations](/destinations/kafka) * [Amazon Kinesis destinations](/destinations/kinesis) * [Google Cloud Pub/Sub destinations](/destinations/pubsub) * [RabbitMQ destinations](/destinations/rabbitmq) diff --git a/src/docs.json b/src/docs.json index 564e171f..1eb8c6e5 100644 --- a/src/docs.json +++ b/src/docs.json @@ -78,7 +78,6 @@ "group": "Streams and queues", "pages": [ "destinations/azureservicebus", - "destinations/kafka", "destinations/kinesis", "destinations/pubsub", "destinations/rabbitmq", diff --git a/src/generate-docs.ts b/src/generate-docs.ts index 1da6882e..1c66f0eb 100644 --- a/src/generate-docs.ts +++ b/src/generate-docs.ts @@ -309,7 +309,6 @@ const baseConfig = { group: "Streams and queues", pages: [ "destinations/azureservicebus", - "destinations/kafka", "destinations/kinesis", "destinations/pubsub", "destinations/rabbitmq", From f3b56438829242c9aaadf4814467cb2d16270b1e Mon Sep 17 00:00:00 2001 From: RajatPawar <18614743+RajatPawar@users.noreply.github.com> Date: Wed, 19 Aug 2026 18:04:40 -0700 Subject: [PATCH 3/3] docs(destinations): bring pages into parity with dashboard form (ENG-4130) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Match the docs to the tightened create forms: - SQS: drop Endpoint URL + AWS Session Token (removed from the form). - RabbitMQ: TLS now defaults to false (plain AMQP); note true is for managed TLS brokers like CloudAMQP. - Redshift: Serverless-only for v1 — drop the provisioned-cluster path (cluster identifier + DB user); Schema and Workgroup name are required. - ClickHouse: Database is required. - Snowflake: private key must be an unencrypted PKCS#8 PEM; note the openssl conversion for PKCS#1 keys. Co-Authored-By: Claude Opus 4.8 --- src/destinations/clickhouse.mdx | 2 +- src/destinations/rabbitmq.mdx | 2 +- src/destinations/redshift.mdx | 14 ++++---------- src/destinations/snowflake.mdx | 2 +- src/destinations/sqs.mdx | 2 -- 5 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/destinations/clickhouse.mdx b/src/destinations/clickhouse.mdx index 954b3bca..0112049a 100644 --- a/src/destinations/clickhouse.mdx +++ b/src/destinations/clickhouse.mdx @@ -46,7 +46,7 @@ You'll need to provide: | **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 | +| **Database** | string | Yes | `analytics` | 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) | diff --git a/src/destinations/rabbitmq.mdx b/src/destinations/rabbitmq.mdx index 4ce8dfea..c3d7e21e 100644 --- a/src/destinations/rabbitmq.mdx +++ b/src/destinations/rabbitmq.mdx @@ -28,7 +28,7 @@ You'll need to provide: | **Destination name** | string | Yes | `ampersandRabbitMQ` | Alias to reference in your `amp.yaml` file | | **Server URL** | string | Yes | `rabbitmq.example.com:5672` | Host and port of your RabbitMQ instance | | **Exchange** | string | Yes | `ampersand-events` | Name of an exchange that already exists | -| **TLS** | boolean | No | `true` | Whether to connect over TLS | +| **TLS** | boolean | No | `false` | Whether to connect over TLS. Defaults to false (plain AMQP); set to true for managed brokers that require TLS, e.g. CloudAMQP | | **Username** | string | Yes | `ampersand` | Username with permission to publish | | **Password** | string | Yes | | Password for the username | diff --git a/src/destinations/redshift.mdx b/src/destinations/redshift.mdx index b4acc378..f748a558 100644 --- a/src/destinations/redshift.mdx +++ b/src/destinations/redshift.mdx @@ -4,12 +4,12 @@ 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. +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, delivered to a Redshift Serverless workgroup. ## Prerequisites Before setting up a Redshift destination, ensure that you have: -- An Amazon Redshift Serverless workgroup or a provisioned cluster +- An Amazon Redshift Serverless workgroup - 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 @@ -39,18 +39,12 @@ You'll need to provide: | **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 | Yes | `dev` | Target database name | -| **Schema** | string | No | `public` | Target schema | +| **Schema** | string | Yes | `public` | Target schema | | **Table name** | string | Yes | `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) | +| **Workgroup name** | string | Yes | `my-workgroup` | Redshift Serverless workgroup name | | **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: diff --git a/src/destinations/snowflake.mdx b/src/destinations/snowflake.mdx index 4210f7a5..218926c3 100644 --- a/src/destinations/snowflake.mdx +++ b/src/destinations/snowflake.mdx @@ -38,7 +38,7 @@ You'll need to provide: | **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 | +| **Private key** | string | Yes | | Unencrypted **PKCS#8** PEM-encoded RSA private key for that user (headers `-----BEGIN PRIVATE KEY-----`). Convert a PKCS#1 key with `openssl pkcs8 -topk8 -nocrypt` | | **Database** | string | Yes | `ANALYTICS` | Target database | | **Schema** | string | Yes | `PUBLIC` | Target schema | | **Table name** | string | Yes | `ampersand_events` | Target table | diff --git a/src/destinations/sqs.mdx b/src/destinations/sqs.mdx index cc91bd79..28f3e999 100644 --- a/src/destinations/sqs.mdx +++ b/src/destinations/sqs.mdx @@ -26,10 +26,8 @@ You'll need to provide: |-------|------|----------|---------|-------------| | **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 | -| **Endpoint URL** | string | No | `https://sqs.us-east-1.amazonaws.com` | Custom SQS endpoint if applicable | | **AWS Access Key ID** | string | Yes | `AKIAIOSFODNN7EXAMPLE` | AWS access key with `sqs:SendMessage` permission | | **AWS Secret Access Key** | string | Yes | | AWS secret access key | -| **AWS Session Token** | string | No | | Session token for temporary credentials | ## Refer to the destination in your integration