diff --git a/console/account/reference-content/products-availability.mdx b/console/account/reference-content/products-availability.mdx index ec17f75e85..5e2903050b 100644 --- a/console/account/reference-content/products-availability.mdx +++ b/console/account/reference-content/products-availability.mdx @@ -7,7 +7,7 @@ content: paragraph: Check availability details of Scaleway products. tags: availability region zone availability-zone dates: - validation: 2024-10-14 + validation: 2024-10-21 posted: 2023-01-05 categories: - console @@ -47,7 +47,9 @@ Scaleway products are available in multiple regions and locations worldwide. Thi | | Functions | Across Paris region | Across Amsterdam region | Across Warsaw region | | | Jobs | Across Paris region | Across Amsterdam region | Across Warsaw region | | | SQL Databases | Across Paris region | Not available yet | Not available yet | -| | Messaging & Queuing | Across Paris region | Across Amsterdam region | Not available yet | +| | NATS | Across Paris region | Across Amsterdam region | Not available yet | +| | Queues | Across Paris region | Across Amsterdam region | Not available yet | +| | Topics and Events | Across Paris region | Across Amsterdam region | Not available yet | | **Managed Services** | Web Hosting | Across Paris region | Not available yet | Not available yet | | | IoT Hub | Across Paris region | Not available yet | Not available yet | | | Transactional Email | Automatically assigned | Automatically assigned | Automatically assigned | diff --git a/developer-tools/scaleway-cli/reference-content/cli-reference.mdx b/developer-tools/scaleway-cli/reference-content/cli-reference.mdx index 09bf17fc53..1bb559ade4 100644 --- a/developer-tools/scaleway-cli/reference-content/cli-reference.mdx +++ b/developer-tools/scaleway-cli/reference-content/cli-reference.mdx @@ -22,7 +22,7 @@ The [Scaleway command line interface (CLI)](https://github.com/scaleway/scaleway | Instances | [Creating and managing an Instance with the CLI (v2)](/compute/instances/api-cli/creating-managing-instances-with-cliv2/) | | Instances | [Managing Instance snapshots with the CLI (v2)](/compute/instances/api-cli/managing-instance-snapshot-via-cli/) | | Elastic Metal | [Creating and Managing Elastic Metal servers with the CLI](/bare-metal/elastic-metal/api-cli/elastic-metal-with-cli/) | -| Messaging and Queuing | [Using the NATS CLI](/serverless/messaging/api-cli/nats-cli/) | +| NATS | [Using the NATS CLI](/serverless/messaging/api-cli/nats-cli/) | | Kubernetes | [Creating and managing a Kubernetes Kapsule with the CLI (v2)](/containers/kubernetes/api-cli/creating-managing-kubernetes-lifecycle-cliv2/) | | Iot Hub | [Getting started with the IoT Hub CLI](/managed-services/iot-hub/api-cli/getting-started-with-iot-hub-cli/) | diff --git a/faq/messaging-and-queuing.mdx b/faq/messaging-and-queuing.mdx index 2c62629322..c5ed31a48c 100644 --- a/faq/messaging-and-queuing.mdx +++ b/faq/messaging-and-queuing.mdx @@ -1,65 +1,46 @@ --- meta: - title: Messaging and Queuing FAQ - description: Discover Scaleway Messaging and Queuing, and get answers to common questions about the different protocols available, compatibility with various services, and billing. + title: NATS, Queues, and Topics and Events FAQ + description: Discover Scaleway NATS, Queues, and Topics and Events, and get answers to common questions about the different protocols available, compatibility with various services, and billing. content: - h1: Messaging and Queuing + h1: NATS, Queues, and Topics and Events hero: assets/messaging.webp dates: - validation: 2024-09-26 + validation: 2024-10-18 category: serverless --- +## What is NATS, Queues, and Topics and Events? + +These are three distinct managed message broker tools offered by Scaleway, based on the NATS, SQS and SNS protocols respectively. Previously, these products were grouped together as 'Messaging and Queuing', but have now become three separate products in their own right. + ## What are NATS, SNS and SQS? -NATS, SNS and SQS are all messaging protocols supported by Scaleway Messaging and Queuing. You can find out more about these protocols, and other essential Messaging and Queuing concepts, on our dedicated [concepts page](/serverless/messaging/concepts/). +NATS, SNS and SQS are all messaging protocols used by the Scaleway NATS, Queues, and Topics and Events products. You can find out more about these protocols, and other essential concepts, on our dedicated [concepts page](/serverless/messaging/concepts/). -## Is the Scaleway Messaging and Queuing SQS gateway compatible with my application, framework or tool? +## Is the Scaleway Queues gateway compatible with my application, framework or tool? -We currently implement the API endpoints listed [here](/serverless/messaging/reference-content/sqs-support/), which makes Scaleway Messaging and Queuing compatible with the AWS SDK as well as many other tools and frameworks including KEDA and Symfony. Note that you need to specify both Regions and URL to ensure compatibility. +We currently implement the API endpoints listed [here](/serverless/messaging/reference-content/sqs-support/), which makes Scaleway Queues compatible with the AWS SDK as well as many other tools and frameworks including KEDA and Symfony. Note that you need to specify both Regions and URL to ensure compatibility. -## Does Scaleway Messaging and Queuing support all SNS features? +## Does Scaleway Topics and Events support all SNS features? The following subscriber types are supported: - HTTP/S clients - Serverless Functions and Containers -- Scaleway Messaging and Queuing SQS queues - -For more details on supported and unsupported SNS features, see our [dedicated page](/serverless/messaging/reference-content/sns-support/). - -## Can I configure Messaging and Queuing via Terraform? - -Yes, check out our [tutorial](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider) on configuring Messaging and Queuing with the Terraform [NATS Jetstream provider](https://registry.terraform.io/providers/nats-io/jetstream/latest/docs). - -## What happened to my Messaging and Queuing namespaces? - -Messaging and Queuing namespaces have been removed. - -**NATS** namespaces and their credentials were automatically migrated to become [NATS accounts](/serverless/messaging/concepts/#nats-account), holding the same credentials you previously had in your namespace(s). You can manage your NATS accounts and namespaces from the new and improved Messaging and Queuing space in the [console](https://console.scaleway.com/) or our [`v1beta1` NATS API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/nats-api/). - -**SQS/SNS** namespaces and their credentials were not automatically migrated, and users were warned to **migrate their resources themselves**. -- Previously these protocols were combined, and shared namespaces/credentials, but now they have been separated. -- You must [activate](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) the SQS and/or SNS protocols on your [Scaleway Project](/identity-and-access-management/organizations-and-projects/concepts/#project). -- You must [recreate](/serverless/messaging/how-to/create-credentials/) your credentials (and any other resources e.g. queues) for the new "no-namespace" version of Messaging and Queuing. - -The new version of Messaging and Queuing is designed to provide a better and more secure experience, as well as preparing Messaging and Queuing for further integration into the Scaleway ecosystem. - -## Can I still keep using the old v1alpha1 API? +- Scaleway Queues queues -The v1alpha1 API has now been deprecated, and all resources still existing in it deleted. +For more details on supported and unsupported Topics and Events features, see our [dedicated page](/serverless/messaging/reference-content/sns-support/). -You must migrate by recreating your SQS and/or SNS resources on the new v1beta1 API (or via the console). NATS resources have been automatically migrated. +## Can I configure Scaleway NATS via Terraform? -- [Messaging and Queuing: SQS v1beta1 API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sqs-api/) -- [Messaging and Queuing: SNS v1beta1 API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sns-api/) -- [Messaging and Queuing: NATS v1beta1 API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/nats-api/) +Yes, check out our [tutorial](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider) on how to configure Scaleway NATS with the Terraform [NATS Jetstream provider](https://registry.terraform.io/providers/nats-io/jetstream/latest/docs). -## How is Messaging and Queuing billed? +## How are NATS, Queues, and Topics and Events billed? -Billing for NATS and SQS is based on: +Billing is based on: - For NATS: [Stream volume](/serverless/messaging/concepts/#stream-volume) (the total sum of each message's size going through the stream) and [stream persistence](/serverless/messaging/concepts/#stream-persistence) (the total amount of data stored * duration) -- For SQS: [Queue volume](/serverless/messaging/concepts/#queue-volume) (the total sum of each message's size going through the queue) -- For SNS : [Topic Volume](/serverless/messaging/concepts/#queue-volume)(the total sum of each message's size going out from the topic to the subscriptions) +- For Queues: [Queue volume](/serverless/messaging/concepts/#queue-volume) (the total sum of each message's size going through the queue) +- For Topics and Events: [Topic Volume](/serverless/messaging/concepts/#queue-volume)(the total sum of each message's size going out from the topic to the subscriptions) For full pricing details, see our [dedicated pricing page](https://www.scaleway.com/en/pricing/). diff --git a/identity-and-access-management/organizations-and-projects/additional-content/organization-quotas.mdx b/identity-and-access-management/organizations-and-projects/additional-content/organization-quotas.mdx index 300539094d..ea2602124f 100644 --- a/identity-and-access-management/organizations-and-projects/additional-content/organization-quotas.mdx +++ b/identity-and-access-management/organizations-and-projects/additional-content/organization-quotas.mdx @@ -261,13 +261,11 @@ The maximum RAM quota is obtained by multiplying the maximum scale factor of you For example, if you choose to create a container with 512 MB of memory and a max scale of 20, you will have 10 GB RAM. -## Messaging and Queuing +## NATS -Scaleway Messaging and Queuing is a message broker tool that allows you to transfer messages between different microservices and platforms. +Scaleway NATS is a message broker tool based on the NATS protocol, that allows you to transfer messages between different microservices and platforms. -#### Usage limits - -The following usage limits are enforced as Organization quotas when using Messaging and Queuing: +The following usage limits are enforced as Organization quotas when using Scaleway NATS: **NATS** @@ -283,20 +281,28 @@ The following usage limits are enforced as Organization quotas when using Messag **This implies stream replication. If you choose to replicate your stream across all nodes (3), a storage limit of 100 MB applies. Note that in memory stream are not supported, please create your NATS stream using the `File` storage type. +## Queues + +Scaleway Queues is a product for creating managed messaging queues based on the [SQS](/serverless/messaging/concepts/#nats) protocol. The following usage limits are enforced as Organization quotas when using Scaleway NATS: + +| Resource | Criteria | Limits | Scope | +|------------------------------------------------|------------|----------|------------------| +| Queue storage | Max size | 100 MB** | Scaleway Project | +| Maximum payload | Max size | 256 KB | Queue | +| Max number of queues | Max number | 50 | Scaleway Project | +| Message age / retention period | Max | 14 days | Message | +| Visibility timeout | Max | 12 hours | Queue | + +** This limit applies to all queues within your Scaleway Project, and covers the total storage used by all the queues in your Project. + +## Topics and Events -**SQS/SNS** +Topics and Events is a product for creating managed messaging topics based on the [SNS](/serverless/messaging/concepts/#sns) protocol. The following usage limits are enforced as Organization quotas when using Scaleway NATS: | Resource | Criteria | Limits | Scope | |------------------------------------------------|------------|----------|------------------| -| SQS queue storage | Max size | 100 MB** | Scaleway Project | -| SQS maximum payload | Max size | 256 KB | SQS Queue | -| Max number of SQS queues | Max number | 50 | Scaleway Project | -| Message age / retention period (SQS) | Max | 14 days | Message | -| Visibility timeout | Max | 12 hours | SQS queue | -| Max number of SNS topics | Max number | 50 | Scaleway Project | -| Max number of SNS subscribers per topic | Max number | 50 | Scaleway Project | - -** This limit applies to all your SQS queues within your Scaleway project and covers the total storage used by all the queues in your project. +| Max number of topics | Max number | 50 | Scaleway Project | +| Max number of subscribers per topic | Max number | 50 | Scaleway Project | ## Storage diff --git a/managed-services/transactional-email/api-cli/use-webhooks-with-sns-topics.mdx b/managed-services/transactional-email/api-cli/use-webhooks-with-sns-topics.mdx index ded43c504d..de30174b71 100644 --- a/managed-services/transactional-email/api-cli/use-webhooks-with-sns-topics.mdx +++ b/managed-services/transactional-email/api-cli/use-webhooks-with-sns-topics.mdx @@ -1,13 +1,13 @@ --- meta: - title: Setting up and using TEM webhooks with SNS topics + title: Setting up and using TEM webhooks with Topics and Events description: Learn to monitor and manage email activity in Scaleway Transactional Email. content: - h1: Setting up and using TEM webhooks with SNS topics + h1: Setting up and using TEM webhooks with Topics and Events paragraph: Learn to monitor and manage email activity in Scaleway Transactional Email. tags: transactional webhooks sns managed-services dates: - validation: 2024-07-18 + validation: 2024-10-21 posted: 2024-07-18 categories: - managed-services @@ -15,7 +15,7 @@ categories: A webhook is an automated message sent in real-time from one system to another when a specific event happens, the message is typically conveyed using HTTP requests that are sent to an endpoint of your choice. -You can set up webhooks for Scaleway Transaction Email and subscribe them to [Scaleway Messaging and Queueing SNS Topics](/serverless/messaging/how-to/create-manage-topics/) to have real-time event alerts sent to your endpoints. +You can set up webhooks for Scaleway Transactional Email and subscribe them to [Topics and Events topics](/serverless/messaging/how-to/create-manage-topics/) to have real-time event alerts sent to your endpoints. @@ -26,7 +26,7 @@ You can set up webhooks for Scaleway Transaction Email and subscribe them to [Sc - Added [SPF, DKIM](/managed-services/transactional-email/how-to/add-spf-dkim-records-to-your-domain/), [MX](/managed-services/transactional-email/how-to/add-mx-record-to-your-domain/) and [DMARC](/managed-services/transactional-email/how-to/add-dmarc-record/) records to your domain(s) - Have the necessary quotas to use Transactional Email Webhooks during beta. You can request quotas from the [Scaleway betas page](https://www.scaleway.com/fr/betas/#email-webhooks). -1. [Create an SNS topic](/serverless/messaging/how-to/create-manage-topics/#how-to-create-a-topic) with Scaleway Messaging and Queuing. +1. [Create a Topics and Events topic](/serverless/messaging/how-to/create-manage-topics/#how-to-create-a-topic) with Scaleway Topics and Events. 2. Copy the ARN identifier of the topic in the **Topics** tab as you will need it later. diff --git a/managed-services/transactional-email/how-to/create-webhooks.mdx b/managed-services/transactional-email/how-to/create-webhooks.mdx index 6a9c58f36d..95a262657c 100644 --- a/managed-services/transactional-email/how-to/create-webhooks.mdx +++ b/managed-services/transactional-email/how-to/create-webhooks.mdx @@ -7,7 +7,7 @@ content: paragraph: Learn to monitor and manage email activity in Scaleway Transactional Email. tags: transactional webhooks sns managed-services dates: - validation: 2024-08-07 + validation: 2024-10-21 posted: 2024-08-07 categories: - managed-services @@ -17,10 +17,10 @@ A webhook is an automated message sent in real-time from one system to another w They can be used to track and respond to email-related events such as deliveries, bounces and spam. You can also trigger automated processes or alerts based on specific email events and sync your email events with CRM systems, analytics platforms, or other services. -You can set up webhooks for Scaleway Transactional Email and subscribe them to [Scaleway Messaging and Queueing SNS Topics](/serverless/messaging/how-to/create-manage-topics/) to have real-time event alerts sent to your endpoints in the Scaleway console. +You can set up webhooks for Scaleway Transactional Email and subscribe them to [Scaleway Topics and Events](/serverless/messaging/how-to/create-manage-topics/) to have real-time event alerts sent to your endpoints in the Scaleway console. - Currently, webhooks are integrated exclusively with the Scaleway Messaging and Queuing SNS. Billing for webhooks is based on the Scaleway [SNS billing](https://www.scaleway.com/en/pricing/managed-databases/#messaging-and-queuing). + Currently, webhooks are integrated exclusively with the Scaleway Topics and Events. Billing for webhooks is based on the Scaleway [Topics and Events billing](https://www.scaleway.com/en/pricing/managed-databases/#messaging-and-queuing). - A Scaleway account logged into the [console](https://console.scaleway.com) @@ -44,9 +44,9 @@ You can create only one webhook per domain. Webhook names must be between 3 and 127 characters. - - Select an existing SNS topic. Existing topics are displayed based on the region you select. + - Select an existing topic. Existing topics are displayed based on the region you select. - If you do not have an SNS topic, you can [create one](serverless/messaging/how-to/create-manage-topics/) with Scaleway Messaging and Queuing from the console. + If you do not have a topic, you can [create one](serverless/messaging/how-to/create-manage-topics/) with Scaleway Topics and Events from the console. - Choose the email events that will trigger the webhook and send information to your selected topic. @@ -72,6 +72,6 @@ Once you have created webhooks, you can delete them anytime. 1. Click **Transactional Email** in the **Managed Services** section of the [console](https://console.scaleway.com/) side menu. Your domains display. 2. Click the domain for which you want to delete a webhook. 3. Click the **Webhooks** tab. -4. Click > **Delete** next to the name of the webhook you want to delete. A pop-up appears to warn that linked topic and subscriptions will stay available in SNS. +4. Click > **Delete** next to the name of the webhook you want to delete. A pop-up appears to warn that linked topic and subscriptions will stay available in Topics and Events. 5. Click **Delete Webhook**. diff --git a/menu/navigation.json b/menu/navigation.json index 9dd909be3d..8316326982 100644 --- a/menu/navigation.json +++ b/menu/navigation.json @@ -3684,7 +3684,7 @@ "slug": "code-examples" }, { - "label": "Considerations to configure event retention for SQS trigger inputs", + "label": "Considerations to configure event retention for Queues trigger inputs", "slug": "configure-trigger-inputs" }, { @@ -3826,7 +3826,7 @@ "slug": "use-cases" }, { - "label": "Considerations to configure event retention for SQS trigger inputs", + "label": "Considerations to configure event retention for Queues trigger inputs", "slug": "configure-trigger-inputs" }, { @@ -3972,7 +3972,7 @@ { "items": [ { - "label": "Get started with Messaging and Queuing", + "label": "Get started with NATS, Queues, or Topics and Events", "slug": "get-started" }, { @@ -3996,11 +3996,11 @@ "slug": "create-manage-subscriptions" }, { - "label": "Monitor Messaging and Queuing with Cockpit", + "label": "Monitor NATS, Queues, and Topics and Events with Cockpit", "slug": "monitor-mnq-cockpit" }, { - "label": "Deactivate or delete a Messaging and Queuing service", + "label": "Delete a NATS, Queues, or Topics and Events service", "slug": "deactivate-delete-messaging" } ], @@ -4010,31 +4010,31 @@ { "items": [ { - "label": "Messaging and Queuing NATS API Reference", + "label": "NATS API Reference", "slug": "https://www.scaleway.com/en/developers/api/messaging-and-queuing/nats-api/" }, { - "label": "Messaging and Queuing SQS API Reference", + "label": "Queues API Reference", "slug": "https://www.scaleway.com/en/developers/api/messaging-and-queuing/sqs-api/" }, { - "label": "Messaging and Queuing SNS API Reference", + "label": "Topics and Events API Reference", "slug": "https://www.scaleway.com/en/developers/api/messaging-and-queuing/sns-api/" }, { - "label": "Connecting SNS or SQS to the AWS-CLI", + "label": "Connecting Queues or Topics and Events to the AWS-CLI", "slug": "connect-aws-cli" }, { - "label": "Using SNS or SQS with the AWS-CLI", + "label": "Using Queues or Topics and Events with the AWS-CLI", "slug": "sqs-sns-aws-cli" }, { - "label": "Using Go, Python or Node.js with SNS", + "label": "Using Go, Python or Node.js with Topics and Events", "slug": "python-node-sns" }, { - "label": "Using Go, Python or Node.js with SQS", + "label": "Using Go, Python or Node.js with Queues", "slug": "python-node-sqs" }, { @@ -4048,11 +4048,11 @@ { "items": [ { - "label": "SQS overview", + "label": "Queues overview", "slug": "sqs-overview" }, { - "label": "SNS overview", + "label": "Topics and Events overview", "slug": "sns-overview" }, { @@ -4060,11 +4060,11 @@ "slug": "nats-overview" }, { - "label": "SNS - supported actions", + "label": "Topics and Events - supported actions", "slug": "sns-support" }, { - "label": "SQS - supported actions", + "label": "Queues - supported actions", "slug": "sqs-support" }, { @@ -4076,7 +4076,7 @@ "slug": "reference-content" } ], - "label": "Messaging and Queuing", + "label": "NATS, Queues, Topics and Events", "slug": "messaging" }, { diff --git a/observability/cockpit/reference-content/cockpit-limitations.mdx b/observability/cockpit/reference-content/cockpit-limitations.mdx index 1c60d6e170..8aec33b56f 100644 --- a/observability/cockpit/reference-content/cockpit-limitations.mdx +++ b/observability/cockpit/reference-content/cockpit-limitations.mdx @@ -83,9 +83,9 @@ Refer to our [documentation on understanding Cockpit usage and pricing](/observa | Database RDB MySQL | **Integrated*** | **Integrated*** | Planned | | Redis | **Integrated*** | **Integrated*** | Planned | | Database RDB PostgreSQL | **Integrated*** | **Integrated*** | Planned | -| Messaging and Queuing NATS | **Integrated*** | Not integrated | Not integrated | -| Messaging and Queuing SQS | **Integrated*** | Not integrated | Not integrated | -| Messaging and Queuing SNS | **Integrated*** | Not integrated | Not integrated | +| NATS | **Integrated*** | Not integrated | Not integrated | +| Queues | **Integrated*** | Not integrated | Not integrated | +| Topics and Events | **Integrated*** | Not integrated | Not integrated | | Instances | **Integrated*** | Not integrated | Not integrated | | Cockpit | **Integrated*** | Not integrated | Not integrated | | Object Storage | **Integrated*** | **Integrated*** | Not integrated | diff --git a/serverless/containers/concepts.mdx b/serverless/containers/concepts.mdx index f59a9ed48a..19e70e0501 100644 --- a/serverless/containers/concepts.mdx +++ b/serverless/containers/concepts.mdx @@ -103,11 +103,11 @@ Serverless allows you to deploy your Functions (FaaS) and Containerized Applicat Serverless.com (Serverless Framework) is a tool that allows you to deploy serverless applications without having to manage Serverless Container’s API call. Write and deploy a YAML configuration file, everything else is handled automatically, even the image building. -## SQS trigger +## Queue trigger -An SQS (Simple Queue Service) trigger is a mechanism that connects a container to an [SQS](/serverless/messaging/concepts/#sqs) queue and invokes the container automatically whenever a message is added to the queue. +A queue trigger is a mechanism that connects a container to a queue created with [Scaleway Queues](/serverless/messaging/concepts/#queues), and invokes the container automatically whenever a message is added to the queue. -For each message that is sent to an SQS queue, the SQS trigger reads the message and invokes the associated container with the message as the input parameter. +For each message that is sent to a queue, the trigger reads the message and invokes the associated container with the message as the input parameter. The container can then process the message and perform any required actions, such as updating a database or sending a notification. ## Stateless application diff --git a/serverless/containers/how-to/add-trigger-to-a-container.mdx b/serverless/containers/how-to/add-trigger-to-a-container.mdx index ea2ebd38b0..bc26dee696 100644 --- a/serverless/containers/how-to/add-trigger-to-a-container.mdx +++ b/serverless/containers/how-to/add-trigger-to-a-container.mdx @@ -26,32 +26,31 @@ A trigger can be an HTTP request, a message from a queue or stream, a CRON sched - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization - Created a [containers namespace](/serverless/containers/how-to/create-a-containers-namespace/) - Deployed a container from [Scaleway Container Registry](/serverless/containers/how-to/deploy-a-container-from-scaleway-container-registry/) or an [external registry](/serverless/containers/how-to/deploy-a-container-from-external-container-registry/) -- [Activated SQS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) -- [Created credentials](/serverless/messaging/how-to/create-credentials/) for SQS -- [Created an SQS queue](/serverless/messaging/how-to/create-manage-queues/) +- [Created credentials](/serverless/messaging/how-to/create-credentials/) for Scaleway Queues +- [Created a queue](/serverless/messaging/how-to/create-manage-queues/) -You can create triggers on private containers, but to update the privacy of a container from **public** to **private**, you must recreate the existing **SQS** and **NATS** triggers after the privacy change. We are actively working to make this operation as seamless as possible. +You can create triggers on private containers, but to update the privacy of a container from **public** to **private**, you must recreate the existing **Scaleway Queues** and **Scaleway NATS** triggers after the privacy change. We are actively working to make this operation as seamless as possible. Triggers send messages through a `POST` request with the message body in the request body. -## SQS triggers +## Queue triggers -[SQS triggers](/serverless/containers/concepts/#sqs-trigger) allow you to automatically invoke a container using events stored in a [queue](/serverless/messaging/concepts/#queue). +[Queue triggers](/serverless/containers/concepts/#queue-trigger) allow you to automatically invoke a container using events stored in a [Scaleway queue](/serverless/messaging/concepts/#queues). -SQS queues of the [Scaleway Messaging and Queuing](/serverless/messaging/quickstart/) product are compatible with Serverless Containers. +Only queues created with the Scaleway Queues product are compatible with Serverless Containers. -The configuration of the queue retention can affect the behavior of the trigger. Refer to the [Considerations to configure event retention for SQS trigger inputs](/serverless/containers/reference-content/configure-trigger-inputs/) page for more information. +The configuration of the queue retention can affect the behavior of the trigger. Refer to the [Considerations to configure event retention for queue trigger inputs](/serverless/containers/reference-content/configure-trigger-inputs/) page for more information. 1. Click **Containers** in the **Serverless** section of the side menu. The containers page displays. 2. Click the relevant containers namespace. 3. Click the name of the container you want to manage. The container overview displays. 4. Click the **Triggers** tab. The trigger configuration displays. 5. Click **Create trigger**. The trigger creation form displays in a pop-up. -6. Enter a **name** for your trigger and select the **SQS (Scaleway)** type, then select your queue name. +6. Enter a **name** for your trigger and select the **Queues (Scaleway)** type, then select your queue name. 7. Click **Create trigger** to launch the trigger creation. When a message is pushed to the selected queues, the container will be triggered with the message content passed in the event object's body. @@ -60,7 +59,7 @@ When a message is pushed to the selected queues, the container will be triggered [NATS triggers](/serverless/containers/concepts/#nats-trigger) allow you to automatically invoke a container using messages sent in a [NATS](/serverless/messaging/concepts/#nats) subject. -NATS subjects of the [Scaleway Messaging and Queuing](/serverless/messaging/quickstart/) product are compatible with Serverless Containers. +[Scaleway NATS subjects](/serverless/messaging/quickstart/#quickstart-for-nats) are compatible with Serverless Containers. 1. Click **Containers** in the **Serverless** section of the side menu. The containers page displays. 2. Click the relevant containers namespace. diff --git a/serverless/containers/how-to/secure-a-container.mdx b/serverless/containers/how-to/secure-a-container.mdx index 8164c90538..1c3d5bb622 100644 --- a/serverless/containers/how-to/secure-a-container.mdx +++ b/serverless/containers/how-to/secure-a-container.mdx @@ -65,7 +65,7 @@ secret_environment_variables = { "key" = "secret" } You can set Serverless containers as private if you want, to protect them from unwanted or unauthorized calls. -Unauthenticated calls will be rejected, and your container will not be triggered. This feature is handy if an event triggers your container (CRON, and soon SQS or NATS trigger) or if you put them behind an API gateway or a proxy server (see examples in serverless-examples). +Unauthenticated calls will be rejected, and your container will not be triggered. This feature is handy if an event triggers your container (CRON, NATS or Queues) or if you put them behind an API gateway or a proxy server (see examples in serverless-examples). ### Restrict access from the Scaleway console diff --git a/serverless/containers/reference-content/configure-trigger-inputs.mdx b/serverless/containers/reference-content/configure-trigger-inputs.mdx index ec273afe63..cee0c8d9be 100644 --- a/serverless/containers/reference-content/configure-trigger-inputs.mdx +++ b/serverless/containers/reference-content/configure-trigger-inputs.mdx @@ -1,9 +1,9 @@ --- meta: - title: Considerations to configure event retention for SQS trigger inputs + title: Considerations to configure event retention for Scaleway Queues trigger inputs description: How to configure trigger inputs for Scaleway Serverless Containers. content: - h1: Considerations to configure event retention for SQS trigger inputs + h1: Considerations to configure event retention for Scaleway Queues trigger inputs paragraph: How to configure trigger inputs for Scaleway Serverless Containers. tags: containers dates: @@ -18,13 +18,13 @@ categories: This feature only allows a maximum of 10 in-flight requests. Containers that are configured with more than 10 replicas will not be used at full capacity. This limitation will be removed in the future. -Triggers get events from an input, such as an SQS queue, and forward them to a container, which will scale up according to its settings to accommodate the workload. This process uses **back pressure**, so that no new events are read if the container instances have not yet finished processing the previous ones. +Triggers get events from an input, such as a Scaleway queue, and forward them to a container, which will scale up according to its settings to accommodate the workload. This process uses **back pressure**, so that no new events are read if the container instances have not yet finished processing the previous ones. Triggers only keep a buffer of the messages **that are in-flight**, they do not drain all the messages of the input in advance. -As a result, in some scenarios such as event bursts or slow computations, events may stay in the input buffer for a while before being consumed. If the input messages in the queue are set with a timeout, such as the [MessageRetentionPeriod](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html) in SQS queues, events may be deleted before triggering the container. +As a result, in some scenarios such as event bursts or slow computations, events may stay in the input buffer for a while before being consumed. If the input messages in the queue are set with a timeout, such as the [MessageRetentionPeriod](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html) in queues, events may be deleted before triggering the container. The implementation of the core trigger behavior is **input-agnostic**. It is therefore your responsibility to configure the input buffers according to your use case to avoid losing events. diff --git a/serverless/functions/concepts.mdx b/serverless/functions/concepts.mdx index 94a026da99..1985f13756 100644 --- a/serverless/functions/concepts.mdx +++ b/serverless/functions/concepts.mdx @@ -93,11 +93,11 @@ The platform also handles function availability and manages resource allocation You pay for the resources your functions use, and only when your functions need them. -## SQS trigger +## Queue trigger -An SQS (Simple Queue Service) trigger is a mechanism that connects a function to an [SQS](/serverless/messaging/concepts/#sqs) queue and invokes the function automatically whenever a message is added to the queue. +A queue trigger is a mechanism that connects a function to a queue created with [Scaleway Queues](/serverless/messaging/concepts/#queues), and invokes the function automatically whenever a message is added to the queue. -For each message that is sent to an SQS queue, the SQS trigger reads the message and invokes the associated function with the message as the input parameter. +For each message that is sent to a queue, the trigger reads the message and invokes the associated function with the message as the input parameter. The function can then process the message and perform any required actions, such as updating a database or sending a notification. ## Timeout diff --git a/serverless/functions/how-to/add-trigger-to-a-function.mdx b/serverless/functions/how-to/add-trigger-to-a-function.mdx index aaddb08b43..77f7fda705 100644 --- a/serverless/functions/how-to/add-trigger-to-a-function.mdx +++ b/serverless/functions/how-to/add-trigger-to-a-function.mdx @@ -26,39 +26,38 @@ A trigger can be an HTTP request, a message from a queue or stream, a CRON sched - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization - Created a [functions namespace](/serverless/functions/how-to/create-a-functions-namespace/) - Created a [function](/serverless/functions/how-to/create-a-function/) -- [Activated SQS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) -- [Created credentials](/serverless/messaging/how-to/create-credentials/) for SQS -- Created an [SQS queue](/serverless/messaging/how-to/create-manage-queues/) +- [Created credentials](/serverless/messaging/how-to/create-credentials/) for Scaleway Queues +- [Created a queue](/serverless/messaging/how-to/create-manage-queues/) -You can create triggers on private functions, but to update the privacy of a function from **public** to **private**, you must recreate the existing **SQS** and **NATS** triggers after the privacy change. We are actively working to make this operation as seamless as possible. +You can create triggers on private functions, but to update the privacy of a function from **public** to **private**, you must recreate the existing **Queues** and **NATS** triggers after the privacy change. We are actively working to make this operation as seamless as possible. Triggers send messages through a `POST` request with the message body in the request body. -## SQS triggers +## Queue triggers -[SQS triggers](/serverless/functions/concepts/#sqs-trigger) allow you to automatically invoke a function using events stored in a [queue](/serverless/messaging/concepts/#queue). +[Queue triggers](/serverless/containers/concepts/#queue-trigger) allow you to automatically invoke a function using events stored in a [queue](/serverless/messaging/concepts/#queue). -SQS queues of the [Scaleway Messaging and Queuing](/serverless/messaging/quickstart/) product are compatible with Serverless Functions. +Only queues created with the Scaleway Queues product are compatible with Serverless Functions. -The configuration of the queue retention may affect the behavior of the trigger. Refer to the [Considerations to configure event retention for SQS trigger inputs](/serverless/functions/reference-content/configure-trigger-inputs/) page for more information. +The configuration of the queue retention may affect the behavior of the trigger. Refer to the [Considerations to configure event retention for queue trigger inputs](/serverless/functions/reference-content/configure-trigger-inputs/) page for more information. 1. Click **Functions** in the **Serverless** section of the side menu. The functions page displays. 2. Click the relevant functions namespace. 3. Click the name of the function you want to manage. The function **Code** tab displays. 4. Click the **Triggers** tab. The trigger configuration displays. 5. Click **Create trigger**. The trigger creation form displays in a pop-up. -6. Enter a **name** for your trigger and select the **SQS (Scaleway)** type, then select your queue name. +6. Enter a **name** for your trigger and select the **Queues (Scaleway)** type, then select your queue name. 7. Click **Create trigger** to launch trigger creation. ## NATS triggers [NATS triggers](/serverless/functions/concepts/#nats-trigger) allow you to automatically invoke a function using messages sent in a [NATS](/serverless/messaging/concepts/#nats) subject. -NATS subjects of the [Scaleway Messaging and Queuing](/serverless/messaging/quickstart/) product are compatible with Serverless Functions. +Scaleway [NATS subjects](/serverless/messaging/quickstart/#quickstart-for-nats) are compatible with Serverless Functions. 1. Click **Functions** in the **Serverless** section of the side menu. The functions page displays. 2. Click the relevant functions namespace. diff --git a/serverless/functions/how-to/secure-a-function.mdx b/serverless/functions/how-to/secure-a-function.mdx index 411bd3e0f7..e4de8a55bd 100644 --- a/serverless/functions/how-to/secure-a-function.mdx +++ b/serverless/functions/how-to/secure-a-function.mdx @@ -68,7 +68,7 @@ secret_environment_variables = { "key" = "secret" } You can set Serverless Functions as private if you want to protect your functions from unwanted or unauthorized calls. -Unauthenticated calls will be rejected, and your function will not be triggered. This feature is handy if an event triggers your function (CRON, SQS or NATS trigger) or if you put them behind an API gateway or a proxy server (see examples in [serverless-examples](https://github.com/scaleway/serverless-examples)). +Unauthenticated calls will be rejected, and your function will not be triggered. This feature is handy if an event triggers your function (CRON, Queues or NATS trigger) or if you put them behind an API gateway or a proxy server (see examples in [serverless-examples](https://github.com/scaleway/serverless-examples)). ### Restrict access from the Scaleway console diff --git a/serverless/functions/reference-content/configure-trigger-inputs.mdx b/serverless/functions/reference-content/configure-trigger-inputs.mdx index 684834a7ce..312a8f855e 100644 --- a/serverless/functions/reference-content/configure-trigger-inputs.mdx +++ b/serverless/functions/reference-content/configure-trigger-inputs.mdx @@ -1,13 +1,13 @@ --- meta: - title: Considerations to configure event retention for SQS trigger inputs + title: Considerations to configure event retention for Scaleway Queues trigger inputs description: Configure trigger inputs for Scaleway Serverless Functions to automate executions. content: - h1: Considerations to configure event retention for SQS trigger inputs + h1: Considerations to configure event retention for Scaleway Queues trigger inputs paragraph: Configure trigger inputs for Scaleway Serverless Functions to automate executions. tags: functions dates: - validation: 2024-07-02 + validation: 2024-10-21 posted: 2023-06-09 categories: - serverless @@ -18,13 +18,13 @@ categories: This feature only allows a maximum of 10 in-flight requests. Functions that are configured with more than 10 replicas will not be used at full capacity. This limitation will be removed in the future. -Triggers get events from an input, such as an [SQS queue](/serverless/messaging/concepts/#sqs), and forward them to a function, which will scale up according to its settings to accommodate the workload. This process uses back pressure, so that no new events are read if the function instances have not yet finished processing the previous ones. +Triggers get events from an input, such as a [Scaleway queue](/serverless/messaging/concepts/#queues), and forward them to a function, which will scale up according to its settings to accommodate the workload. This process uses back pressure, so that no new events are read if the function instances have not yet finished processing the previous ones. Triggers only keep a buffer of the messages that are in-flight, they do not drain all the messages of the input in advance. -As a result, in some scenarios such as event bursts or slow computations, events may stay in the input buffer for a while before being consumed. If the input messages in the queue are set with a timeout, such as the [MessageRetentionPeriod](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html) in SQS queues, events may be deleted before triggering the function. +As a result, in some scenarios such as event bursts or slow computations, events may stay in the input buffer for a while before being consumed. If the input messages in the queue are set with a timeout, such as the [MessageRetentionPeriod](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html) in queues, events may be deleted before triggering the function. The implementation of the core trigger behavior is input agnostic, it is, therefore, your responsibility to configure the input buffers according to your use case to avoid losing events. diff --git a/serverless/functions/reference-content/use-cases.mdx b/serverless/functions/reference-content/use-cases.mdx index f8d75993d4..73f76b6982 100644 --- a/serverless/functions/reference-content/use-cases.mdx +++ b/serverless/functions/reference-content/use-cases.mdx @@ -36,9 +36,9 @@ This example shows how to handle different HTTP methods (POST and GET) as well a [Python Chatbot](https://github.com/scaleway/serverless-examples/tree/main/functions/python-chatbot/README.md) -## Go - SQS Publish message +## Go - Queues Publish message -You can use this example to publish a message to an SQS queue using the MNQ namespace from the Scaleway Go SDK. +You can use this example to publish a message to a Scaleway queue using the MNQ namespace from the Scaleway Go SDK. [MNQ SQS Publish message using Golang](https://github.com/scaleway/serverless-examples/blob/main/functions/go-mnq-sqs-publish/README.md) diff --git a/serverless/messaging/api-cli/connect-aws-cli.mdx b/serverless/messaging/api-cli/connect-aws-cli.mdx index 52c7e2e486..0d250fa010 100644 --- a/serverless/messaging/api-cli/connect-aws-cli.mdx +++ b/serverless/messaging/api-cli/connect-aws-cli.mdx @@ -1,37 +1,35 @@ --- meta: - title: Connecting Messaging and Queuing SQS or SNS to the AWS-CLI - description: This page explains how to connect Scaleway Messaging and Queuing SQS or SNS to the AWS-CLI + title: Connecting Queues or Topics and Events to the AWS-CLI + description: This page explains how to connect Scaleway Queues and/or Topics and Events to the AWS-CLI content: - h1: Connecting Messaging and Queuing SQS or SNS to the AWS-CLI - paragraph: This page explains how to connect Scaleway Messaging and Queuing SQS or SNS to the AWS-CLI + h1: Connecting Queues or Topics and Events to the AWS-CLI + paragraph: This page explains how to connect Scaleway Queues and/or Topics and Events to the AWS-CLI tags: messaging sns sqs aws-cli cli aws sdk python boto categories: - messaging dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-04 -validation_frequency: 8 --- -The AWS-CLI is an open-source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services. With minimal configuration, you can start using the AWS-CLI with Scaleway Messaging and Queuing SQS and/or SNS. This allows you to create, list and manage your queues and topics, send messages and much more, all from your command line. +The AWS-CLI is an open-source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services. With minimal configuration, you can start using the AWS-CLI with Scaleway Queues or Scaleway Topics and Events. This allows you to create, list and manage your queues and topics, send messages and much more, all from your command line. -This guide shows you how to install the AWS-CLI and configure it to connect to Scaleway Messaging and Queuing SQS or SNS. +This guide shows you how to install the AWS-CLI and configure it to connect to Scaleway Queues or Scaleway Topics and Events. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- [Activated SQS and/or SNS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) -- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for SQS/SNS +- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for Queues and/or Topics and Events - This page assumes you will use the AWS-CLI v1. For v2, see the [relevant AWS-CLI documentation page](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html). + This page assumes you will use the AWS-CLI v1. ## How to install the AWS-CLI -To interact with Scaleway Messaging and Queuing, both `aws-cli` and `awscli-plugin-endpoint` need to be installed. The `awscli-plugin-endpoint` is a useful plugin to help people more easily access third-party providers such as Scaleway. +To interact with Scaleway Queues and Scaleway Topics and Events, both `aws-cli` and `awscli-plugin-endpoint` need to be installed. The `awscli-plugin-endpoint` is a useful plugin to help people more easily access third-party providers such as Scaleway. Install both `aws-cli` and `awscli-plugin` using `pip`. @@ -42,7 +40,7 @@ pip3 install awscli-plugin-endpoint ## How to configure the AWS-CLI -Now you have installed the AWS-CLI, you need to configure it for use with Scaleway Messaging and Queuing. +Now you have installed the AWS-CLI, you need to configure it for use with Scaleway Queues / Topics and Events. 1. Create a file named `~/.aws/config` by running the following command: ``` @@ -53,7 +51,7 @@ Now you have installed the AWS-CLI, you need to configure it for use with Scalew With the most recent versions of awscli (1.29.0 or 2.13.0), the use of a plugin is not necessary. If you are using one of those versions and wish to skip this step, you can do so. Note that this will also affect your configuration file in the next step. -2. Open the `~/.aws/config` file you just created in a text editor and edit it as follows (the SNS or SQS endpoint URL can be found in the console on the **Settings** page for the relevant protocol) +2. Open the `~/.aws/config` file you just created in a text editor and edit it as follows (the Queues (SQS) or Topics and Events (SNS) endpoint URLs can be found in the console on the **Settings** page for the relevant product) ``` [plugins] endpoint = awscli_plugin_endpoint @@ -106,14 +104,14 @@ Now you have installed the AWS-CLI, you need to configure it for use with Scalew ``` aws configure ``` - -4. Open the `~/.aws/credentials` file you just created, and for each protocol you want to use, add the access key and secret key you saved when you generated your [SQS or SNS credentials](/serverless/messaging/how-to/create-credentials/): +** +4. Open the `~/.aws/credentials` file you just created, and for each product (out of **Queues** and **Topics and Events**) you want to use, add the access key and secret key you saved when you generated your [credentials](/serverless/messaging/how-to/create-credentials/): ``` - [sns] + [topics_events] aws_access_key_id= aws_secret_access_key= - [sqs] + [queues] aws_access_key_id= aws_secret_access_key= ``` @@ -127,13 +125,13 @@ Now you have installed the AWS-CLI, you need to configure it for use with Scalew 6. Test that everything is set up correctly with the following command: ``` - aws sqs list-queues + aws queues list-queues ``` Use the `--profile` option if you want to test it using a different profile. Check out our dedicated documentation to find more common commands for getting started with the AWS CLI: - - The [SQS guide](/serverless/messaging/api-cli/sqs-sns-aws-cli#getting-started-with-sqs) walks you through creating and listing queues, sending messages to queues, and more. - - The [SNS guide](/serverless/messaging/api-cli/sqs-sns-aws-cli#getting-started-with-sns) shows you how to create and list topics and subscriptions, send messages to topics, and more. + - The [Queues guide](/serverless/messaging/api-cli/sqs-sns-aws-cli#getting-started-with-sqs) walks you through creating and listing queues, sending messages to queues, and more. + - The [Topics and Events guide](/serverless/messaging/api-cli/sqs-sns-aws-cli#getting-started-with-sns) shows you how to create and list topics and subscriptions, send messages to topics, and more. diff --git a/serverless/messaging/api-cli/index.mdx b/serverless/messaging/api-cli/index.mdx index 8dd26bd4b4..aef6e7ef1f 100644 --- a/serverless/messaging/api-cli/index.mdx +++ b/serverless/messaging/api-cli/index.mdx @@ -1,8 +1,8 @@ --- meta: - title: Messaging and Queuing - API/CLI Documentation - description: Messaging and Queuing API/CLI Documentation + title: NATS, Queues, and Topics and Events - API/CLI Documentation + description: NATS, Queues, and Topics and Events API/CLI Documentation content: - h1: Messaging and Queuing - API/CLI Documentation - paragraph: Messaging and Queuing API/CLI Documentation + h1: NATS, Queues, and Topics and Events - API/CLI Documentation + paragraph: NATS, Queues, and Topics and Events API/CLI Documentation --- diff --git a/serverless/messaging/api-cli/nats-cli.mdx b/serverless/messaging/api-cli/nats-cli.mdx index f98fe2ef1b..9846997cc6 100644 --- a/serverless/messaging/api-cli/nats-cli.mdx +++ b/serverless/messaging/api-cli/nats-cli.mdx @@ -1,17 +1,16 @@ --- meta: title: Using the NATS CLI - description: This page explains how to use the NATS CLI with Scaleway Messaging and Queuing + description: This page explains how to use the NATS CLI with Scaleway NATS content: h1: Using the NATS CLI - paragraph: This page explains how to use the NATS CLI with Scaleway Messaging and Queuing + paragraph: This page explains how to use the NATS CLI with Scaleway NATS tags: messaging nats cli categories: - messaging dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-20 -validation_frequency: 8 --- The NATS CLI (`nats`) is the official NATS tool for managing your NATS resources. It allows you to simply create and manage your streams, consumers and more. @@ -19,7 +18,7 @@ The NATS CLI (`nats`) is the official NATS tool for managing your NATS resources Check out the official [NATS CLI documentation](https://docs.nats.io/using-nats/nats-tools/nats_cli/) for installation instructions, examples and more. - You can also configure Messaging and Queuing with the Terraform NATS Jetstream provider using our [dedicated tutorial](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider). + You can also configure Scaleway NATS with the Terraform NATS Jetstream provider using our [dedicated tutorial](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider). This page shows you how to get started with some basic actions via the NATS CLI. @@ -28,7 +27,7 @@ This page shows you how to get started with some basic actions via the NATS CLI. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- A [NATS account](/serverless/messaging/how-to/get-started/#how-to-create-a-nats-account) +- A Scaleway [NATS account](/serverless/messaging/how-to/get-started/#how-to-create-a-nats-account) - NATS [credentials](/serverless/messaging/how-to/create-credentials/) downloaded to your machine ## Installing the NATS CLI @@ -37,7 +36,7 @@ Follow instructions from the [official NATS documentation](https://docs.nats.io/ ## Define a context -To simplify your interactions with NATS hosted on Scaleway Messaging and Queuing, we recommend that you use [contexts](https://docs.nats.io/using-nats/nats-tools/nats_cli#nats-contexts). A context is a named configuration that stores the settings (such as credentials, URLs and certificates) required to connect to NATS. By creating a context, you won't need to specify your server and credentials with each new request. +To simplify your interactions with NATS hosted on Scaleway, we recommend that you use [contexts](https://docs.nats.io/using-nats/nats-tools/nats_cli#nats-contexts). A context is a named configuration that stores the settings (such as credentials, URLs and certificates) required to connect to NATS. By creating a context, you won't need to specify your server and credentials with each new request. ### Create a context @@ -63,7 +62,7 @@ To create a [stream](/serverless/messaging/concepts/#stream), use the command `n Bear in mind that: - - Scaleway Messaging and Queuing does not support in-memory streams: choose `File` as storage backend. + - Scaleway NATS does not support in-memory streams: choose `File` as storage backend. - Some [system limits](/serverless/messaging/reference-content/limitations/) may apply by default. - If you choose a `Retention Policy` other than `Work Queue` you will be billed for the messages stored and retained. - Choosing three replicas has an impact on: @@ -112,4 +111,4 @@ Below we provide a summary of some useful commands. | Add a consumer | `nats consumer add` | | View a consumer `NEW` of stream `ORDERS` | `nats consumer info ORDERS NEW` | | Remove consumer `NEW` from stream `ORDERS`| `nats consumer rm ORDERS NEW` | -| Get messages from consumer `NEW` of stream `ORDERS` | `nats consumer next ORDERS NEW --ack --count=10 `, `nats consumer next ORDERS NEW --no-ack`, `nats consumer sub ORDERS NEW --ack` | +| Get messages from consumer `NEW` of stream `ORDERS` | `nats consumer next ORDERS NEW --ack --count=10 `, `nats consumer next ORDERS NEW --no-ack`, `nats consumer sub ORDERS NEW --ack` | diff --git a/serverless/messaging/api-cli/python-node-sns.mdx b/serverless/messaging/api-cli/python-node-sns.mdx index 37b900b061..bbe9217a1b 100644 --- a/serverless/messaging/api-cli/python-node-sns.mdx +++ b/serverless/messaging/api-cli/python-node-sns.mdx @@ -1,40 +1,38 @@ --- meta: - title: Using Go, Python or Node.js with SNS - description: This page explains how to use Go, Python or Node.js with SNS and provides code samples + title: Using Go, Python or Node.js with Topics and Events + description: This page explains how to use Go, Python or Node.js with Topics and Events and provides code samples content: - h1: Using Go, Python or Node.js with SNS - paragraph: This page explains how to use Go, Python or Node.js with SNS and provides code samples -tags: messaging boto3 python nodejs sns go + h1: Using Go, Python or Node.js with Topics and Events + paragraph: This page explains how to use Go, Python or Node.js with Topics and Events and provides code samples +tags: messaging boto3 python nodejs sns go topics-events categories: - messaging dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-04 -validation_frequency: 8 --- -AWS provides a number of **S**oftware **D**evelopment **K**its (SDKs) which provide language-specific APIs for AWS services, including [SNS](/serverless/messaging/concepts/#sns). +AWS provides a number of **S**oftware **D**evelopment **K**its (SDKs) which provide language-specific APIs for AWS services, including [SNS](/serverless/messaging/concepts/#sns), which is the protocol that Scaleway Topics and Events is based on. - AWS provides a dedicated [SDK for Go](https://aws.amazon.com/sdk-for-go/). - The [AWS SDK for Python](https://aws.amazon.com/sdk-for-python/) is Boto3. - For Node.js, use the [AWS SDK for JavaScript](https://aws.amazon.com/sdk-for-javascript/), which can be [installed from NPM](https://github.com/aws/aws-sdk-js-v3#getting-started). -This page provides code samples to show you how to get started using these SDKs with Scaleway Messaging and Queuing SNS. +This page provides code samples to show you how to get started using these SDKs with Scaleway Topics and Events. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- [Activated SNS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) -- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for SNS +- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for Topics and Events - Installed the relevant AWS SDK [for Go](https://aws.amazon.com/sdk-for-go/), [Python](https://aws.amazon.com/sdk-for-python/) and/or [JavaScript](https://aws.amazon.com/sdk-for-javascript/) ## Go -### Connect to SNS (Go) +### Connect to Topics and Events (Go) -The following code shows you how to connect to SNS: +The following code shows you how to connect to Scaleway Topics and Events: ```go import ( @@ -59,11 +57,11 @@ func main() { - The `Endpoint` for Scaleway Messaging and Queuing with SNS is `https://sns.mnq.fr-par.scaleway.com`. The values for the access and secret keys should be the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for SNS. + The `Endpoint` for Scaleway Topics and Events is `https://sns.mnq.fr-par.scaleway.com`. The values for the access and secret keys should be the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for Topics and Events. -Once connected to the SNS service, you can use any of the SDK's available functions. Be aware though that some functions are not [supported by Scaleway Messaging and Queuing](/serverless/messaging/reference-content/sns-support/), so make sure to check the link for more details on these. See the [official SDK documentation](https://pkg.go.dev/github.com/aws/aws-sdk-go/service/sns) for more information on getting started with the SDK, or keep reading for some code examples. +Once connected, you can use any of the SDK's available functions. Be aware though that some functions are not [supported by Scaleway Topics and Events](/serverless/messaging/reference-content/sns-support/), so make sure to check the link for more details on these. See the [official SDK documentation](https://pkg.go.dev/github.com/aws/aws-sdk-go/service/sns) for more information on getting started with the SDK, or keep reading for some code examples. ### Create topic (Go) @@ -89,10 +87,6 @@ for i := 0; i < 10; i++ { ### Create subscriptions to this topic (Go) -#### Subscribe to an SQS queue from the same Scaleway Project - -This is no longer supported. Watch this space for future developments. - #### Subscribe to a public Scaleway function This code triggers the function each time a message is published to the topic. @@ -106,8 +100,6 @@ _, _ = awsSns.Subscribe(&sns.SubscribeInput{ TopicArn: createTopicResponse.TopicArn, }) -Setting up an SQS queue from the same Scaleway Project (as a Dead Letter Queue), is no longer supported. Watch this space for future developments. - #### Subscribe to an HTTP/S endpoint ```go @@ -154,9 +146,9 @@ for _, sub := range listSubscriptions.Subscriptions { ## Python -### Connect to SNS (Python) +### Connect to Topics and Events (Python) -The following code shows you how to connect to SNS using Boto3's `resource()`. You could also use `client()`, but we favor `resource()` as it is more pythonesque: +The following code shows you how to connect to Topics and Events using Boto3's `resource()`. You could also use `client()`, but we favor `resource()` as it is more pythonesque: ```python sns = boto3.resource('sns', @@ -167,10 +159,10 @@ sns = boto3.resource('sns', ``` - The `endpoint_url` for Scaleway Messaging and Queuing with SNS is `https://sns.mnq.fr-par.scaleway.com`. The values for the access and secret keys should be the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for SNS. + The `endpoint_url` for Scaleway Topics and Events (based on SNS) is `https://sns.mnq.fr-par.scaleway.com`. The values for the access and secret keys should be the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for Topics and Events. -Once connected to the SNS service, you can use any of the SDK's available functions. However, some functions are not [supported by Scaleway Messaging and Queuing](/serverless/messaging/reference-content/sns-support/), so do check the link to make sure. See the [official SDK documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) for more information, or keep reading for some code examples. +Once connected to, you can use any of the SDK's available functions. However, some functions are not [supported by Scaleway Topics and Events](/serverless/messaging/reference-content/sns-support/), so do check the link to make sure. See the [official SDK documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) for more information, or keep reading for some code examples. ### Create topic (Python) @@ -192,10 +184,6 @@ for i in range (0,10): ### Create subscriptions to this topic (Python) -#### Subscribe to an SQS queue from the same Scaleway Project - -This is no longer supported. Watch this space for future developments. - #### Subscribe to a public Scaleway function This code triggers the function each time a message is published to the topic. @@ -210,8 +198,6 @@ subscription_functions = topic.subscribe( ) ``` -Setting up an SQS queue from the same Scaleway Project (as a Dead Letter Queue), is no longer supported. Watch this space for future developments. - ```python subscription_functions = topic.subscribe( Protocol='lambda', @@ -261,9 +247,9 @@ for subs in topic.subscriptions.all(): ## Node.js -### Connect to SNS (NodeJS) +### Connect to Topics and Events (NodeJS) -The following code sample shows how to connect to SNS: +The following code sample shows how to connect to Topics and Events: ```javascript import { @@ -290,10 +276,10 @@ var snsClient = new SNSClient({ ``` - The `endpoint_url` for Scaleway Messaging and Queuing with SNS is `https://sns.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for SNS. + The `endpoint_url` for Scaleway Topics and Events is `https://sns.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for Topics and Events. -Once connected to the SNS service, you can use any of the SDK's available functions. However, some functions are not [supported by Scaleway Messaging and Queuing](/serverless/messaging/reference-content/sns-support), so do check the link to make sure. See the [official SDK documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sns/) for more information, or keep reading for some code examples. +Once connected, you can use any of the SDK's available functions. However, some functions are not [supported by Scaleway Topics and Events](/serverless/messaging/reference-content/sns-support), so do check the link to make sure. See the [official SDK documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sns/) for more information, or keep reading for some code examples. ### Create topic (NodeJS) @@ -330,10 +316,6 @@ console.log(restPublishCommand.MessageId); You can find all available parameters for the subscribe operation in the [AWS documentation] (https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sns/classes/subscribecommand.html) -#### Subscribe to an SQS queue from the same Scaleway Project - -This is no longer supported. Watch this space for future developments. - #### Subscribe to a public Scaleway function This code triggers the function each time a message is published to the topic. @@ -352,8 +334,6 @@ const rest = await snsClient.send(command); console.log(rest.SubscriptionArn); ``` -Setting up an SQS queue from the same Scaleway Project (as a Dead Letter Queue), is no longer supported. Watch this space for future developments. - #### Subscribe to an HTTP/S endpoint ```javascript @@ -416,7 +396,7 @@ try { ### Delete all topics (NodeJS) -The following code sample deletes all your SNS topics. +The following code sample deletes all your topics. ```javascript // First List Topics diff --git a/serverless/messaging/api-cli/python-node-sqs.mdx b/serverless/messaging/api-cli/python-node-sqs.mdx index 08dc496826..ae04398456 100644 --- a/serverless/messaging/api-cli/python-node-sqs.mdx +++ b/serverless/messaging/api-cli/python-node-sqs.mdx @@ -1,39 +1,38 @@ --- meta: - title: Using Go, Python or Node.js with SQS - description: This page explains how to use Go, Python or Node.js with SQS and provides code samples + title: Using Go, Python or Node.js with Scaleway Queues + description: This page explains how to use Go, Python or Node.js with Scaleway Queues and provides code samples content: - h1: Using Go, Python or Node.js with SQS - paragraph: This page explains how to use Go, Python or Node.js with SQS and provides code samples + h1: Using Go, Python or Node.js with Scaleway Queues + paragraph: This page explains how to use Go, Python or Node.js with Scaleway Queues and provides code samples tags: messaging boto3 python nodejs sqs go categories: - messaging dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-04 --- -AWS provides a number of SDKs (**S**oftware **D**evelopment **K**its) which provide language-specific APIs for AWS services, including [SQS](/serverless/messaging/concepts#sqs). +AWS provides a number of SDKs (**S**oftware **D**evelopment **K**its) which provide language-specific APIs for AWS services, including [SQS](/serverless/messaging/concepts#sqs), which is the protocol Scaleway Queues is based on. - AWS provides a dedicated [SDK for Go](https://aws.amazon.com/sdk-for-go/). - The [AWS SDK for Python](https://aws.amazon.com/sdk-for-python/) is Boto3 - For Node.js, use the [AWS SDK for JavaScript](https://aws.amazon.com/sdk-for-javascript/), which can be [installed from NPM](https://github.com/aws/aws-sdk-js-v3#getting-started) -This guide provides code samples to show you how to start using these SDKs with your Scaleway Messaging SQS. +This guide provides code samples to show you how to start using these SDKs with Scaleway Queues. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- [Activated SQS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) -- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for SQS +- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for Scaleway Queues - Installed the relevant AWS SDK [for Go](https://aws.amazon.com/sdk-for-go/), [Python](https://aws.amazon.com/sdk-for-python/) and/or [JavaScript](https://aws.amazon.com/sdk-for-javascript/) ## Go -### Connect to SQS (Go) +### Connect to Queues (Go) -The following code sample shows how to connect to SQS: +The following code sample shows how to connect to Scaleway Queues: ```go import ( @@ -58,11 +57,11 @@ func main() { - The `Endpoint` for Scaleway Messaging and Queuing with SQS is `https://sqs.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for SQS. + The `Endpoint` for Scaleway Queues is `https://sqs.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for Queues. -Once you are connected to the SQS service, you can use any functions available with the SDK. However, we recommend that you check they are [supported by Scaleway Messaging and Queuing](/serverless/messaging/reference-content/sqs-support/). See the [official documentation](https://pkg.go.dev/github.com/aws/aws-sdk-go/service/sqs) for more details on using the SDK, or read on to see some examples. +Once you are connected, you can use any functions available with the SDK. However, we recommend that you check they are [supported by Scaleway Queues](/serverless/messaging/reference-content/sqs-support/). See the [official documentation](https://pkg.go.dev/github.com/aws/aws-sdk-go/service/sqs) for more details on using the SDK, or read on to see some examples. ### Create queue (Go) @@ -102,9 +101,9 @@ for { ## Python -### Connect to SQS (Python) +### Connect to Queues (Python) -The following code sample shows how to connect to SQS using Boto3's `resource()`. It is also possible to use `client()`, but `resource()` is more pythonesque: +The following code sample shows how to connect to Scaleway Queues using Boto3's `resource()`. It is also possible to use `client()`, but `resource()` is more pythonesque: ```python sqs = boto3.resource('sqs', @@ -115,10 +114,10 @@ sqs = boto3.resource('sqs', ``` - The `endpoint_url` for Scaleway Messaging and Queuing with SQS is `https://sqs.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for your SQS. + The `endpoint_url` for Scaleway Queues is `https://sqs.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for Queues. -Once connected to the SQS service, you can use any functions available with the SDK - just check that they're [supported by Scaleway Messaging and Queuing](/serverless/messaging/reference-content/sqs-support/). See the [official documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) for more details, or read on to see some examples. +Once connected, you can use any functions available with the SDK - just check that they are [supported by Scaleway Queues](/serverless/messaging/reference-content/sqs-support/). See the [official documentation](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) for more details, or read on to see some examples. ### Create queue (Python) @@ -148,7 +147,7 @@ for message in queue.receive_messages(): ## Node.js -### Connect to SQS (NodeJS) +### Connect to Scaleway Queues (NodeJS) Here, we use the `@aws-sdk/client-sqs` module, which is the latest SDK available. Import the required module: @@ -158,7 +157,7 @@ const { SQSClient, SendMessageCommand, CreateQueueCommand, ReceiveMessageCommand // import { SQSClient, SendMessageCommand, CreateQueueCommand, ReceiveMessageCommand } from "@aws-sdk/client-sqs"; ``` -The following code sample shows how to connect to SQS: +The following code sample shows how to connect to Scaleway Queues: ```javascript var sqsClient = new SQSClient({ @@ -172,10 +171,10 @@ var sqsClient = new SQSClient({ ``` - The `endpoint_url` for Scaleway Messaging and Queuing with SQS is `https://sqs.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for SQS. + The `endpoint_url` for Scaleway Queues is `https://sqs.mnq.fr-par.scaleway.com`. For the access and secret key values, use the credentials you [generated](/serverless/messaging/how-to/create-credentials/) for Scaleway Queues. -Once connected to the SQS service, you can use any of the SDK's functions as long as they're [supported by Scaleway Messaging and Queuing](/serverless/messaging/reference-content/sqs-support/). Refer to AWS's [official documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html)) for more information, or read on to see some examples. +Once connected, you can use any of the SDK's functions as long as they're [supported by Scaleway Queues](/serverless/messaging/reference-content/sqs-support/). Refer to AWS's [official documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html)) for more information, or read on to see some examples. ### Create queue (NodeJS) diff --git a/serverless/messaging/api-cli/sqs-sns-aws-cli.mdx b/serverless/messaging/api-cli/sqs-sns-aws-cli.mdx index 5c7ce1164b..8ad7c2bd21 100644 --- a/serverless/messaging/api-cli/sqs-sns-aws-cli.mdx +++ b/serverless/messaging/api-cli/sqs-sns-aws-cli.mdx @@ -1,30 +1,29 @@ --- meta: - title: Using SNS and SQS with the AWS-CLI - description: This page explains how to use SNS and SQS for creating queues and sending and receiving messages with the AWS CLI + title: Using Scaleway Queues and Scaleway Topics and Events with the AWS-CLI + description: This page explains how to use Scaleway Queues and Scaleway Topics and Events for creating queues and sending and receiving messages with the AWS CLI content: - h1: Using SNS and SQS with the AWS-CLI - paragraph: This page explains how to use SNS and SQS for creating queues and sending and receiving messages with the AWS CLI + h1: Using Scaleway Queues and Scaleway Topics and Events with the AWS-CLI + paragraph: This page explains how to use Scaleway Queues and Scaleway Topics and Events for creating queues and sending and receiving messages with the AWS CLI tags: messaging sns sqs aws-cli cli aws queues messages subscribe publish categories: - messaging dates: - validation: 2024-04-16 + validation: 2024-10-18 posted: 2023-04-04 --- -The AWS-CLI is an open-source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services. Once you have [connected Scaleway Messaging and Queuing SQS and/or SNS to the AWS-CLI](/serverless/messaging/api-cli/connect-aws-cli/), you can start creating, listing and managing your queues and topics, sending messages and much more, all from your command line. +The AWS-CLI is an open-source tool built on top of the AWS SDK for Python (Boto) that provides commands for interacting with AWS services. Once you have [connected Scaleway Queues and/or Topics and Events to the AWS-CLI](/serverless/messaging/api-cli/connect-aws-cli/), you can start creating, listing and managing your queues and topics, sending messages and much more, all from your command line. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- [Activated SQS/SNS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) -- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for SQS/SNS -- [Connected SQS/SNS to the AWS-CLI](/serverless/messaging/api-cli/connect-aws-cli/) +- Valid [credentials](/serverless/messaging/how-to/create-credentials/) for Queues and/or Topics and Events +- [Connected Queues and/or Topics and Events to the AWS-CLI](/serverless/messaging/api-cli/connect-aws-cli/) - [jq](https://stedolan.github.io/jq/download/) installed on your machine -## Getting started with SQS +## Getting started with Scaleway Queues 1. Use the following command to create a queue: @@ -68,7 +67,7 @@ The AWS-CLI is an open-source tool built on top of the AWS SDK for Python (Boto) aws sqs delete-queue --queue-url $(jq -r .QueueUrl my-queue.json) ``` -## Getting started with SNS +## Getting started with Topics and Events 1. Use the following command to create a topic: @@ -82,11 +81,7 @@ The AWS-CLI is an open-source tool built on top of the AWS SDK for Python (Boto) aws sns list-topics ``` -### Preparing and subscribing to an SQS target for SNS messages - -This is no longer supported. Watch this space for future developments. - -### Preparing and subscribing to an HTTP/HTTPS target for SNS messages +### Preparing and subscribing to an HTTP/HTTPS target for Topics and Events messages 1. Get the public endpoint of the HTTP server you want to forward your messages to. @@ -119,7 +114,7 @@ This is no longer supported. Watch this space for future developments. curl "" ``` -### Preparing and subscribing to a lambda (Scaleway Serverless Functions) target for SNS messages +### Preparing and subscribing to a lambda (Scaleway Serverless Functions) target for Topics and Events messages 1. Create the function following the steps detailed in the [Scaleway Functions Quickstart](/serverless/functions/quickstart/). @@ -141,7 +136,7 @@ This is no longer supported. Watch this space for future developments. ``` -## Continuing with SNS +## Continuing with Topics and Events 1. Use the following command to list subscriptions: @@ -155,7 +150,7 @@ This is no longer supported. Watch this space for future developments. aws sns publish --topic-arn $(jq -r .TopicArn my-topic.json) --message "Hello world!" --message-deduplication-id $(date +%s) ``` -3. Use the following command to read the message received on an **SQS** target: +3. Use the following command to read the message received on a **Scaleway Queues** target: - For **HTTP**/**HTTPS** targets, you should have received the message on your server @@ -166,7 +161,7 @@ This is no longer supported. Watch this space for future developments. aws sqs receive-message --queue-url $(jq -r .QueueUrl my-queue.json) | tee message1.json ``` -4. Use the following command to delete the message received on an **SQS** target. This is necessary to prevent it from being re-queued: +4. Use the following command to delete the message received on a **Scaleway Queues** target. This is necessary to prevent it from being re-queued: ```sh aws sqs delete-message --queue-url $(jq -r .QueueUrl my-queue.json) --receipt-handle $(jq -r .Messages[0].ReceiptHandle message1.json) @@ -178,7 +173,7 @@ This is no longer supported. Watch this space for future developments. aws sns unsubscribe --subscription-arn $(jq -r .SubscriptionArn my-subscription.json) ``` -6. Use the following command to delete the **SQS** queue (if you had an SQS target): +6. Use the following command to delete the Scaleway queue (if you had a Scaleway Queues target): ```sh aws sqs delete-queue --queue-url $(jq -r .QueueUrl my-queue.json) diff --git a/serverless/messaging/assets/scaleway-activate-mandq.webp b/serverless/messaging/assets/scaleway-activate-mandq.webp deleted file mode 100644 index 94697c9a07..0000000000 Binary files a/serverless/messaging/assets/scaleway-activate-mandq.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-create-nats-account.webp b/serverless/messaging/assets/scaleway-create-nats-account.webp deleted file mode 100644 index f6e8ec831f..0000000000 Binary files a/serverless/messaging/assets/scaleway-create-nats-account.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-create-queue.webp b/serverless/messaging/assets/scaleway-create-queue.webp deleted file mode 100644 index c05b522015..0000000000 Binary files a/serverless/messaging/assets/scaleway-create-queue.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-create-subscription.webp b/serverless/messaging/assets/scaleway-create-subscription.webp deleted file mode 100644 index 0f056930d3..0000000000 Binary files a/serverless/messaging/assets/scaleway-create-subscription.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-generate-creds-sqs.webp b/serverless/messaging/assets/scaleway-generate-creds-sqs.webp deleted file mode 100644 index 88b7b91466..0000000000 Binary files a/serverless/messaging/assets/scaleway-generate-creds-sqs.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-generate-nats-creds.webp b/serverless/messaging/assets/scaleway-generate-nats-creds.webp deleted file mode 100644 index fabebcb1dc..0000000000 Binary files a/serverless/messaging/assets/scaleway-generate-nats-creds.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-nats-create-account.webp b/serverless/messaging/assets/scaleway-nats-create-account.webp new file mode 100644 index 0000000000..12653712c9 Binary files /dev/null and b/serverless/messaging/assets/scaleway-nats-create-account.webp differ diff --git a/serverless/messaging/assets/scaleway-nats-cred-generated.webp b/serverless/messaging/assets/scaleway-nats-cred-generated.webp deleted file mode 100644 index be66fcf7cf..0000000000 Binary files a/serverless/messaging/assets/scaleway-nats-cred-generated.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-nats-credentials-display.webp b/serverless/messaging/assets/scaleway-nats-credentials-display.webp deleted file mode 100644 index 0559be3b4c..0000000000 Binary files a/serverless/messaging/assets/scaleway-nats-credentials-display.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-nats-creds.webp b/serverless/messaging/assets/scaleway-nats-creds.webp new file mode 100644 index 0000000000..eea32747f4 Binary files /dev/null and b/serverless/messaging/assets/scaleway-nats-creds.webp differ diff --git a/serverless/messaging/assets/scaleway-nats-overview.webp b/serverless/messaging/assets/scaleway-nats-overview.webp new file mode 100644 index 0000000000..c2240019b0 Binary files /dev/null and b/serverless/messaging/assets/scaleway-nats-overview.webp differ diff --git a/serverless/messaging/assets/scaleway-queues-create-queue.webp b/serverless/messaging/assets/scaleway-queues-create-queue.webp new file mode 100644 index 0000000000..1805c4eb9b Binary files /dev/null and b/serverless/messaging/assets/scaleway-queues-create-queue.webp differ diff --git a/serverless/messaging/assets/scaleway-queues-gen-creds.webp b/serverless/messaging/assets/scaleway-queues-gen-creds.webp new file mode 100644 index 0000000000..dc53bbb7de Binary files /dev/null and b/serverless/messaging/assets/scaleway-queues-gen-creds.webp differ diff --git a/serverless/messaging/assets/scaleway-sqs-sns-creds-generated.webp b/serverless/messaging/assets/scaleway-sqs-sns-creds-generated.webp deleted file mode 100644 index 47b7034c7b..0000000000 Binary files a/serverless/messaging/assets/scaleway-sqs-sns-creds-generated.webp and /dev/null differ diff --git a/serverless/messaging/assets/scaleway-topics-create-subs.webp b/serverless/messaging/assets/scaleway-topics-create-subs.webp new file mode 100644 index 0000000000..f9aec9f4b7 Binary files /dev/null and b/serverless/messaging/assets/scaleway-topics-create-subs.webp differ diff --git a/serverless/messaging/assets/scaleway-topics-create-topic.webp b/serverless/messaging/assets/scaleway-topics-create-topic.webp new file mode 100644 index 0000000000..7596cd2e15 Binary files /dev/null and b/serverless/messaging/assets/scaleway-topics-create-topic.webp differ diff --git a/serverless/messaging/assets/scaleway-topics-gen-creds.webp b/serverless/messaging/assets/scaleway-topics-gen-creds.webp new file mode 100644 index 0000000000..9fdca24183 Binary files /dev/null and b/serverless/messaging/assets/scaleway-topics-gen-creds.webp differ diff --git a/serverless/messaging/concepts.mdx b/serverless/messaging/concepts.mdx index ae2c398f02..ae1627067a 100644 --- a/serverless/messaging/concepts.mdx +++ b/serverless/messaging/concepts.mdx @@ -1,15 +1,15 @@ --- meta: - title: Messaging and Queuing - Concepts - description: Understand the core concepts of Scaleway Messaging and Queuing. Explore fundamental principles for efficient message handling and service optimization. + title: NATS, Queues, and Topics and Events - Concepts + description: Understand the core concepts of Scaleway NATS, Queues, and Topics and Events. Explore fundamental principles for efficient message handling and service optimization. content: - h1: Messaging and Queuing - Concepts - paragraph: Understand the core concepts of Scaleway Messaging and Queuing. Explore fundamental principles for efficient message handling and service optimization. + h1: NATS, Queues, and Topics and Events - Concepts + paragraph: Understand the core concepts of Scaleway NATS, Queues, and Topics and Events. Explore fundamental principles for efficient message handling and service optimization. categories: - -tags: messaging queuing concepts +tags: messaging queuing concepts nats queues topics events dates: - validation: 2024-08-07 + validation: 2024-10-18 posted: 2023-01-04 --- @@ -23,11 +23,11 @@ Content-based deduplication is a setting available for [FIFO](#fifo) queues. Ena ## Credentials -Credentials give services and platforms access to Scaleway Messaging and Queuing, enabling them to connect to the host system. Credentials are [protocol](#messaging-protocol)-specific: for SQS and SNS, different levels of permissions can be defined to write, read, or manage queues/topics, whereas NATS credentials give full read-write-manage access. Refer to our [Messaging and Queuing additional content](/serverless/messaging/reference-content/) for more information. +Credentials give services and platforms access to Scaleway NATS, Queues, and Topics and Events, enabling them to connect to the host system. Credentials are product-specific: for **Queues** and **Topics ad Events**, different levels of permissions can be defined to write, read, or manage queues/topics. NATS credentials give full read-write-manage access. Refer to our [additional content](/serverless/messaging/reference-content/) for more information. ## Dead Letter Queue -A **D**ead **L**etter **Q**ueue (DLQ), or **undelivered-message queue**, receives and holds messages that cannot be delivered to their destination queues. This concept is not yet implemented for Scaleway Messaging and Queuing. +A **D**ead **L**etter **Q**ueue (DLQ), or **undelivered-message queue**, receives and holds messages that cannot be delivered to their destination queues. This concept is not yet implemented for Scaleway Queues. ## Fanout @@ -43,7 +43,7 @@ In a [topic-based](#topic-based) system, where topics handle the logic, filterin ## Long Polling -Long polling is a technology where the client requests information from the server without expecting an immediate response. In [SQS](#sqs), this enables clients to wait for the system to get messages that are not immediately available. +Long polling is a technology where the client requests information from the server without expecting an immediate response. For [Queues](#queues), this enables clients to wait for the system to get messages that are not immediately available. ## Message broker @@ -51,37 +51,29 @@ A message broker is a piece of software that allows applications, systems and se ## Message retention period -The message retention period is a setting that can be configured for an SQS queue. It represents the length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. Read more in our dedicated documentation on [creating queues](/serverless/messaging/how-to/create-manage-queues/). +The message retention period is a setting that can be configured for a queue. It represents the length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. Read more in our dedicated documentation on [creating queues](/serverless/messaging/how-to/create-manage-queues/). ## Messaging and Queuing -Scaleway's Messaging and Queuing product is a [message broker](#message-broker) tool that allows you to transfer messages between different microservices and platforms. This enables them to "talk" to each other effectively even if they are not otherwise compatible. Messaging and Queuing enables and simplifies microservices application development and allows you to build highly scalable, reliable, distributed applications. +Previously, Scaleway Messaging and Queuing was a single product that grouped together three different messaging protocols. It has now been split into three distinct products: [NATS](#nats), [Queues](#queues), and [Topics and Events](#topics-and-events). ## Messaging protocol -A messaging protocol defines a structured way for users / platforms / services / applications to exchange data and messages, even if normally they do not "speak the same language". Protocols also describe how messages should be processed, prioritized, managed and routed. Messaging protocols currently supported by Scaleway Messaging and Queuing include [NATS](#nats), [SQS](#sqs) and [SNS](#sns). - -## Namespace - -Messaging and Queuing namespaces are now deprecated. Previously, you had to create a namespace, set to either NATS or SQS/SNS protocol, to set a scope for your queues, topics, and credentials. Now, you simply activate SQS and/or SNS and your credentials and queues are scoped to the Project it is activated in. For NATS, namespaces have been replaced by [NATS accounts](#nats-account), which set the scope for your queues and credentials. +A messaging protocol defines a structured way for users / platforms / services / applications to exchange data and messages, even if normally they do not "speak the same language". Protocols also describe how messages should be processed, prioritized, managed and routed. Scaleway NATS is based on the [NATS](#nats) protocol, Queues on the [SQS](#sqs) protocol, and Topics and Events on the [SNS](#sns) protocol. ## NATS The **N**eural **A**utonomic **T**ransport **S**ystem, or [NATS](https://nats.io/), is an open-source messaging system written in Go. It is part of the Cloud Native Computing Foundation (CNCF) and has more than 40 client language implementations. The application has been designed with performance, scalability, and ease of use in mind. -Check our our [NATS quickstart](/serverless/messaging/quickstart/#quickstart-for-nats) to get started with Scaleway Messaging and Queuing using NATS, or our [tutorial](/tutorials/large-messages/) on creating a serverless architecture to process large messages with NATS, to get an idea of how to go further. +Check our our [NATS quickstart](/serverless/messaging/quickstart/#quickstart-for-nats) to get started with Scaleway NATS, or our [tutorial](/tutorials/large-messages/) on creating a serverless architecture to process large messages with NATS, to get an idea of how to go further. ## NATS account -A NATS account sets a scope for any NATS credentials, messages, queues and streams held within it. You can create one or multiple NATS accounts with Scaleway Messaging and Queuing. NATS accounts have replaced NATS [namespaces](#namespace). +A NATS account sets a scope for any NATS credentials, messages, queues and streams held within it. You can create one or multiple NATS accounts with Scaleway NATS. ## Protocol -Scaleway offers three protocols to use with Messaging and Queuing: [NATS](#nats), [SQS](#sqs), and [SNS](#sns). - -To create a message broker configured for the NATS protocol, you must create a [NATS account](#nats-account) and then create credentials for that account. The account gives you an endpoint/URL for your NATS message broker. - -For a message broker configured for the SQS or SNS protocols, you must activate the required protocol, and then create credentials for the protocol. Once activated, you get an endpoint/URL for your SQS or SNS message broker. You can activate both protocols: in this case, you must create separate credentials for each one, and they will each have a separate endpoint/URL. +See [messaging protocol](#messaging-protocol). ## Publish/Subscribe @@ -89,11 +81,15 @@ Also known as "pub/sub", the publish/subscribe model provides a pattern or frame ## Queue -Queues facilitate asynchronous communication between different microservices, applications, and platforms. You can create a queue, configure its delivery and message parameters, and then start sending messages to it. Messages are stored in the queue until they are processed and delivered, and deleted once consumed. [Read more about creating and configuring queues](/serverless/messaging/how-to/create-manage-queues/), or check our [tutorial on creating a serverless scraping architecture using an SQS queue](/tutorials/create-serverless-scraping/) to get an idea of what you can do with message queues. +Creating a queue with [Scaleway Queues](#queue) facilitates asynchronous communication between different microservices, applications, and platforms. You can create a queue, configure its delivery and message parameters, and then start sending messages to it. Messages are stored in the queue until they are processed and delivered, and deleted once consumed. [Read more about creating and configuring queues](/serverless/messaging/how-to/create-manage-queues/), or check our [tutorial on creating a serverless scraping architecture using a queue](/tutorials/create-serverless-scraping/) to get an idea of what you can do with message queues. + +## Queues + +Scaleway Queues is a product for creating managed messaging queues based on the [SQS](#sqs) protocol. Previously, it was part of the Messaging and Queuing product. ## Queue types -When creating queues with Scaleway Messaging and Queuing SQS or SNS, two queue types are available. [Standard](#standard) queues provide at-least-once delivery, while [FIFO](#fifo) queues offer first-in-first-out delivery, and (unlike Standard queues) guarantee that messages are delivered in order and without duplication. [Content-based deduplication](#content-based-deduplication) is only available for FIFO queue types. Find out more about creating queues with our [dedicated documentation](/serverless/messaging/how-to/create-manage-queues/). +When creating queues with Scaleway Queues, two queue types are available. [Standard](#standard) queues provide at-least-once delivery, while [FIFO](#fifo) queues offer first-in-first-out delivery, and (unlike Standard queues) guarantee that messages are delivered in order and without duplication. [Content-based deduplication](#content-based-deduplication) is only available for FIFO queue types. Find out more about creating queues with our [dedicated documentation](/serverless/messaging/how-to/create-manage-queues/). ## Queuing @@ -101,16 +97,13 @@ The message queuing model provides a pattern or framework for sending messages, ## Queue volume -Queue volume is one of the factors affecting the billing of Scaleway Messaging and Queuing with SQS. Queue volume is calculated as the number of messages in a queue, multiplied by the message size. Or, the sum of the size of all messages in a queue. +Queue volume is one of the factors affecting the billing of Scaleway Queues. Queue volume is calculated as the number of messages in a queue, multiplied by the message size. Or, the sum of the size of all messages in a queue. ## Region -Messaging and Queuing is available in multiple regions. A region designates the geographical area where the Messaging and Queuing service is hosted. Refer to the [product availability table](/console/account/reference-content/products-availability/) to check which regions are available for Messaging and Queuing. +NATS, Queues, and Topics and Events are available in multiple regions. A region designates the geographical area where the service is hosted. Refer to the [product availability table](/console/account/reference-content/products-availability/) to check which regions are available for NATS, Queues, and Topics and Events. -When [creating a NATS account](/serverless/messaging/how-to/get-started/#how-to-create-a-nats-account) or [activating SQS or SNS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns), you need to do this on a region-by-region basis. The region drop-down in the -[Messaging and Queuing](http://console.scaleway.com/messaging/protocols/fr-par) page of the console allows you to switch between available regions. - -Similarly, when accessing your NATS or SQS/SNS resources in the console, be aware that they are organized by region. Use the region drop-down in the [Messaging and Queuing](http://console.scaleway.com/messaging/protocols/fr-par) page of the console to select the desired region, before going on to click on the relevant protocol to access resources for that protocol in that region. +When [creating a NATS account](/serverless/messaging/how-to/get-started/#how-to-create-a-nats-account) or creating queues or topics, you need to do this on a region-by-region basis. The region drop-down in the console allows you to switch between available regions. ## Routing @@ -118,17 +111,11 @@ In [topic-based](#topic-based) messaging, topics allow messages to be routed to ## SNS -The **S**imple **N**otification **S**ervice, or SNS, is a [publish/subscribe](#publishsubscribe) notification service for the mass delivery of messages. SNS acts as a single message bus that can be sent to a variety of devices and platforms through a single code interface. It is also possible to adapt message formats to the particular needs of each platform. +The Scaleway **Topics and Events** product is based on the SNS protocol. **S**imple **N**otification **S**ervice, or SNS, is a [publish/subscribe](#publishsubscribe) notification service for the mass delivery of messages. SNS acts as a single message bus that can be sent to a variety of devices and platforms through a single code interface. It is also possible to adapt message formats to the particular needs of each platform. ## SQS -The **S**imple **Q**ueue **S**ervice, or SQS, is a distributed message [queuing](#queuing) service that supports programmatic sending of messages via web service applications. The SQS protocol offers two types of message queues: -- **Standard** queues offer maximum throughput, best-effort ordering, and at-least-once delivery. -- **FIFO** queues are designed to guarantee that messages are processed exactly once, in the exact order that they are sent. - -## SQS/SNS - -SQS/SNS was previously a [namespace](#namespace) type available for Scaleway Messaging and Queuing. The two protocols have now been separated, and are activated and deactivated separately. +The Scaleway **Queues** product is based on the SNS protocol. **S**imple **Q**ueue **S**ervice, or SQS, is a distributed message [queuing](#queuing) service that supports programmatic sending of messages via web service applications. ## Standard @@ -140,38 +127,38 @@ Distinct from traditional message brokers where messages are deleted once receiv ## Stream volume -Stream volume is one of the factors affecting the billing of Scaleway Messaging and Queuing with NATS. Stream volume is calculated as the number of messages in a stream, multiplied by the message size. Or, the sum of the size of all messages in a stream. +Stream volume is one of the factors affecting the billing of Scaleway NATS. Stream volume is calculated as the number of messages in a stream, multiplied by the message size. Or, the sum of the size of all messages in a stream. ## Stream persistence -Stream persistence is one of the factors affecting the billing of Scaleway Messaging and Queuing with NATS. Stream persistence is calculated as the total amount stored in a stream, multiplied by the duration it is stored for. +Stream persistence is one of the factors affecting the billing of Scaleway NATS. Stream persistence is calculated as the total amount stored in a stream, multiplied by the duration it is stored for. ## Subscriber -In [publish/subscribe](#publishsubscribe) systems such as [SNS](#sns), a subscriber is the entity (e.g. SQS queue, function, URL) that messages from topics are pushed to. Subscribers can filter messages based on their topic or content. +In [publish/subscribe](#publishsubscribe) systems such as [Topics and Events](#topics-and-events), a subscriber is the entity (e.g. a queue, function, or URL) that messages from topics are pushed to. Subscribers can filter messages based on their topic or content. ## Subscription -A subscription is a connection between a client or endpoint, and a topic. By creating a subscription, the subscribed endpoint receives messages and notifications published to the topic. You can [create subscriptions](/serverless/messaging/how-to/create-manage-subscriptions/) for HTTP/S endpoints or Scaleway Serverless [Functions](/serverless/functions/quickstart/) and [Containers](/serverless/containers/quickstart/). +A subscription is a connection between a client or endpoint, and a topic. By creating a subscription, the subscribed endpoint receives messages and notifications published to the topic. You can [create subscriptions](/serverless/messaging/how-to/create-manage-subscriptions/) for HTTP/S endpoints, Scaleway queues, and Scaleway Serverless [Functions](/serverless/functions/quickstart/) and [Containers](/serverless/containers/quickstart/). ## Subscription protocols and endpoints -A subscription protocol refers to the communication method used to deliver messages to a subscriber. Different types of subscriber require different protocols. When you create a new subscription to an SNS topic with Scaleway Messaging and Queuing, the following options are available: +A subscription protocol refers to the communication method used to deliver messages to a subscriber. Different types of subscriber require different protocols. When you create a new subscription to a topic with Scaleway Topics and Events, the following options are available: | Protocol | Endpoint / Client | Note | |-------------------------------------|--------------------------------------------------|-----------------------------------| -| HTTP | The URL of a service or web server that can receive notifications (HTTP POST requests) from SNS, e.g. `http://example.fr` | - For security reasons, we recommend using the HTTPS protocol rather than HTTP.
- HTTP subscriptions must be [confirmed](/serverless/messaging/how-to/create-manage-subscriptions/#how-to-confirm-an-http-or-https-subscription) after creation | -| HTTPS | The URL of a service or web server that can receive notifications (HTTPS POST requests) from SNS, e.g. `https://example.fr` | - HTTPS subscriptions must be [confirmed](/serverless/messaging/how-to/create-manage-subscriptions/#how-to-confirm-an-http-or-https-subscription) after creation | -| Serverless Functions and Containers | A Scaleway Serverless [Function](/serverless/functions/quickstart/) or [Container](/serverless/containers/quickstart/)
| - It must have a [public](/serverless/functions/concepts/#privacy-policy) privacy policy
- It must be in a [namespace](/serverless/functions/concepts/#namespace) from the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](#region) as the SNS topic | -| SQS | A Scaleway Messaging and Queueing SQS [Queue](#queue)
| - It must be in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](#region) as the SNS topic | +| HTTP | The URL of a service or web server that can receive notifications (HTTP POST requests) from Topics and Events, e.g. `http://example.fr` | - For security reasons, we recommend using the HTTPS protocol rather than HTTP.
- HTTP subscriptions must be [confirmed](/serverless/messaging/how-to/create-manage-subscriptions/#how-to-confirm-an-http-or-https-subscription) after creation | +| HTTPS | The URL of a service or web server that can receive notifications (HTTPS POST requests) from Topics and Events, e.g. `https://example.fr` | - HTTPS subscriptions must be [confirmed](/serverless/messaging/how-to/create-manage-subscriptions/#how-to-confirm-an-http-or-https-subscription) after creation | +| Serverless Functions and Containers | A Scaleway Serverless [Function](/serverless/functions/quickstart/) or [Container](/serverless/containers/quickstart/)
| - It must have a [public](/serverless/functions/concepts/#privacy-policy) privacy policy
- It must be in a [namespace](/serverless/functions/concepts/#namespace) from the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](#region) as the topic | +| Queues | A Scaleway [queue](#queue)
| - It must be in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](#region) as the topic | ## Topic -A topic is a communication channel used to send messages and notifications to subscribed endpoints or clients. Publishers send messages to topics, and those messages are received by subscribers. Subscribers can include Serverless Functions and HTTP/HTTPS endpoints. As such, topics decouple the publishing and the receiving of messages, allowing for flexibility and scalabilty in building loosely-coupled systems. +A topic is a communication channel used to send messages and notifications to subscribed endpoints or clients. Publishers send messages to topics, and those messages are received by subscribers. Subscribers can include Serverless Functions, Scaleway queues and HTTP/HTTPS endpoints. As such, topics decouple the publishing and the receiving of messages, allowing for flexibility and scalabilty in building loosely-coupled systems. ## Topic types -When creating topics with Scaleway Messaging and Queuing SQS or SNS, two topic types are available. [Standard](#standard) topics provide at-least-once delivery, while [FIFO](#fifo) topics offer first-in-first-out delivery, and (unlike Standard topics) guarantee that messages are delivered in order and without duplication. [Content-based deduplication](#content-based-deduplication) is only available for FIFO topic types. Find out more about creating topics with our [dedicated documentation](/serverless/messaging/how-to/create-manage-topics/). +When creating topics with Scaleway Topics and Events, two topic types are available. [Standard](#standard) topics provide at-least-once delivery, while [FIFO](#fifo) topics offer first-in-first-out delivery, and (unlike Standard topics) guarantee that messages are delivered in order and without duplication. [Content-based deduplication](#content-based-deduplication) is only available for FIFO topic types. Find out more about creating topics with our [dedicated documentation](/serverless/messaging/how-to/create-manage-topics/). ## Topic-based @@ -179,8 +166,12 @@ Topic-based messaging systems are a subset of the [publish/subscribe](#publishsu ## Topic volume -Topic volume is one of the factors affecting the billing of Scaleway Messaging and Queuing with SNS. Topic volume is calculated as the total sum of the sizes of all messages sent from a topic to its subscriptions. +Topic volume is one of the factors affecting the billing of Scaleway Topics and Events. Topic volume is calculated as the total sum of the sizes of all messages sent from a topic to its subscriptions. + +## Topics and Events + +Scaleway Topics and Events is a product for creating managed messaging topics based on the [SNS](#sns) protocol. Previously, it was part of the Messaging and Queuing product. ## Visibility timeout -Visibility timeout is a setting that can be configured for an SQS queue. It represents the length of time (in seconds) during which, after a message is received, the queue hides it, so it cannot be received again by the same or other consumers. This is useful as the queue itself does not automatically delete messages once they are received, and so prevents consumers from receiving the same message many times before they have finished processing it. Read more in our dedicated documentation on [creating queues](/serverless/messaging/how-to/create-manage-queues/). +Visibility timeout is a setting that can be configured for a Scaleway queue. It represents the length of time (in seconds) during which, after a message is received, the queue hides it, so it cannot be received again by the same or other consumers. This is useful as the queue itself does not automatically delete messages once they are received, and so prevents consumers from receiving the same message many times before they have finished processing it. Read more in our dedicated documentation on [creating queues](/serverless/messaging/how-to/create-manage-queues/). diff --git a/serverless/messaging/how-to/assets/scaleway-activate-mandq.webp b/serverless/messaging/how-to/assets/scaleway-activate-mandq.webp deleted file mode 100644 index 94697c9a07..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-activate-mandq.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-confirm-subscription.webp b/serverless/messaging/how-to/assets/scaleway-confirm-subscription.webp deleted file mode 100644 index bdc4e271ad..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-confirm-subscription.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-create-nats-account .webp b/serverless/messaging/how-to/assets/scaleway-create-nats-account .webp deleted file mode 100644 index f6e8ec831f..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-create-nats-account .webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-create-queue.webp b/serverless/messaging/how-to/assets/scaleway-create-queue.webp deleted file mode 100644 index 8140b61034..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-create-queue.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-create-subscription.webp b/serverless/messaging/how-to/assets/scaleway-create-subscription.webp deleted file mode 100644 index 0f056930d3..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-create-subscription.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-generate-creds-sqs.webp b/serverless/messaging/how-to/assets/scaleway-generate-creds-sqs.webp deleted file mode 100644 index 88b7b91466..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-generate-creds-sqs.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-generate-nats-creds.webp b/serverless/messaging/how-to/assets/scaleway-generate-nats-creds.webp deleted file mode 100644 index fabebcb1dc..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-generate-nats-creds.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-messaging-cockpit1.webp b/serverless/messaging/how-to/assets/scaleway-messaging-cockpit1.webp deleted file mode 100644 index e5f3c7ae32..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-messaging-cockpit1.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-messaging-cockpit2.webp b/serverless/messaging/how-to/assets/scaleway-messaging-cockpit2.webp deleted file mode 100644 index dfe75d31c9..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-messaging-cockpit2.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-nats-create-account.webp b/serverless/messaging/how-to/assets/scaleway-nats-create-account.webp new file mode 100644 index 0000000000..12653712c9 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-nats-create-account.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-nats-cred-generated.webp b/serverless/messaging/how-to/assets/scaleway-nats-cred-generated.webp deleted file mode 100644 index be66fcf7cf..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-nats-cred-generated.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-nats-credentials-display.webp b/serverless/messaging/how-to/assets/scaleway-nats-credentials-display.webp deleted file mode 100644 index 0559be3b4c..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-nats-credentials-display.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-nats-credentials.webp b/serverless/messaging/how-to/assets/scaleway-nats-credentials.webp deleted file mode 100644 index f218a81616..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-nats-credentials.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-nats-creds.webp b/serverless/messaging/how-to/assets/scaleway-nats-creds.webp new file mode 100644 index 0000000000..eea32747f4 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-nats-creds.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-nats-overview.webp b/serverless/messaging/how-to/assets/scaleway-nats-overview.webp new file mode 100644 index 0000000000..c2240019b0 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-nats-overview.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-purge-queue.webp b/serverless/messaging/how-to/assets/scaleway-purge-queue.webp deleted file mode 100644 index 280746ce2f..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-purge-queue.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-queue-overview.webp b/serverless/messaging/how-to/assets/scaleway-queue-overview.webp deleted file mode 100644 index 9c5930f3bc..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-queue-overview.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-queues-create-queue.webp b/serverless/messaging/how-to/assets/scaleway-queues-create-queue.webp new file mode 100644 index 0000000000..1805c4eb9b Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-queues-create-queue.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-queues-gen-creds.webp b/serverless/messaging/how-to/assets/scaleway-queues-gen-creds.webp new file mode 100644 index 0000000000..dc53bbb7de Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-queues-gen-creds.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-queues-queue-settings.webp b/serverless/messaging/how-to/assets/scaleway-queues-queue-settings.webp new file mode 100644 index 0000000000..b6bc282a12 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-queues-queue-settings.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-queues-update-creds.webp b/serverless/messaging/how-to/assets/scaleway-queues-update-creds.webp new file mode 100644 index 0000000000..6f32ca5499 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-queues-update-creds.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-sqs-sns-creds-generated.webp b/serverless/messaging/how-to/assets/scaleway-sqs-sns-creds-generated.webp deleted file mode 100644 index 47b7034c7b..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-sqs-sns-creds-generated.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-topic-settings.webp b/serverless/messaging/how-to/assets/scaleway-topic-settings.webp deleted file mode 100644 index 5fc72fd36d..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-topic-settings.webp and /dev/null differ diff --git a/serverless/messaging/how-to/assets/scaleway-topics-create-subs.webp b/serverless/messaging/how-to/assets/scaleway-topics-create-subs.webp new file mode 100644 index 0000000000..f9aec9f4b7 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-topics-create-subs.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-topics-create-topic.webp b/serverless/messaging/how-to/assets/scaleway-topics-create-topic.webp new file mode 100644 index 0000000000..7596cd2e15 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-topics-create-topic.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-topics-gen-creds.webp b/serverless/messaging/how-to/assets/scaleway-topics-gen-creds.webp new file mode 100644 index 0000000000..9fdca24183 Binary files /dev/null and b/serverless/messaging/how-to/assets/scaleway-topics-gen-creds.webp differ diff --git a/serverless/messaging/how-to/assets/scaleway-update-credential-sqs.webp b/serverless/messaging/how-to/assets/scaleway-update-credential-sqs.webp deleted file mode 100644 index e5da7f1d66..0000000000 Binary files a/serverless/messaging/how-to/assets/scaleway-update-credential-sqs.webp and /dev/null differ diff --git a/serverless/messaging/how-to/create-credentials.mdx b/serverless/messaging/how-to/create-credentials.mdx index 993e646c19..522b1ba194 100644 --- a/serverless/messaging/how-to/create-credentials.mdx +++ b/serverless/messaging/how-to/create-credentials.mdx @@ -1,48 +1,46 @@ --- meta: - title: How to create credentials for Messaging and Queuing - description: Learn how to create credentials for Scaleway Messaging and Queuing. Securely manage access and ensure seamless integration with this step-by-step guide. + title: How to create credentials for NATS, Queues, or Topics and Events + description: Learn how to create credentials for Scaleway NATS, Queues, or Topics and Events (Messaging and Queuing). Securely manage access and ensure seamless integration with this step-by-step guide. content: - h1: How to create credentials for Messaging and Queuing - paragraph: Learn how to create credentials for Scaleway Messaging and Queuing. Securely manage access and ensure seamless integration with this step-by-step guide. + h1: How to create credentials for NATS, Queues, or Topics and Events + paragraph: Learn how to create credentials for Scaleway NATS, Queues, or Topics and Events (Messaging and Queuing). Securely manage access and ensure seamless integration with this step-by-step guide. tags: credentials messaging queuing key token categories: - serverless dates: - validation: 2024-08-07 + validation: 2024-10-18 posted: 2022-08-11 --- -This page shows how to create Messaging and Queuing [credentials](/serverless/messaging/concepts/#credentials), which give their bearer (e.g. services and platforms) access to your Messaging and Queuing service. The process of creating credentials differs depending on the messaging protocol ([NATS](/serverless/messaging/concepts/#nats), [SQS](/serverless/messaging/concepts/#sns) or [SNS](/serverless/messaging/concepts/#sns)). +This page shows how to create [credentials](/serverless/messaging/concepts/#credentials) for Scaleway **NATS**, **Queues** and **Topics and Events** (previously grouped together as the **Messaging and Queuing** product). Credentials give their bearer (e.g. services and platforms) access to your service. -You can create multiple sets of credentials for each of your Messaging and Queuing services. +You can create multiple sets of credentials for each of your NATS accounts, and for your Queues and Topics and Events services. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- A [NATS account or have activated SQS/SNS](/serverless/messaging/how-to/get-started/) ## How to create credentials for a NATS account Credentials for NATS accounts are not granular: they necessarily give full read and write access. The bearer of these credentials can publish and receive messages, as well as manage topics and streams, for this account. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the NATS account for which you want to create credentials. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the NATS account for which you want to create credentials. The list of your NATS accounts in the pre-selected region displays. -3. Click **NATS**. The list of your NATS accounts in the pre-selected region displays. +3. Click the NATS account you want to generate credentials for. The account's **Overview** page displays. -4. Click the NATS account you want to generate credentials for. The account's **Overview** page displays. + -5. In the **Credentials** panel, click **Generate credentials**. A pop-up displays. - +4. In the **Credentials** panel, click **Generate credentials**. A pop-up displays. -6. Enter a name for these credentials, and click **Generate credentials**. +5. Enter a name for these credentials, and click **Generate credentials**. - The credentials are created and a button displays prompting you to download them in a `.creds` file. + The credentials are created and a button displays prompting you to download them in a `.creds` file. - + The generated credentials are displayed only once. Make sure to download and safely store them before closing the window. @@ -52,21 +50,19 @@ Credentials for NATS accounts are not granular: they necessarily give full read You are returned to your NATs account's overview page. The name of your newly-generated credentials and their access level is displayed in the **Credentials** panel. - +## How to create credentials for Queues +Credentials for Queues are granular: you can define the level of access that they should give. Credentials give the specified level of access to all queues that you create in the region they are scoped to. -## How to create credentials for SQS or SNS +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. A list of your queues displays. -Credentials for SQS or SNS are granular: you can define the level of access that they should give. +2. Click the **Credentials** tab. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +3. Click **Generate credentials**. A pop-up displays: -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create credentials. + -3. Click **SQS** or **SNS** depending on which service you want to create credentials for. - -4. Click **Generate credentials**. A pop-up displays, such as the one below for SQS. - +4. Choose a region that these credentials should be scoped to. 5. Enter a name for these credentials. @@ -75,8 +71,36 @@ Credentials for SQS or SNS are granular: you can define the level of access that 7. Click **Generate credentials**. The credentials are created. The access key and secret key are displayed, and you are invited to copy them. + + + This is your only chance to view and save the secret key. Make sure that you copy it and save it somewhere securely. + + +8. Copy and save the credentials, before closing the window. + + You are returned to the **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. + +## How to create credentials for Topics and Events + +Credentials for Topics and Events are granular: you can define the level of access that they should give. Credentials give the specified level of access to all topics that you create in the region they are scoped to. + +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. The **Topics and Events** dashboard displays. + +2. Click the **Credentials** tab. + +3. Click **Generate credentials**. A pop-up displays: - + + +4. Choose a region that these credentials should be scoped to. + +5. Enter a name for these credentials. + +6. Select the required permissions for the credentials. You must choose at least one of **Write**, **Read** and **Manage**. You are free to select any combination of these permissions. + +7. Click **Generate credentials**. + + The credentials are created. The access key and secret key are displayed, and you are invited to copy them. This is your only chance to view and save the secret key. Make sure that you copy it and save it somewhere securely. @@ -84,6 +108,9 @@ Credentials for SQS or SNS are granular: you can define the level of access that 8. Copy and save the credentials, before closing the window. - You are returned to your Messaging and Queuing SQS or SNS service's **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. + You are returned to the **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. + + + diff --git a/serverless/messaging/how-to/create-manage-queues.mdx b/serverless/messaging/how-to/create-manage-queues.mdx index 1811816a07..fe7773afe0 100644 --- a/serverless/messaging/how-to/create-manage-queues.mdx +++ b/serverless/messaging/how-to/create-manage-queues.mdx @@ -1,40 +1,39 @@ --- meta: - title: How to create and manage SQS queues - description: Learn to create and manage SQS queues with Scaleway Messaging and Queuing. This guide helps you efficiently handle messaging queues for seamless operations. + title: How to create and manage queues + description: Learn to create and manage Scaleway Queues. This guide helps you efficiently handle messaging queues for seamless operations. content: - h1: How to create and manage SQS queues - paragraph: Learn to create and manage SQS queues with Scaleway Messaging and Queuing. This guide helps you efficiently handle messaging queues for seamless operations. -tags: messaging queuing queues sns sqs fifo + h1: How to create and manage queues + paragraph: Learn to create and manage Scaleway Queues. This guide helps you efficiently handle messaging queues for seamless operations. +tags: messaging queuing queues sqs categories: - serverless dates: - validation: 2024-08-07 + validation: 2024-10-17 posted: 2022-08-11 --- -This page shows how to create and manage SQS [queues](/serverless/messaging/concepts/#queue) with Scaleway Messaging and Queuing. +This page shows how to create and manage your Scaleway [Queues](/serverless/messaging/concepts/#queue) (formerly part of the **Messaging and Queuing** product). - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- [Activated SQS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) for the [region](/serverless/messaging/concepts/#region) in which you want to create a queue ## How to create a queue -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create a queue. +2. Click **Create queue**. The Queue creation wizard displays. + -3. Click **SQS**, then **Create queue**. The queue creation wizard displays. - +3. Select the [region](/serverless/messaging/concepts/#region) in which you want to create the queue. 4. Enter a **name** for your queue. The name must be no more than 80 characters, and consist only of alphanumeric characters, hyphens, and underscores. Alternatively, you can go with the auto-generated name suggested for you. -5. Choose your **queue type**, from one of the following: - - **Standard**: Standard queues ensure at-least-once delivery. The exact order of messages in the queue is not preserved. - - **FIFO**: FIFO queues (**F**irst **In** **F**irst **O**ut) preserves the exact ordering of messages. +5. Choose your **Queue type**, from one of the following: + - **Standard**: Standard Queues ensure at-least-once delivery. The exact order of messages in the queue is not preserved. + - **FIFO**: FIFO Queues (**F**irst **In** **F**irst **O**ut) preserves the exact ordering of messages. 6. Configure your queue's **parameters**. The following parameters can be defined: - **Visibility timeout**: The length of time (in seconds) during which, after a message is received, it is hidden and cannot be received again by the same or other consumers. This is useful as the queue itself does not automatically delete messages once they are received, and so prevents consumers from receiving the same message many times before they have finished processing it. Therefore, the value set here should be informed by the expected length of time it will take consumers to process messages. The default value is 30 seconds. The value must be between 1 second and 43 200 seconds (12 hours). @@ -49,56 +48,48 @@ You are returned to the **Queues** tab, where your newly-created queue now displ Go further by clicking on the queue's name to access its **Settings** page and see additional information such as its ARN (Amazon Resource Name) and configuration parameters. -Remember that you need to [create credentials](/serverless/messaging/how-to/create-credentials/) in order to access your SQS service and its queues from an API or CLI. Sending messages to queues requires that credentials have the `can_publish` permission, while receiving messages from queues requires the `can_receive` permission. You can create separate credentials if you need to isolate these two roles in your application. +Remember that you need to [create credentials](/serverless/messaging/how-to/create-credentials/) in order to access your queues from an API or CLI. Sending messages to queues requires that credentials have the `can_publish` permission, while receiving messages from queues requires the `can_receive` permission. You can create separate credentials if you need to isolate these two roles in your application. ## How to modify a queue's configuration You can modify the visibility timeout, message retention period and maximum message size of a queue after creation. You can also modify the content based deduplication settings for FIFO queues. However, you cannot change a queue's name or type after creation. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to configure. - -3. Click **SQS**. The list of your queues in the pre-selected region displays. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to modify. -4. Click the queue you wish to modify. The queue's **Settings** page displays: +3. Click the queue you wish to modify. The queue's **Settings** page displays: - + -5. Modify the visibility timeout, message retention period, maximum message size, and (for FIFO queues) content-based deduplication values as you wish. +4. Modify the visibility timeout, message retention period, maximum message size, and (for FIFO queues) content-based deduplication values as you wish. -6. Click **Save**. +5. Click **Save**. ## How to purge a queue of messages You can use the **Purge** feature to delete all messages from a queue. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to purge. +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. -3. Click **SQS**. The list of your queues in the pre-selected region displays. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to configure. -4. Either: +3. Either: - Click the queue you wish to purge. The queue's **Settings** page displays. Click the **Purge** button in the top right corner. - Click the icon next to the queue you wish to purge, then select **Purge** from the menu that displays. A pop-up asks you to confirm that you understand this action will delete all your queued messages. - - -5. Type **PURGE** and click **Purge queue**. +4. Type **PURGE** and click **Purge queue**. ## How to delete a queue When you no longer want a queue, you can delete it. This action is irreversible and deletes the queue along with any queued messages. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to delete. +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. -2. Click **SQS**. The list of your queues in the pre-selected region displays. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to configure. 3. Either: - Click the queue you wish to delete. The queue's **Settings** page displays. Click the **Delete queue** button in the bottom right corner. @@ -106,6 +97,4 @@ When you no longer want a queue, you can delete it. This action is irreversible A pop-up asks you to confirm that you understand this action will delete the queue and all your queued messages. -4. Type **DELETE** and click **Delete queue**. - - +4. Type **DELETE** and click **Delete queue**. \ No newline at end of file diff --git a/serverless/messaging/how-to/create-manage-subscriptions.mdx b/serverless/messaging/how-to/create-manage-subscriptions.mdx index bc71839be4..7dcabe28eb 100644 --- a/serverless/messaging/how-to/create-manage-subscriptions.mdx +++ b/serverless/messaging/how-to/create-manage-subscriptions.mdx @@ -1,19 +1,19 @@ --- meta: - title: How to create and manage SNS subscriptions - description: Learn to create and manage SNS subscriptions with Scaleway Messaging and Queuing. This guide ensures effective message delivery and streamlined communication. + title: How to create and manage Topics and Events subscriptions + description: Learn to create and manage Scaleway Topics and Events subscriptions. This guide ensures effective message delivery and streamlined communication. content: - h1: How to create and manage SNS subscriptions - paragraph: Learn to create and manage SNS subscriptions with Scaleway Messaging and Queuing. This guide ensures effective message delivery and streamlined communication. + h1: How to create and manage Topics and Events subscriptions + paragraph: Learn to create and manage Scaleway Topics and Events subscriptions. This guide ensures effective message delivery and streamlined communication. tags: messaging queuing subscriptions sns topics categories: - serverless dates: - validation: 2024-09-26 + validation: 2024-10-17 posted: 2024-02-06 --- -This page shows how to create and manage SNS [subscriptions](/serverless/messaging/concepts/#subscription) with Scaleway Messaging and Queuing. When you create a subscription to a [topic](/serverless/messaging/concepts/#topic), you are effectively signing up an endpoint to receive all messages published to that topic. +This page shows how to create and manage [subscriptions](/serverless/messaging/concepts/#subscription) with Scaleway Topics and Events (formerly part of the Messaging and Queuing product). When you create a subscription to a [topic](/serverless/messaging/concepts/#topic), you are effectively signing up an endpoint to receive all messages published to that topic. @@ -23,24 +23,23 @@ This page shows how to create and manage SNS [subscriptions](/serverless/messagi ## How to create a subscription -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. 2. Use the dropdown menu to select the [region](/serverless/messaging/concepts/#region) of the topic you want to create a subscription for. -3. Click **SNS**, then navigate to the **Topics** tab and click the topic you want to create a subscription for. +3. Click the name of the topic you want to create a subscription for. -4. Click **create subscription**. The subscription creation wizard displays: +4. Click **Create Subscription**. The subscription creation wizard displays. + - - -5. Verify the parameters of the topic that you are creating a subscription for. +5. Verify the parameters of the topic that you are creating a subscription for (name, and type). 6. Choose a protocol, based on the type of endpoint or client you want to subscribe. Click the tab below for further details and full instructions on each protocol:
- Select **HTTP** to create a subscription for a service or web server that can receive `HTTP POST` requests from SNS, via standard HTTP protocol. + Select **HTTP** to create a subscription for a service or web server that can receive `HTTP POST` requests from Topics and Events, via standard HTTP protocol. Note that for security reasons, we recommend using the HTTPS protocol, rather than HTTP. @@ -51,7 +50,7 @@ This page shows how to create and manage SNS [subscriptions](/serverless/messagi

- Select **HTTPS** to create a subscription for a service or web server that can receive `HTTP POST` requests from SNS, via secure HTTP protocol. + Select **HTTPS** to create a subscription for a service or web server that can receive `HTTP POST` requests from Topics and Events, via secure HTTP protocol. You are prompted to enter the URL of the HTTP endpoint to subscribe, e.g. `example.com`. Note that the scheme (`https://`) is not required. @@ -61,49 +60,49 @@ This page shows how to create and manage SNS [subscriptions](/serverless/messagi
Choose **Serverless Functions and Containers** to create a subscription for a Scaleway Serverless Function or Container that you have created. - You are prompted to select the **namespace** containing the Function or Container that you want to subscribe. Only namespaces in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the SNS topic can be selected. + You are prompted to select the **namespace** containing the Function or Container that you want to subscribe. Only namespaces in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the topic can be selected. - You are prompted to select the Serverless Function or Container to subscribe. Only Functions and Containers with a public [privacy policy](/serverless/functions/concepts/#privacy-policy) can subscribe to an SNS topic. + You are prompted to select the Serverless Function or Container to subscribe. Only Functions and Containers with a public [privacy policy](/serverless/functions/concepts/#privacy-policy) can subscribe to an topic.
- +
- Choose **SQS** to create a subscription for a Scaleway SQS queue that you have created. + Choose **Queues** to create a subscription for a Scaleway queue that you have created. - You are prompted to select the **queue** to subscribe. Only queues in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the SNS topic can be selected. + You are prompted to select the **queue** to subscribe. Only queues in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the topic can be selected.
7. Click **Create subscription** to finish. - The subscription is created. If you created an HTTP or HTTPS subscription, you will now need to **confirm** it, as described below. This step is not required for Serverless Functions or Containers subscriptions. + The subscription is created. If you created an HTTP or HTTPS subscription, you will now need to **confirm** it, as described below. This step is not required for Serverless Functions / Containers or Queues subscriptions. ## How to confirm an HTTP or HTTPS subscription An HTTP or HTTPS subscription will have a `Pending` status until you **confirm** it. This is essential for it to be able to start receiving messages. Follow the steps below to confirm the subscription: -1. Access the subscription's **Settings** page (from the console side menu, **Messaging** > **SNS** > **Topics**, click the topic containing the subscription, then click the subscription). +1. Access the subscriptions listing page (from the console side menu, **Serverless** > **Topics and Events** > **Topics**, click the topic containing the subscription). -2. Click the **Confirm Subscription** button at the top right of the page. A pop-up displays: +2. Click the icon next to the subscription you wish to confirm, then select **Confirm subscription** from the menu. A pop-up displays: - + -3. Retrieve the confirmation message that Scaleway SNS sent to your endpoint (delivered as an `HTTP POST` request), and extract the `SubscribeURL` from the message payload. +3. Retrieve the confirmation message that Scaleway Topics and Events sent to your endpoint (delivered as an `HTTP POST` request), and extract the `SubscribeURL` from the message payload. 4. Enter the `SubscribeURL` value (e.g. `https://sns.mnq.{region}.scaleway.com/?Action=ConfirmSubscription&TopicArn={your-topic-arn}&Token={your-subscription-token}`) in the box. The correct values for region, topic ARN and subscription token should be pre-filled for you in the URL. 5. Click **Confirm subscription**. - You are returned to the subscription's **Settings** page, where its status is now shown as **Confirmed**. The subscription will now receive messages published to the topic. + The subscription's status is now shown as **Confirmed**. The subscription will now receive messages published to the topic. ## How to delete a subscription When you no longer want a subscribed endpoint or service to receive messages from the topic, you can delete the subscription. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. 2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the subscription you want to delete. -3. Click **SNS** > **Topics**, then click the topic containing the subscription you want to delete. +3. Click the topic containing the subscription you want to delete. 4. Click the **Subscriptions** tab. The list of subscriptions to this topic displays. diff --git a/serverless/messaging/how-to/create-manage-topics.mdx b/serverless/messaging/how-to/create-manage-topics.mdx index 22c80f7f74..054f4cfb90 100644 --- a/serverless/messaging/how-to/create-manage-topics.mdx +++ b/serverless/messaging/how-to/create-manage-topics.mdx @@ -1,67 +1,61 @@ --- meta: - title: How to create and manage SNS topics - description: Discover how to create and manage SNS topics with Scaleway Messaging and Queuing. Enhance your messaging setup with this comprehensive, easy-to-follow guide. + title: How to create and manage Topics and Events topics + description: Discover how to create and manage topics with Scaleway Topics and Events. Enhance your messaging setup with this comprehensive, easy-to-follow guide. content: - h1: How to create and manage SNS topics - paragraph: Discover how to create and manage SNS topics with Scaleway Messaging and Queuing! Enhance your messaging setup with this comprehensive, easy-to-follow guide. + h1: How to create and manage Topics and Events topics + paragraph: Discover how to create and manage topics with Scaleway Topics and Events. Enhance your messaging setup with this comprehensive, easy-to-follow guide. tags: messaging queuing topics sns categories: - serverless dates: - validation: 2024-09-26 + validation: 2024-10-17 posted: 2023-12-27 --- -This page shows how to create and manage SNS [topics](/serverless/messaging/concepts/#topic) with Scaleway Messaging and Queuing. +This page shows how to create and manage [topics](/serverless/messaging/concepts/#topic) with Scaleway Topics and Events (formerly part of the Messaging and Queuing product). - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- [Activated SNS](/serverless/messaging/how-to/get-started/#how-to-activate-sqs-or-sns) for the [region](/serverless/messaging/concepts/#region) in which you want to create a topic ## How to create a topic -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create a topic. +2. Click **Create topic**. The topic creation wizard displays. -3. Click **SNS**, then navigate to the **Topics** tab and click **Create topic**. The topic creation wizard displays. + + +3. Choose a region in which to create your topic. 4. Enter a **name** for your topic. The name must contain no more than 80 characters, and consist only of alphanumeric characters, hyphens, and underscores. Alternatively, you can go with the auto-generated name suggested for you. 5. Choose a **topic type**. The following topic types are available: - **Standard**: Ensures at-least-once message delivery, where the order of messages is not preserved. Supports Serverless Functions, Serverless Containers and HTTP/S subscriptions. - - **FIFO**: Provides first-in-first-out delivery, where the order of messages is preserved without duplication. Supports SQS subscriptions. [Content-based deduplication](/serverless/messaging/concepts/#content-based-deduplication) is only available for FIFO topics. + - **FIFO**: Provides first-in-first-out delivery, where the order of messages is preserved without duplication. Supports Scaleway Queues subscriptions. [Content-based deduplication](/serverless/messaging/concepts/#content-based-deduplication) is only available for FIFO topics. 6. Click **Create topic** to finish. You are returned to the **Topics** tab, where your newly-created topic now displays. The topic's URL is also displayed here, for use in your API/CLI operations. -Remember that you need to [create credentials](/serverless/messaging/how-to/create-credentials/) in order to access your SNS service and its topics from an API or CLI. Sending messages to topics requires that credentials have the `can_publish` permission, while receiving messages from topics requires the `can_receive` permission. You can create separate credentials if you need to isolate these two roles in your application. +Remember that you need to [create credentials](/serverless/messaging/how-to/create-credentials/) in order to access your Topics and Events service and its topics from an API or CLI. Sending messages to topics requires that credentials have the `can_publish` permission, while receiving messages from topics requires the `can_receive` permission. You can create separate credentials if you need to isolate these two roles in your application. ## How to delete a topic When you no longer want a topic, you can delete it. This action is irreversible and deletes the topic along with all its associated subscriptions. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. 2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the topic you want to delete. -3. Click **SNS**, then navigate to the **Topics** tab, where the list of your topics in the pre-selected region displays. - -4. Click the topic you wish to delete. The topic's **Settings** page displays. - - -5. Either: - - Click the topic you wish to delete. The topic's **Settings** page displays. Click the **Delete topic** button in the bottom right corner. +3. Either: + - Click the topic you wish to delete, and navigate to its **Settings** page. Click the **Delete topic** button in the bottom right corner, or - Click the icon next to the topic you wish to delete, then select **Delete** from the menu that displays. A pop-up asks you to confirm that you understand this action will delete the topic and all of its associated subscriptions. -6. Type **DELETE** and click **Delete topic**. - - +4. Type **DELETE** and click **Delete topic**. \ No newline at end of file diff --git a/serverless/messaging/how-to/deactivate-delete-messaging.mdx b/serverless/messaging/how-to/deactivate-delete-messaging.mdx index 587e8e58b8..8b186abd77 100644 --- a/serverless/messaging/how-to/deactivate-delete-messaging.mdx +++ b/serverless/messaging/how-to/deactivate-delete-messaging.mdx @@ -1,57 +1,35 @@ --- meta: - title: How to deactivate or delete a Messaging and Queuing service - description: Deactivate or delete Scaleway Messaging and Queuing services effectively. Safely remove resources with this straightforward guide. + title: How to delete a NATS, Queues, or Topics and Events service + description: Delete Scaleway NATS, Queues, or Topics and Events effectively. Safely remove resources with this straightforward guide. content: - h1: How to deactivate or delete a Messaging and Queuing service - paragraph: Deactivate or delete Scaleway Messaging and Queuing services effectively. Safely remove resources with this straightforward guide. + h1: How to delete a NATS, Queues, or Topics and Events service + paragraph: Delete Scaleway NATS, Queues, or Topics and Events services effectively. Safely remove resources with this straightforward guide. dates: - validation: 2024-08-07 + validation: 2024-10-17 posted: 2023-10-03 tags: delete messaging queuing queueing messaging-and-queuing service disable deactivate nats-account stop categories: - serverless --- -This page shows how to deactivate an SQS or SNS service, or delete a NATS account. These two processes are different, but equivalent. +This page shows how to delete a Scaleway **NATS**, account. + +Note that it is no longer necessary to deactivate services for **Queues** or **Topics and Events**: simply delete the queues, topics, subscriptions or other associated resources for the product directly. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- A [NATS account or have activated SQS/SNS](/serverless/messaging/how-to/get-started/) - -## How to deactivate SNS or SQS - -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) you want to deactivate the relevant protocol in. - -3. Click **SQS** or **SNS** depending on which protocol you want to deactivate. - -4. Click the **Settings** tab. - - - If you do not currently have any credentials, topics or queues created for this protocol, you will not be able to access the Settings tab. Temporarily create credentials, or a topic or queue, in order to access the **Settings** tab. Then, proceed with the steps below to deactivate the protocol. - - -5. In the bottom panel, click the **Deactivate** button for the protocol. - - A pop-up displays, reminding you that any existing SQS (or SNS) resources you have will be permanently deleted, and that you will not be able to create any new queues/topics or credentials unless you reactivate the protocol. - -6. Click **Deactivate SQS** (or SNS) to confirm. - - -SQS and SNS must be deactivated on a region-by-region basis. If you have activated SNS or SQS in other [regions](/serverless/messaging/concepts/#region), and you also want to deactivate those, repeat the process above to deactivate the protocol in each one. - +- At least one [NATS account](/serverless/messaging/how-to/get-started/), [queue](/serverless/messaging/how-to/create-manage-queues/), or [topic](/serverless/messaging/how-to/create-manage-topics/) ## How to delete a NATS account -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. 2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the NATS account you want to delete. -3. Click **NATS**, then click the NATS account you want to delete. +3. Click the NATS account you want to delete. 4. In the bottom panel, click the **Delete NATS account** button. @@ -64,3 +42,4 @@ Repeat the process above for each NATS account you want to delete. Remember to u
+ diff --git a/serverless/messaging/how-to/get-started.mdx b/serverless/messaging/how-to/get-started.mdx index 6de3e3b62d..e8f2905018 100644 --- a/serverless/messaging/how-to/get-started.mdx +++ b/serverless/messaging/how-to/get-started.mdx @@ -1,24 +1,24 @@ --- meta: - title: How to get started with Messaging and Queuing - description: Kickstart your journey with Scaleway Messaging and Queuing. Learn how to set up, manage, and optimize your NATS, SQS and SNS services effortlessly. + title: How to get started with NATS, Queues, or Topics and Events + description: Kickstart your journey with Scaleway NATS, Queues, or Topics and Events. Learn how to set up, manage, and optimize your NATS, Queues, and Topics and Events services effortlessly. content: - h1: How to get started with Messaging and Queuing - paragraph: Kickstart your journey with Scaleway Messaging and Queuing. Learn how to set up, manage, and optimize your NATS, SQS and SNS services effortlessly. + h1: How to get started with NATS, Queues, or Topics and Events + paragraph: Kickstart your journey with Scaleway NATS, Queues, or Topics and Events. Learn how to set up, manage, and optimize your NATS, Queues, and Topics and Events effortlessly. tags: messaging queuing enable disable nats sqs sns nats-account account create categories: - serverless dates: - validation: 2024-08-07 + validation: 2024-10-17 posted: 2023-10-03 --- -This page shows how to get started with Scaleway Messaging and Queuing. The process differs depending on the [messaging protocol](/serverless/messaging/concepts/#messaging-protocol) you want to use: +This page shows how to get started with Scaleway **NATS**, **Queues** or **Topics and Events** (previously grouped together as the **Messaging and Queuing** product). -- For NATS, you need to **create a NATS account**. -- For SQS or SNS, you need to **activate the protocol**. +The process differs depending on the [messaging protocol](/serverless/messaging/concepts/#messaging-protocol) you want to use: -Both procedures are described in full below. +- For NATS, you need to **create a NATS account**. +- For **Queues** and **Topics and Events**, you no longer need to activate the protocol, but can proceed directly to [creating queues](/serverless/messaging/how-to/create-manage-queues) and/or [topics](/serverless/messaging/how-to/create-manage-topics). @@ -29,21 +29,15 @@ Both procedures are described in full below. To start using a NATS message broker, you must first create a NATS account. This sets a scope for your NATS credentials, messages, queues and stream. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The following screen displays: - - - -2. Select a [region](/serverless/messaging/concepts/#region) from the drop-down menu. The region designates the geographical area where the NATS account will be hosted. +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. -3. Click **NATS**. The NATS welcome screen displays. +2. Click **Create a NATS account**. The creation wizard displays. -4. Click **Create a NATS account**. The creation wizard displays: + - +3. Complete the following steps in the wizard: -5. Complete the following steps in the wizard: - - - Check the **region**, which is the geographical location in which your NATS account will be created. If you want to use a different region to the one shown, go back to step 2 to change it. + - Choose a **region**, which is the geographical location in which your NATS account will be created. - Enter a **name** for your NATS account, or use the auto-generated name suggested for you. - Optional: Use the *Estimated cost** calculator to simulate how messages sent and stored with NATS streams will be billed. Note that simply creating a NATS account does not in itself incur any billing. For more information about NATS billing, see the [FAQ](/faq/messaging-and-queuing/#how-is-messaging-and-queuing-billed). - Click **Create NATS account** to finish. @@ -55,22 +49,6 @@ To start using a NATS message broker, you must first create a NATS account. This
-## How to activate SQS or SNS - -SQS and SNS are handled as two separate protocols. Each one needs to be activated before you can start creating credentials, queues, topics, etc. for this protocol. You can choose to activate one or both protocols as you like. You can deactivate each protocol at any time. - -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The following screen displays: - - - -2. Select a [region](/serverless/messaging/concepts/#region) from the drop-down menu. The region designates the geographical area where the service will be hosted. - -3. Click **Activate** next to SQS or SNS, depending on the protocol you want to activate. - - A message displays prompting you to click a button to activate the protocol. It also reminds you that activating the protocol does not trigger any billing, and that you can deactivate at any time. - -4. Click **Activate SQS** (or SNS). - - The protocol is activated for the selected region, and you are invited to [generate credentials](/serverless/messaging/how-to/create-credentials/). You can repeat these steps to activate the protocol for additional regions, if required. - +## How to activate Queues or Topics and Events +For **Queues** and **Topics and Events**, you no longer need to activate the individual protocols. Proceed directly to [creating queues](/serverless/messaging/how-to/create-manage-queues) or [topics](/serverless/messaging/how-to/create-manage-topics) directly. \ No newline at end of file diff --git a/serverless/messaging/how-to/index.mdx b/serverless/messaging/how-to/index.mdx index 3dc17e69f1..e54fd91319 100644 --- a/serverless/messaging/how-to/index.mdx +++ b/serverless/messaging/how-to/index.mdx @@ -1,8 +1,8 @@ --- meta: - title: Messaging and Queuing - How Tos - description: Messaging and Queuing How Tos + title: NATS, Queues, and Topics and Events - How Tos + description: NATS, Queues, and Topics and Events How Tos content: - h1: Messaging and Queuing - How Tos - paragraph: Messaging and Queuing/How Tos + h1: NATS, Queues, and Topics and Events - How Tos + paragraph: NATS, Queues, and Topics and Events How Tos --- diff --git a/serverless/messaging/how-to/manage-credentials.mdx b/serverless/messaging/how-to/manage-credentials.mdx index 347f5ef34b..3437c89276 100644 --- a/serverless/messaging/how-to/manage-credentials.mdx +++ b/serverless/messaging/how-to/manage-credentials.mdx @@ -1,71 +1,71 @@ --- meta: - title: How to manage credentials for Messaging and Queuing - description: Master managing credentials for Scaleway Messaging and Queuing! Follow this guide to securely update, rotate, and control access to your messaging services. + title: How to manage credentials for NATS, Queues, or Topics and Events + description: Master managing credentials for Scaleway NATS, Queues, or Topics and Events (Messaging and Queuing)! Follow this guide to securely update, rotate, and control access to your messaging services. content: - h1: How to manage credentials for Messaging and Queuing - paragraph: Master managing credentials for Scaleway Messaging and Queuing! Follow this guide to securely update, rotate, and control access to your messaging services. + h1: How to manage credentials for NATS, Queues, or Topics and Events + paragraph: Master managing credentials for Scaleway NATS, Queues, or Topics and Events (Messaging and Queuing)! Follow this guide to securely update, rotate, and control access to your messaging services. dates: - validation: 2024-08-07 + validation: 2024-10-17 posted: 2022-08-11 tags: manage credentials messaging queuing permissions update revoke categories: - serverless --- -This page shows how to manage [credentials](/serverless/messaging/concepts/#credentials) for Scaleway Messaging and Queuing. Credentials for SQS or SNS can be updated to change their permissions, or revoked. NATS credentials can only be revoked, not updated. Once credentials are revoked, any user trying to use the credentials to connect to the service will be denied. +Credentials give their bearer (e.g. services and platforms) access to your service. + +This page shows how to manage [credentials](/serverless/messaging/concepts/#credentials) for Scaleway **NATS**, **Queues** and **Topics and Events** (previously grouped together as the **Messaging and Queuing** product). + +Credentials for **Queues** and **Topics and Events** can be updated to change their permissions, or revoked. **NATS** credentials can only be revoked, not updated. Once credentials are revoked, any user trying to use the credentials to connect to the service will be denied. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- A [NATS account or have activated SQS/SNS](/serverless/messaging/how-to/get-started/) - Valid [credentials](/serverless/messaging/how-to/create-credentials/) -## How to update SQS or SNS credentials +## How to update Queues or Topics and Events credentials -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Queues** or **Topics and Events** in the **Serverless** section of the Scaleway console side menu, depending on which type of credentials you want to update. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the credentials you want to update. +2. Click the **Credentials** tab. -3. Click SQS or SNS, depending on which service you want to update credentials for. +3. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the credentials you want to update. -4. In the **Credentials** tab, click the button next to the credentials you want to update, and select **Update credentials**. A pop-up displays, such as the one below for SQS: +4. Click the button next to the credentials you want to update, and select **Update credentials**. A pop-up displays, such as the one below for Queues: - + 5. Make the required updates to your credentials. You can modify the name, and the permissions. 6. Click **Update credentials**. - The credentials are updated and you are returned to the protocol's **Credentials** listing. - + The credentials are updated and you are returned to the product's **Credentials** listing. -## How to revoke SQS or SNS credentials +## How to revoke Queues or Topics and Events credentials -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Queues** or **Topics and Events** in the **Serverless** section of the Scaleway console side menu, depending on which type of credentials you want to revoke. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the credentials you want to revoke. +2. Click the **Credentials** tab. -3. Click **SQS** or **SNS** depending on which service you want to revoke credentials for. +3. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the credentials you want to revoke. -4. In the **Credentials** tab, click the button next to the credentials you want to revoke and select **Revoke**. +4. Click the button next to the credentials you want to revoke and select **Revoke**. A pop-up displays, warning you that this action is irreversible and the key will no longer be able to access your service. -4. Click **Revoke credentials**. +5. Click **Revoke credentials**. - The credentials are revoked and you are returned to the protocol's **Credentials** listing. + The credentials are revoked and you are returned to the product's **Credentials** listing. ## How to revoke NATS credentials -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the NATS account for which you want to revoke credentials. +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. -3. Click **NATS** and select the NATS account you want to revoke credentials for. +2. Select the NATS account you want to revoke credentials for. -4. In the **Credentials** label, click the button next to the credentials you want to revoke. +3. In the **Credentials** panel, click the button next to the credentials you want to revoke. A pop-up displays, warning you that this action is irreversible and the key will no longer be able to access your service. diff --git a/serverless/messaging/how-to/monitor-mnq-cockpit.mdx b/serverless/messaging/how-to/monitor-mnq-cockpit.mdx index fb5e6a80c6..46367b3416 100644 --- a/serverless/messaging/how-to/monitor-mnq-cockpit.mdx +++ b/serverless/messaging/how-to/monitor-mnq-cockpit.mdx @@ -1,23 +1,22 @@ --- meta: - title: How to monitor Messaging and Queuing with Scaleway Cockpit - description: Monitor your Messaging and Queuing services with Scaleway Cockpit. This guide helps you track performance to manage your messaging services efficiently. + title: How to monitor NATS, Queues, and Topics and Events with Scaleway Cockpit + description: Monitor your NATS, Queues, and Topics and Events services with Scaleway Cockpit. This guide helps you track performance to manage your messaging services efficiently. content: - h1: How to monitor Messaging and Queuing with Scaleway Cockpit - paragraph: Monitor your Messaging and Queuing services with Scaleway Cockpit. This guide helps you track performance to manage your messaging services efficiently. + h1: How to monitor NATS, Queues, and Topics and Events with Scaleway Cockpit + paragraph: Monitor your NATS, Queues, and Topics and Events services with Scaleway Cockpit. This guide helps you track performance to manage your messaging services efficiently. tags: messaging queuing queueing cockpit metrics observability categories: - serverless dates: - validation: 2024-04-09 + validation: 2024-10-17 posted: 2023-09-07 -validation_frequency: 8 --- -You can view your Messaging and Queuing metrics via [Scaleway Cockpit](/observability/cockpit/quickstart/). This allows you to monitor your queues/streams and messages at a glance. There are two steps to complete to view your Messaging and Queuing metrics for the first time with Cockpit: +You can view metrics for your NATS, Queues, and Topics and Events services via [Scaleway Cockpit](/observability/cockpit/quickstart/). This allows you to monitor your queues/streams and messages at a glance. There are two steps to complete to view your metrics for the first time with Cockpit: 1. Generate your Grafana credentials -2. Access the Messaging and Queuing metrics dashboard +2. Access the product's metrics dashboard These steps are described below. @@ -27,7 +26,7 @@ These steps are described below. - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -- A [NATS account or have activated SQS/SNS](/serverless/messaging/how-to/get-started/) +- At least one [NATS account](/serverless/messaging/how-to/get-started/), [queue](/serverless/messaging/how-to/create-manage-queues/), or [topic](/serverless/messaging/how-to/create-manage-topics/) ## How to activate your Cockpit @@ -35,11 +34,11 @@ Scaleway Cockpit is activated by default if you have created [Scaleway resources ## How to generate Grafana credentials -To view your Messaging and Queuing metrics with Cockpit, you will use a Grafana dashboard which is accessible from the Scaleway console. First, you must create a user and their associated credentials (a username and password) for Grafana. This can be done directly from the Scaleway console, [by following this procedure](/observability/cockpit/how-to/retrieve-grafana-credentials/). +To view your metrics with Cockpit, you will use a Grafana dashboard which is accessible from the Scaleway console. First, you must create a user and their associated credentials (a username and password) for Grafana. This can be done directly from the Scaleway console, [by following this procedure](/observability/cockpit/how-to/retrieve-grafana-credentials/). -## How to access your Messaging and Queuing dashboard and view your metrics +## How to access your NATS, Queues, or Topics and Events dashboard and view your metrics -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. +1. Click **NATS**, **Queues** or **Topics and Events** in the **Serverless** section of the Scaleway console side menu. 2. Click the **protocol** you want to view metrics for, and navigate to the **Metrics** tab. @@ -47,9 +46,6 @@ To view your Messaging and Queuing metrics with Cockpit, you will use a Grafana 4. Enter your Grafana username and password to log in. - You are directed to the dashboard for Messaging and Queuing, where you can view all your metrics. - - - + You are directed to the dashboard for the product in question, where you can view all your metrics. diff --git a/serverless/messaging/index.mdx b/serverless/messaging/index.mdx index f56c355869..fc8a61d8d6 100644 --- a/serverless/messaging/index.mdx +++ b/serverless/messaging/index.mdx @@ -1,23 +1,15 @@ --- meta: - title: Messaging and Queuing Documentation - description: Explore Scaleway Messaging and Queuing. Simplify your microservice workflows with scalable, reliable, and cost-effective message handling solutions. + title: NATS, Queues, and Topics and Events Documentation + description: Explore Scaleway NATS, Queues, and Topics and Events. Simplify your microservice workflows with scalable, reliable, and cost-effective message handling solutions. --- - - - You can now [create SNS subscriptions](/serverless/messaging/how-to/create-manage-subscriptions/) for HTTP/S endpoints and Serverless Functions and Containers in the Scaleway console - - Messaging and Queuing is now available in the AMS-1 Availability Zone, and becomes a regionalized product - [read the documentation to learn more](/serverless/messaging/concepts/#region). - - ## Getting Started @@ -26,28 +18,28 @@ meta: @@ -58,17 +50,17 @@ meta: @@ -77,10 +69,10 @@ meta: ## Changelog diff --git a/serverless/messaging/quickstart.mdx b/serverless/messaging/quickstart.mdx index c495f4ca5a..057fa06515 100644 --- a/serverless/messaging/quickstart.mdx +++ b/serverless/messaging/quickstart.mdx @@ -1,191 +1,219 @@ --- meta: - title: Messaging and Queuing - Quickstart - description: Get started with Scaleway's serverless Messaging and Queuing service. This quickstart guide helps you easily set up and manage scalable messaging solutions in minutes. + title: NATS, Queues, and Topics and Events - Quickstart + description: Get started with Scaleway's serverless NATS, Queues, and Topics and Events services. This quickstart guide helps you easily set up and manage scalable messaging solutions in minutes. content: - h1: Messaging and Queuing - Quickstart - paragraph: TGet started with Scaleway's serverless Messaging and Queuing service. This quickstart guide helps you easily set up and manage scalable messaging solutions in minutes. + h1: NATS, Queues, and Topics and Events - Quickstart + paragraph: Get started with Scaleway's serverless NATS, Queues, and Topics and Events services. This quickstart guide helps you easily set up and manage scalable messaging solutions in minutes. dates: - validation: 2024-08-23 + validation: 2024-10-18 posted: 2022-08-29 tags: messaging queuing queueing quickstart messaging-and-queuing nats sqs sls message-broker queues topics messages streams categories: - serverless --- -Scaleway Messaging and Queuing is a [message broker](/serverless/messaging/concepts/#messaging-and-queuing) tool that allows you to transfer messages between different microservices and platforms. This enables them to "talk" to each other effectively even if they are not otherwise compatible. Messaging and Queuing enables and simplifies microservices application development and allows you to build highly scalable, reliable, distributed applications. +Scaleway NATS, Queues, and Topics and Events are [message broker](/serverless/messaging/concepts/#messaging-and-queuing) tools that allows you to transfer messages between different microservices and platforms. This enables them to "talk" to each other effectively even if they are not otherwise compatible. These brokers enable and simplify microservices application development and allows you to build highly scalable, reliable, distributed applications. -To get started with Scaleway Messaging and Queuing, you need to activate your protocol of choice (SQS or SNS) - or, in the case of the NATS protocol, create a NATS account. You should then generate credentials, and in the case of SQS, use the console to start creating queues. After this, you can then use any supported SDK or CLI of your choice to start creating and managing queues, topics and messages. - -This quickstart guide is divided into two sections, depending on the protocol you want to use with Messaging and Queuing (SQS/SNS, or NATS). +NATS, Queues, and Topics and Events were previously grouped together as the Messaging and Queuing product, and have now become three separate products in their own right. Read on to learn how to get started with your product of choice - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization -## Quickstart for SQS - -### How to activate SQS +## Quickstart for NATS -SQS must be activated for each region you want to use, before you can start creating credentials, queues or other resources for this protocol. You can deactivate at any time. +### How to create a NATS account -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The following screen displays: +To start using a NATS message broker, you must first create a NATS account. This sets a scope for your NATS credentials, messages, queues and stream. - +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. -2. Select a [region](/serverless/messaging/concepts/#region) from the drop-down menu. The region designates the geographical area where the service will be hosted. +2. Click **Create a NATS account**. The creation wizard displays. -3. Click **SQS**. A message displays prompting you to click a button to activate the protocol. It also reminds you that activating the protocol does not trigger any billing, and that you can deactivate at any time. + -4. Click **Activate SQS**. +3. Complete the following steps in the wizard: - The protocol is activated for the pre-selected region, and you are invited to generate credentials. + - Choose a **region**, which is the geographical location in which your NATS account will be created. + - Enter a **name** for your NATS account, or use the auto-generated name suggested for you. + - Optional: Use the *Estimated cost** calculator to simulate how messages sent and stored with NATS streams will be billed. Note that simply creating a NATS account does not in itself incur any billing. For more information about NATS billing, see the [FAQ](/faq/messaging-and-queuing/#how-is-messaging-and-queuing-billed). + - Click **Create NATS account** to finish. -### How to create SQS credentials + You are directed to the listing of your NATS accounts, where your newly-created NATS account now appears. -Credentials for SQS are granular: you can define the level of access that they should give. +### How to create NATS credentials -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +Credentials for NATS accounts are not granular: they necessarily give full read and write access. The bearer of these credentials can publish and receive messages, as well as manage topics and streams, for this account. -2. Use the dropdown menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create credentials. +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. -3. Click **SQS**, then **Generate credentials**. A pop-up displays: - +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the NATS account for which you want to create credentials. The list of your NATS accounts in the pre-selected region displays. -4. Enter a name for these credentials. +3. Click the NATS account you want to generate credentials for. The account's **Overview** page displays. -5. Select the required permissions for the credentials. You must choose at least one of **Write**, **Read** and **Manage**. You are free to select any combination of these permissions. + -6. Click **Generate credentials**. +4. In the **Credentials** panel, click **Generate credentials**. A pop-up displays. - The credentials are created. The access key and secret key are displayed, and you are invited to copy them. +6. Enter a name for these credentials, and click **Generate credentials**. - + The credentials are created and a button displays prompting you to download them in a `.creds` file. + + - This is your only chance to view and save the secret key. Make sure that you copy it and save it somewhere securely. + The generated credentials are displayed only once. Make sure to download and safely store them before closing the window. -7. Copy and save the credentials, before closing the window. +7. Click **Download** and save the file, before closing the window. - You are returned to your Messaging and Queuing SQS service's **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. + You are returned to your NATs account's overview page. The name of your newly-generated credentials and their access level is displayed in the **Credentials** panel. -### How to create queues +### How to create and manage queues, messages and streams + +All further actions related to publishing, processing and managing messages, subjects, queues and streams can be done via a supported CLI or SDK. See our documentation on [NATS CLI and SDKs](/serverless/messaging/reference-content/nats-overview#further-actions:-nats-cli-and-nats-sdk) for more information. You can also check out our tutorial on [creating a serverless architecture for handling large messages](/tutorials/large-messages/) with Scaleway Messaging and Queuing NATS. + +### How to delete a NATS account -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **NATS** in the **Serverless** section of the Scaleway console side menu. -2. Use the dropdown menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create a queue. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the NATS account you want to delete. -3. Click **SQS**, then **Create queue**. The queue creation wizard displays. - +3. Click the NATS account you want to delete. -4. Check the [region](/serverless/messaging/concepts/#region) that your queue will be created in. If you want to change the region, go back to step 2. +4. In the bottom panel, click the **Delete NATS account** button. -5. Enter a **name** for your queue. The name must be no more than 80 characters, and consist only of alphanumeric characters, hyphens, and underscores. Alternatively, you can go with the auto-generated name suggested for you. + A pop-up displays, reminding you that the action is irreversible, and any associated queued messages and credentials will be deleted. -6. Choose your **queue type**, from one of the following: - - **Standard**: Standard queues ensure at-least-once delivery. The exact order of messages in the queue is not preserved. - - **FIFO**: FIFO queues (**F**irst **In** **F**irst **O**ut) preserves the exact ordering of messages. +5. Type `DELETE` and click **Delete NATS account** to confirm. -7. Configure your queue's **parameters**. The following parameters can be defined: - - **Visibility timeout**: The length of time (in seconds) during which, after a message is received, it is hidden and cannot be received again by the same or other consumers. This is useful as the queue itself does not automatically delete messages once they are received, and so prevents consumers from receiving the same message many times before they have finished processing it. Therefore, the value set here should be informed by the expected length of time it will take consumers to process messages. The default value is 30 seconds. The value must be between 1 second and 43 200 seconds (12 hours). - - **Message retention period**: The length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. The default value is 60 seconds. The value must be between 60 seconds and 1 290 600 seconds (14 days). - - **Maximum message size**: The maximum size (in kilobytes) of a message that can be sent to the queue. Messages greater than the defined size will be rejected. The default value is 256 KB. The value must be between 1 KB and 256 KB. - - **Content Based Deduplication**: This setting is only available for FIFO queues. Enable content based deduplication if the message body is guaranteed to be unique for each message. A unique hash value is generated from the body of each message, which is used as its deduplication ID. This avoids the need to set a deduplication ID when sending messages. -8. Click **Create queue** to finish. +## Quickstart for Queues -You are returned to the **Queues** tab, where your newly-created queue now displays. You can view its URL here, for use in your API/CLI operations. Go further by clicking on the queue's name to access its **Settings** page and see additional information such as its ARN (Amazon Resource Name) and configuration parameters. +### How to create credentials for Queues -### How to send and receive messages +Credentials for Queues are granular: you can define the level of access that they should give. Credentials give the specified level of access to all queues that you create in the region they are scoped to. -All further actions related to sending messages to queues can be done via a supported CLI or SDK. See our documentation on the [SQS CLI and SDKs](/serverless/messaging/reference-content/sqs-overview#further-actions) for more information. You can also check out [our tutorial](/tutorials/create-serverless-scraping/) on creating a serverless scraping architecture with Scaleway Messaging and Queuing SQS queues. +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. A list of your queues displays. -### How to deactivate SQS +2. Click the **Credentials** tab. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +3. Click **Generate credentials**. A pop-up displays: -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) you want to deactivate the relevant protocol in. + -3. Click **SQS** or **SNS** depending on which protocol you want to deactivate. +4. Choose a region that these credentials should be scoped to. -4. Click the **Settings** tab. +5. Enter a name for these credentials. - - If you do not currently have any credentials, topics or queues created for SQS, you will not be able to access the Settings tab. Temporarily create credentials or a queue, in order to access the Settings tab. Then, proceed with the steps below to deactivate the protocol. +6. Select the required permissions for the credentials. You must choose at least one of **Write**, **Read** and **Manage**. You are free to select any combination of these permissions. + +7. Click **Generate credentials**. + + The credentials are created. The access key and secret key are displayed, and you are invited to copy them. + + + This is your only chance to view and save the secret key. Make sure that you copy it and save it somewhere securely. -5. In the bottom panel, click the **Deactivate SQS** button. +8. Copy and save the credentials, before closing the window. + + You are returned to the **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. + +### How to create queues - A popup displays, reminding you that any existing SQS resources you have will be permanently deleted, and that you will not be able to create any new queues or credentials unless you reactivate the protocol. +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. -6. Click **Deactivate SQS** to confirm. +2. Click **Create queue**. The queue creation wizard displays. + - -SQS must be deactivated on a region-by-region basis. If you have activated SQS in other [regions](/serverless/messaging/concepts/#region), and you also want to deactivate those, repeat the process above to deactivate the protocol in each one. - +3. Select the [region](/serverless/messaging/concepts/#region) in which you want to create the queue. -## Quickstart for SNS +4. Enter a **name** for your queue. The name must be no more than 80 characters, and consist only of alphanumeric characters, hyphens, and underscores. Alternatively, you can go with the auto-generated name suggested for you. -### How to activate SNS +5. Choose your **Queue type**, from one of the following: + - **Standard**: Standard Queues ensure at-least-once delivery. The exact order of messages in the queue is not preserved. + - **FIFO**: FIFO Queues (**F**irst **In** **F**irst **O**ut) preserves the exact ordering of messages. -SNS must be activated for each region you want to use, before you can start creating credentials, topics or other resources for this protocol. You can deactivate SNS at any time. +6. Configure your queue's **parameters**. The following parameters can be defined: + - **Visibility timeout**: The length of time (in seconds) during which, after a message is received, it is hidden and cannot be received again by the same or other consumers. This is useful as the queue itself does not automatically delete messages once they are received, and so prevents consumers from receiving the same message many times before they have finished processing it. Therefore, the value set here should be informed by the expected length of time it will take consumers to process messages. The default value is 30 seconds. The value must be between 1 second and 43 200 seconds (12 hours). + - **Message retention period**: The length of time (in seconds) that messages are kept in the queue before being deleted. Setting a longer message retention period allows for a longer interval between a message being sent and it being received. The default value is 60 seconds. The value must be between 60 seconds and 1 290 600 seconds (14 days). + - **Maximum message size**: The maximum size (in kilobytes) of a message that can be sent to the queue. Messages greater than the defined size will be rejected. The default value is 256 KB. The value must be between 1 KB and 256 KB. + - **Content Based Deduplication**: This setting is only available for FIFO queues. Enable content-based deduplication if the message body is guaranteed to be unique for each message. A unique hash value is generated from the body of each message, which is used as its deduplication ID. This avoids the need to set a deduplication ID when sending messages. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The following screen displays: +7. Click **Create queue** to finish. - +You are returned to the **Queues** tab, where your newly-created queue now displays. The queue's URL is also displayed here, for use in your API/CLI operations. -2. Select a [region](/serverless/messaging/concepts/#region) from the drop-down menu. The region designates the geographical area where the service will be hosted. +### How to send and receive messages -3. Click **SNS**. A message displays prompting you to click a button to activate the protocol. It also reminds you that activating the protocol does not trigger any billing, and that you can deactivate at any time. +All further actions related to sending messages to queues can be done via a supported CLI or SDK. See our documentation on the [SQS CLI and SDKs](/serverless/messaging/reference-content/sqs-overview#further-actions) for more information. You can also check out [our tutorial](/tutorials/create-serverless-scraping/) on creating a serverless scraping architecture with Scaleway Queues. -4. Click **Activate SNS**. +### How to delete a queue - The protocol is activated for the pre-selected region, and you are invited to generate credentials. +When you no longer want a queue, you can delete it. This action is irreversible and deletes the queue along with any queued messages. -### How to create SNS credentials +1. Click **Queues** in the **Serverless** section of the Scaleway console side menu. -Credentials for SNS are granular: you can define the level of access that they should give. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the queue you want to configure. -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +3. Either: + - Click the queue you wish to delete. The queue's **Settings** page displays. Click the **Delete queue** button in the bottom right corner. + - Click the icon next to the queue you wish to delete, then select **Delete** from the menu that displays. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create credentials. + A pop-up asks you to confirm that you understand this action will delete the queue and all your queued messages. -3. Click **SNS**, then **Generate credentials**. A pop-up displays: - +4. Type **DELETE** and click **Delete queue**. -4. Enter a name for these credentials. +## Quickstart for Topics and Events -5. Select the required permissions for the credentials. You must choose at least one of **Write**, **Read** and **Manage**. You are free to select any combination of these permissions. +### How to create Topics and Events credentials -6. Click **Generate credentials**. +Credentials for Topics and Events are granular: you can define the level of access that they should give. Credentials give the specified level of access to all topics that you create in the region they are scoped to. - The credentials are created. The access key and secret key are displayed, and you are invited to copy them. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. The **Topics and Events** dashboard displays. + +2. Click the **Credentials** tab. - +3. Click **Generate credentials**. A pop-up displays: + + +4. Choose a region that these credentials should be scoped to. + +5. Enter a name for these credentials. + +6. Select the required permissions for the credentials. You must choose at least one of **Write**, **Read** and **Manage**. You are free to select any combination of these permissions. + +7. Click **Generate credentials**. + + The credentials are created. The access key and secret key are displayed, and you are invited to copy them. + This is your only chance to view and save the secret key. Make sure that you copy it and save it somewhere securely. -7. Copy and save the credentials, before closing the window. +8. Copy and save the credentials, before closing the window. - You are returned to your Messaging and Queuing SNS service's **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. + You are returned to the **Credentials** tab. The name of your newly-generated credentials, along with the access key and access level are displayed. ### How to create topics -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. + +2. Click **Create topic**. The topic creation wizard displays. -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) in which you want to create a topic. + -3. Click **SNS**, then navigate to the **Topics** tab and click **Create topic**. The topic creation wizard displays. +3. Choose a region in which to create your topic. 4. Enter a **name** for your topic. The name must contain no more than 80 characters, and consist only of alphanumeric characters, hyphens, and underscores. Alternatively, you can go with the auto-generated name suggested for you. 5. Choose a **topic type**. The following topic types are available: - **Standard**: Ensures at-least-once message delivery, where the order of messages is not preserved. Supports Serverless Functions, Serverless Containers and HTTP/S subscriptions. - - **FIFO**: Provides first-in-first-out delivery, where the order of messages is preserved without duplication. Supports SQS subscriptions. [Content-based deduplication](/serverless/messaging/concepts/#content-based-deduplication) is only available for FIFO topics. + - **FIFO**: Provides first-in-first-out delivery, where the order of messages is preserved without duplication. Supports Scaleway Queues subscriptions. [Content-based deduplication](/serverless/messaging/concepts/#content-based-deduplication) is only available for FIFO topics. 6. Click **Create topic** to finish. @@ -193,24 +221,23 @@ You are returned to the **Topics** tab, where your newly-created topic now displ ### How to create a subscription -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. 2. Use the dropdown menu to select the [region](/serverless/messaging/concepts/#region) of the topic you want to create a subscription for. -3. Click **SNS**, then navigate to the **Topics** tab and click the topic you want to create a subscription for. +3. Click the name of the topic you want to create a subscription for. -4. Click **create subscription**. The subscription creation wizard displays: +4. Click **Create Subscription**. The subscription creation wizard displays. + - - -5. Verify the parameters of the topic that you are creating a subscription for. +5. Verify the parameters of the topic that you are creating a subscription for (name and type). 6. Choose a protocol, based on the type of endpoint or client you want to subscribe. Click the tab below for further details and full instructions on each protocol:
- Select **HTTP** to create a subscription for a service or web server that can receive `HTTP POST` requests from SNS, via standard HTTP protocol. + Select **HTTP** to create a subscription for a service or web server that can receive `HTTP POST` requests from Topics and Events, via standard HTTP protocol. Note that for security reasons, we recommend using the HTTPS protocol, rather than HTTP. @@ -221,7 +248,7 @@ You are returned to the **Topics** tab, where your newly-created topic now displ

- Select **HTTPS** to create a subscription for a service or web server that can receive `HTTP POST` requests from SNS, via secure HTTP protocol. + Select **HTTPS** to create a subscription for a service or web server that can receive `HTTP POST` requests from Topics and Events, via secure HTTP protocol. You are prompted to enter the URL of the HTTP endpoint to subscribe, e.g. `example.com`. Note that the scheme (`https://`) is not required. @@ -231,123 +258,38 @@ You are returned to the **Topics** tab, where your newly-created topic now displ
Choose **Serverless Functions and Containers** to create a subscription for a Scaleway Serverless Function or Container that you have created. - You are prompted to select the **namespace** containing the Function or Container that you want to subscribe. Only namespaces in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the SNS topic can be selected. + You are prompted to select the **namespace** containing the Function or Container that you want to subscribe. Only namespaces in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the topic can be selected. - You are prompted to select the Serverless Function or Container to subscribe. Only Functions and Containers with a public [privacy policy](/serverless/functions/concepts/#privacy-policy) can subscribe to an SNS topic. + You are prompted to select the Serverless Function or Container to subscribe. Only Functions and Containers with a public [privacy policy](/serverless/functions/concepts/#privacy-policy) can subscribe to a topic.
- +
- Choose **SQS** to create a subscription for a Scaleway SQS queue that you have created. + Choose **Queues** to create a subscription for a Scaleway queue that you have created. - You are prompted to select the **queue** to subscribe. Only queues in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the SNS topic can be selected. + You are prompted to select the **queue** to subscribe. Only queues in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) and [region](/serverless/messaging/concepts/#region) as the topic can be selected.
7. Click **Create subscription** to finish. - The subscription is created. If you created an HTTP or HTTPS subscription, you will now need to [confirm it](/serverless/messaging/how-to/create-manage-subscriptions/#how-to-confirm-an-http-or-https-subscription). This step is not required for Serverless Functions or Containers subscriptions. + The subscription is created. If you created an HTTP or HTTPS subscription, you will now need to [confirm it](/serverless/messaging/how-to/create-manage-subscriptions/#how-to-confirm-an-http-or-https-subscription). ### How to publish messages All further actions related to publishing messages to topics can be done via a supported CLI or SDK. See our documentation on the [SNS CLI and SDKs](/serverless/messaging/reference-content/sns-overview#further-actions)for more information. -### How to deactivate SNS - -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) you want to deactivate the relevant protocol in. +### How to delete a topic -3. Click **SQS** or **SNS** depending on which protocol you want to deactivate. - -4. Click the **Settings** tab. - - - If you do not currently have any credentials, topics or queues created for this protocol, you will not be able to access the Settings tab. Temporarily create credentials, or a topic or queue, in order to access the Settings tab. Then, proceed with the steps below to deactivate the protocol. - +When you no longer want a topic, you can delete it. This action is irreversible and deletes the topic along with all its associated subscriptions. -5. In the bottom panel, click the **Deactivate SQS** button. +1. Click **Topics and Events** in the **Serverless** section of the Scaleway console side menu. - A popup displays, reminding you that any existing SQS (or SNS) resources you have will be permanently deleted, and that you will not be able to create any new queues/topics or credentials unless you reactivate the protocol. +2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the topic you want to delete. -6. Click **Deactivate SQS** (or SNS) to confirm. +3. Either: + - Click the topic you wish to delete, and navigate to its **Settings** page. Click the **Delete topic** button in the bottom right corner, or + - Click the icon next to the topic you wish to delete, then select **Delete** from the menu that displays. - -SQS and SNS must be deactivated on a region-by-region basis. If you have activated SNS or SQS in other [regions](/serverless/messaging/concepts/#region), and you also want to deactivate those, repeat the process above to deactivate the protocol in each one. - + A pop-up asks you to confirm that you understand this action will delete the topic and all of its associated subscriptions. -## Quickstart for NATS - -### How to create a NATS account - -To start using a NATS message broker, you must first create a NATS account. This sets a scope for your NATS credentials, messages, queues and stream. - -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The following screen displays: - - - -2. Select a [region](/serverless/messaging/concepts/#region) from the drop-down menu. The region designates the geographical area where the NATS account will be hosted. - -3. Click **NATS**. The NATS welcome screen displays. - -4. Click **Create a NATS account**. The creation wizard displays: - - - -5. Complete the following steps in the wizard: - - - Check the **region**, which is the geographical location in which your NATS account will be created. If you want to use a different region to the one shown, go back to step 2 to change it. - - Enter a **name** for your NATS account, or use the auto-generated name suggested for you. - - Optionally, use the **Estimated cost** calculator to simulate how messages sent and stored with NATS streams will be billed. Note that simply creating a NATS account does not in itself incur any billing. For more information about NATS billing, see the [FAQ](/faq/messaging-and-queuing/). - - Click **Create NATS account** to finish - - You are directed to the listing of your NATS accounts, where your newly-created NATS account now appears. - -### How to create NATS credentials - -Credentials for NATS accounts are not granular: they necessarily give full read and write access. The bearer of these credentials can publish and receive messages, as well as manage topics and streams, for this account. - -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) of the NATS account for which you want to create credentials. - -3. Click **NATS**. The list of your NATS accounts in the pre-selected region displays. - -4. Click the NATS account you want to generate credentials for. The account's **Overview** page displays. - -5. In the **Credentials** panel, click **Generate credentials**. A pop-up displays. - - -6. Enter a name for these credentials, and click **Generate credentials**. - - The credentials are created and a button displays prompting you to download them in a `.creds` file. - - - - - The generated credentials are displayed only once. Make sure to download and safely store them before closing the window. - - -7. Click **Download** and save the file, before closing the window. - - You are returned to your namespace's overview page. The name of your newly-generated credentials and their access level is displayed in the **Credentials** panel. - - - - -### How to create and manage queues, messages and streams - -All further actions related to publishing, processing and managing messages, subjects, queues and streams can be done via a supported CLI or SDK. See our documentation on [NATS CLI and SDKs](/serverless/messaging/reference-content/nats-overview#further-actions:-nats-cli-and-nats-sdk) for more information. You can also check out our tutorial on [creating a serverless architecture for handling large messages](/tutorials/large-messages/) with Scaleway Messaging and Queuing NATS. - -### How to delete a NATS account - -1. Click **Messaging** in the **Serverless** section of the Scaleway console side menu. The list of Messaging and Queuing protocols displays. - -2. Use the drop-down menu to select the [region](/serverless/messaging/concepts/#region) containing the NATS account you want to delete. - -3. Click **NATS**, then click the NATS account you want to delete. - -4. In the bottom panel, click the **Delete NATS account** button. - - A popup displays, reminding you that the action is irreversible, and any associated queued messages and credentials will be deleted. - -5. Type `DELETE` and click **Delete NATS account** to confirm. +4. Type **DELETE** and click **Delete topic**. \ No newline at end of file diff --git a/serverless/messaging/reference-content/index.mdx b/serverless/messaging/reference-content/index.mdx index 251b42a214..b74fe93663 100644 --- a/serverless/messaging/reference-content/index.mdx +++ b/serverless/messaging/reference-content/index.mdx @@ -1,8 +1,8 @@ --- meta: - title: Messaging and Queuing - Additional content - description: Messaging and Queuing additional content + title: NATS, Queues, and Topics and Events - Additional content + description: NATS, Queues, and Topics and Events additional content content: - h1: Messaging and Queuing - Additional content - paragraph: Messaging and Queuing additional content + h1: NATS, Queues, and Topics and Events - Additional content + paragraph: NATS, Queues, and Topics and Events additional content --- diff --git a/serverless/messaging/reference-content/limitations.mdx b/serverless/messaging/reference-content/limitations.mdx index 74d8937cb0..481a3cb792 100644 --- a/serverless/messaging/reference-content/limitations.mdx +++ b/serverless/messaging/reference-content/limitations.mdx @@ -1,13 +1,13 @@ --- meta: - title: Messaging and Queuing Limitations - description: Learn about the current limitations of Scaleway Messaging and Queuing + title: NATS, Queues, and Topics and Events Limitations + description: Learn about the current limitations of Scaleway NATS, Queues, and Topics and Events content: h1: Limitations - paragraph: Learn about the current limitations of Scaleway Messaging and Queuing + paragraph: Learn about the current limitations of Scaleway NATS, Queues, and Topics and Events tags: messaging limitations space size storage payload max-streams max-consumers max-subscribers max-topics max-queues visibility-timeout dates: - validation: 2024-04-19 + validation: 2024-10-18 posted: 2023-01-04 categories: - serverless @@ -15,8 +15,8 @@ categories: ## Usage limits -For the usage limits that apply when using Messaging and Queuing, see the dedicated section on our [Organization quotas](/identity-and-access-management/organizations-and-projects/additional-content/organization-quotas/#messaging-and-queuing) page. Limits (quotas) apply to, for example, the maximum number of queues, streams, topics and consumers/subscribers, as well as to message retention duration and storage. +For the usage limits that apply when using Scaleway NATS, Queues, and Topics and Events, see the dedicated sections on our [Organization quotas](/identity-and-access-management/organizations-and-projects/additional-content/organization-quotas/) page. Limits (quotas) apply to, for example, the maximum number of queues, streams, topics and consumers/subscribers, as well as to message retention duration and storage. ## VPC -Messaging and Queuing is not currently compatible with [Scaleway VPC](https://www.scaleway.com/en/docs/network/vpc/quickstart/). \ No newline at end of file +NATS, Queues, and Topics and Events are not currently compatible with [Scaleway VPC](https://www.scaleway.com/en/docs/network/vpc/quickstart/). \ No newline at end of file diff --git a/serverless/messaging/reference-content/migration.mdx b/serverless/messaging/reference-content/migration.mdx deleted file mode 100644 index 8b13789179..0000000000 --- a/serverless/messaging/reference-content/migration.mdx +++ /dev/null @@ -1 +0,0 @@ - diff --git a/serverless/messaging/reference-content/nats-overview.mdx b/serverless/messaging/reference-content/nats-overview.mdx index 563ba97f16..6f0b576664 100644 --- a/serverless/messaging/reference-content/nats-overview.mdx +++ b/serverless/messaging/reference-content/nats-overview.mdx @@ -9,9 +9,8 @@ tags: nats overview neural-autonomic-transport-system publish-subscribe jetstre categories: - serverless dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-04 -validation_frequency: 8 --- ## What is NATS? @@ -20,13 +19,17 @@ NATS (**N**eural **A**utonomic **T**ransport **S**ystem) is a messaging system t NATS is a [Cloud Native Computing Foundation](https://www.cncf.io/) project supported by a strong community, and can also be integrated in a Kubernetes cluster. +## Scaleway NATS + +Scaleway NATS is a managed messaging service that enable seamless communication between distributed applications, which leverages the NATS protocol. + ## NATS accounts You can easily create a NATS account from the [Scaleway console](https://console.scaleway.com/), via the [Scaleway API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/nats-api/) or via [Terraform](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider). ## NATS credentials -When you create your NATS account, you next need to [create credentials](/serverless/messaging/how-to/create-credentials/). On the NATS side, these credentials are the equivalent of a 'user'. We configured Scaleway Messaging and Queuing to use the most secure connection type offered by NATS: [NKeys](https://docs.nats.io/running-a-nats-service/configuration/securing_nats/auth_intro/nkey_auth). NKeys are a public-key signature system based on [Ed25519](https://ed25519.cr.yp.to/). +When you create your NATS account, you next need to [create credentials](/serverless/messaging/how-to/create-credentials/). On the NATS side, these credentials are the equivalent of a 'user'. We use the most secure connection type offered by NATS: [NKeys](https://docs.nats.io/running-a-nats-service/configuration/securing_nats/auth_intro/nkey_auth). NKeys are a public-key signature system based on [Ed25519](https://ed25519.cr.yp.to/). Your credentials are provided in the form of a downloadable `.creds` file. Each set of credentials gives you full access to your NATS account, but does not enable you to generate new users with specific rights or fine-grained permissions. @@ -34,7 +37,7 @@ Your credentials are provided in the form of a downloadable `.creds` file. Each All further actions related to publishing, processing and managing messages, subjects and streams can be done via one of the tools described below. -Note that the Scaleway Messaging and Queuing NATS server is configured with TLS, and as such will require all clients to connect with TLS. In the case of the NATS SDK however, the SDK abstracts this and handles the TLS connection itself. +Note that the Scaleway NATS server is configured with TLS, and as such will require all clients to connect with TLS. In the case of the NATS SDK however, the SDK abstracts this and handles the TLS connection itself. ### NATS CLI @@ -66,7 +69,7 @@ The following documents may help you get started using the above SDKs: - [Python: Using Jetstream](https://github.com/nats-io/nats.py#jetstream) - [Go: Using Jetstream](https://github.com/nats-io/nats.go#jetstream-basic-usage) -The main difference you will find between the standard NATS documentation and Scaleway Messaging and Queuing is that we require you to provide a specific NATS URL and credentials to access the service. Refer to our [developers documentation](https://www.scaleway.com/en/developers/api/messaging-and-queuing/nats-api/) for further information. +The main difference you will find between the standard NATS documentation and Scaleway NATS is that we require you to provide a specific NATS URL and credentials to access the service. Refer to our [developers documentation](https://www.scaleway.com/en/developers/api/messaging-and-queuing/nats-api/) for further information. ## NATS resources @@ -75,4 +78,4 @@ The main difference you will find between the standard NATS documentation and Sc - [Publish/Subscribe in pure NATS (no message retention)](https://docs.nats.io/nats-concepts/core-nats/pubsub/pubsub_walkthrough) - [Introduction to JetStream](https://docs.nats.io/nats-concepts/jetstream) - [Learn NATS by Example](https://natsbyexample.com/) -- [How to use Scaleway Messaging and Queuing with the Terraform NATS Jetstream provider](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider) \ No newline at end of file +- [How to use Scaleway NATS with the Terraform NATS Jetstream provider](https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/guides/mnq_with_nats_terraform_provider) \ No newline at end of file diff --git a/serverless/messaging/reference-content/sns-overview.mdx b/serverless/messaging/reference-content/sns-overview.mdx index 4318f12b7d..045166e0fc 100644 --- a/serverless/messaging/reference-content/sns-overview.mdx +++ b/serverless/messaging/reference-content/sns-overview.mdx @@ -1,49 +1,48 @@ --- meta: - title: SNS Overview - description: Learn about the SNS messaging systems + title: Topics and Events Overview + description: Learn about the Scaleway Topics and Events messaging system content: - h1: SNS Overview - paragraph: Learn about the SNS messaging systems + h1: Topics and Events Overview + paragraph: Learn about the Scaleway Topics and Events messaging system tags: messaging sns aws queuing publish-subscribe message-queue topic notification simple notification service categories: - serverless dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-04 -validation_frequency: 8 --- +## What is Scaleway Topics and Events? + +Scaleway Topics and Events is a managed messaging service that facilitates the sending of notificatons or messages to a large number of subscribers, including email addresses, webhooks, and more. Topics and Events leverages the SNS protocol. + ## What is SNS? -SNS is a managed messaging service developed by AWS and supported by Scaleway Messaging and Queuing. It is often coupled to work with [SQS](/serverless/messaging/reference-content/sqs-overview/). +SNS is a managed messaging service developed by AWS and leveraged by Scaleway Topics and Events. -SNS (Simple Notification Service) was released in 2010. It enables users to interconnect their applications and systems using a [publish/subscribe](/serverless/messaging/concepts#publishsubscribe) pattern. Many publishers can send messages to [topics](/serverless/messaging/concepts#topicexchange), while consumers, e.g. applications, can subscribe to topics to receive all (or a subset) of messages sent to this topic. Scaleway Messaging and Queuing makes it easy to migrate your SNS-connected applications by providing a dedicated protocol gateway. +SNS (Simple Notification Service) was released in 2010. It enables users to interconnect their applications and systems using a [publish/subscribe](/serverless/messaging/concepts#publishsubscribe) pattern. Many publishers can send messages to [topics](/serverless/messaging/concepts#topicexchange), while consumers, e.g. applications, can subscribe to topics to receive all (or a subset) of messages sent to this topic. Scaleway Topics and Events makes it easy to migrate your SNS-connected applications by providing a dedicated protocol gateway. - Some SNS features are not yet available with Scaleway Messaging and Queuing. Supported subscribers are currently limited to: + Some SNS features are not yet available with Scaleway Topics and Events. Supported subscribers are currently limited to: - HTTP/S clients - [Serverless Functions](https://www.scaleway.com/en/serverless-functions/) - - SQS queues in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) + - Scaleway queues in the same [Project](/identity-and-access-management/organizations-and-projects/concepts/#project) Refer to the [developers documentation](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sns-api/) for more information. -## Activating SNS - -Before you can start using SNS with Scaleway Messaging and Queuing, you must first activate it. You can do this in a few clicks from the [Scaleway console](https://console.scaleway.com) by [following our how-to](/serverless/messaging/how-to/get-started/). Alternatively, you can also use the [Scaleway API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sns-api/). - -## SNS credentials +## Topics and Events credentials -Once you have activated SNS, the next step is to [create credentials](/serverless/messaging/how-to/create-credentials/) that give your applications permission to connect to the Scaleway Messaging and Queuing service. +You must [create credentials](/serverless/messaging/how-to/create-credentials/) that give your applications permission to connect to the Scaleway Topics and Events service. -Credentials are scoped to your SQS service at [Project](/identity-and-access-management/organizations-and-projects/concepts/#project)-level. You can choose to give each set of credentials the required level of permissions: +Credentials are scoped to your Topics and Events service at [Project](/identity-and-access-management/organizations-and-projects/concepts/#project)-level. You can choose to give each set of credentials the required level of permissions: - **Read**: receive messages from queues and topics. - **Write**: send messages to queues and publish in topics. - **Manage**: create or edit resources (such as queues and topics). -## SNS topics and subscriptions +## Topics and subscriptions You can [create topics](/serverless/messaging/how-to/create-manage-topics/) and [subscriptions](/serverless/messaging/how-to/create-manage-subscriptions/) via the Scaleway console. @@ -51,13 +50,13 @@ You can [create topics](/serverless/messaging/how-to/create-manage-topics/) and All further actions such as sending messages etc. can be done using the AWS CLI or AWS SDKs. Check out our documentation to help you get started with the [AWS CLI](/serverless/messaging/api-cli/connect-aws-cli/) or [AWS SDKs](/serverless/messaging/api-cli/python-node-sqs/). -## SNS Resources +## Topics and Events Resources The following resources may be helpful: - [Official SNS Documentation](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) - Further information on supported API features: - [SNS](/serverless/messaging/reference-content/sns-support/) - - [Creating a simulated CPU monitor notification system with Scaleway Messaging and Queuing SNS](/tutorials/sns-instances-notification-system/) + - [Creating a simulated CPU monitor notification system with Scaleway Topics and Events](/tutorials/sns-instances-notification-system/) - [Official AWS CLI Documentation](https://aws.amazon.com/cli/) - [Official AWS SDK Documentation](https://aws.amazon.com/developer/tools/) \ No newline at end of file diff --git a/serverless/messaging/reference-content/sns-support.mdx b/serverless/messaging/reference-content/sns-support.mdx index e9a75f74da..d1983c5c91 100644 --- a/serverless/messaging/reference-content/sns-support.mdx +++ b/serverless/messaging/reference-content/sns-support.mdx @@ -1,19 +1,19 @@ --- meta: - title: SNS - Supported Actions - description: Discover which SNS AWS API actions are supported by Scaleway Messaging and Queuing + title: Topics and Events - Supported Actions + description: Discover which SNS AWS API actions are supported by Scaleway Topics and Events content: - h1: SNS - Supported Actions - paragraph: Discover which SNS AWS API actions are supported by Scaleway Messaging and Queuing + h1: Topics and Events - Supported Actions + paragraph: Discover which SNS AWS API actions are supported by Scaleway Topics and Events tags: messaging queuing supported supports sns aws api actions categories: - serverless dates: - validation: 2024-08-07 + validation: 2024-10-18 posted: 2023-01-04 --- -This page lists all actions described in the AWS SNS documentation, and states whether they are supported by Scaleway Messaging and Queuing. +This page lists all actions described in the AWS SNS documentation, and states whether they are supported by Scaleway Topics and Events. - **Y** means the parameter is fully supported - **N** means the parameter is not supported @@ -248,6 +248,8 @@ SetSubscriptionAttributes requires the `CanReceive` or `CanManage` permission. ### SNS API support - Topic attributes +The Scaleway Topics and Events API (currently named the SNS API) supports the following topic attributes: + | Attribute Name | Support | Comments | |:--------------------------|:---------:|:------------------------------------------------------| | ContentBasedDeduplication | **Y** | | @@ -266,6 +268,8 @@ SetSubscriptionAttributes requires the `CanReceive` or `CanManage` permission. ### SNS API support - Subscription attributes +The Scaleway Topics and Events API (currently named the SNS API) supports the following subscription attributes: + | Attribute Name | Support | Comments | |:--------------------|:---------:|:-----------| | DeliveryPolicy | **N** | | diff --git a/serverless/messaging/reference-content/sqs-overview.mdx b/serverless/messaging/reference-content/sqs-overview.mdx index 01aa050265..a640ff3e87 100644 --- a/serverless/messaging/reference-content/sqs-overview.mdx +++ b/serverless/messaging/reference-content/sqs-overview.mdx @@ -1,44 +1,43 @@ --- meta: - title: SQS Overview - description: Learn about the SQS messaging system + title: Scaleway Queues Overview + description: Learn about the Scaleway Queues messaging system content: - h1: SQS Overview - paragraph: Learn about the SQS messaging system + h1: Scaleway Queues Overview + paragraph: Learn about the Scaleway Queues messaging system tags: messaging sqs aws queuing publish-subscribe message-queue categories: - serverless dates: - validation: 2024-04-09 + validation: 2024-10-18 posted: 2023-01-04 -validation_frequency: 8 --- +## What is Scaleway Queues? + +Scaleway Queues is a managed message queuing service that enables decoupling of components within distributed applications. It allows applications to send, queue, store and receive messages between each other asynchronously. Scaleway Queues leverages the SQS protocol. + ## What is SQS? -SQS is a managed messaging service developed by AWS and supported by Scaleway Messaging and Queuing. It is often coupled to work with [SNS](/serverless/messaging/reference-content/sns-overview/). +SQS is a managed messaging service developed by AWS and leveraged by Scaleway Queues. -SQS (Simple Queue Service) became generally available in 2006. It is a highly scalable [queuing](/serverless/messaging/concepts#queuing) service that facilitates the decoupling of software systems. Scaleway Messaging and Queuing provides a gateway that enables you to connect your existing applications without having to significantly modify your code baseline. +SQS (Simple Queue Service) became generally available in 2006. It is a highly scalable [queuing](/serverless/messaging/concepts#queuing) service that facilitates the decoupling of software systems. Scaleway Queues provides a gateway that enables you to connect your existing applications without having to significantly modify your code baseline. Some SQS features are not yet supported. Refer to our [dedicated documentation page](/serverless/messaging/reference-content/sqs-support/) for more information. -## Activating SQS - -Before you can start using SQS with Scaleway Messaging and Queuing, you must first activate it. You can do this in a few clicks from the [Scaleway console](https://console.scaleway.com) by [following our how-to](/serverless/messaging/how-to/get-started/). Alternatively, you can also use the [Scaleway API](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sqs-api). - -## SQS credentials +## Scaleway Queues credentials -Once you have activated SQS, the next step is to [create credentials](/serverless/messaging/how-to/create-credentials/) that give your applications permission to connect to the Scaleway Messaging and Queuing service. +You must [create credentials](/serverless/messaging/how-to/create-credentials/) to give your applications permission to connect to the Scaleway Queues service. -Credentials are scoped to your SQS service at [Project](/identity-and-access-management/organizations-and-projects/concepts/#project)-level. You can choose to give each set of credentials the required level of permissions: +Credentials are scoped to your Scaleway Queues service at [Project](/identity-and-access-management/organizations-and-projects/concepts/#project)-level. You can choose to give each set of credentials the required level of permissions: - **Read**: receive messages from queues and topics. - **Write**: send messages to queues and publish in topics. - **Manage**: create or edit resources (such as queues and topics). -## SQS Queues +## Queues You can [create queues](/serverless/messaging/how-to/create-manage-queues/) via the Scaleway console. You can choose to create either a Standard or FIFO queue, and tweak parameters such as visibility timeout, message retention period, maximum message size and content based deduplication. @@ -46,11 +45,11 @@ You can [create queues](/serverless/messaging/how-to/create-manage-queues/) via All further actions such as sending messages can be done using the AWS CLI or AWS SDKs. Check out our documentation to help you get started with the [AWS CLI](/serverless/messaging/api-cli/connect-aws-cli/) or [AWS SDKs](/serverless/messaging/api-cli/python-node-sqs/). -## SQS Resources +## Queue resources The following resources may be helpful: - - [How to create a serverless scraping architecture, with Scaleway Messaging and Queuing SQS, Serverless Functions and Managed Database](/tutorials/create-serverless-scraping/) + - [How to create a serverless scraping architecture, with Scaleway Queues, Serverless Functions and Managed Database](/tutorials/create-serverless-scraping/) - [Official SQS Documentation](https://docs.aws.amazon.com/sqs/index.html) - Further information on supported API features: - [SQS](/serverless/messaging/reference-content/sqs-support/) diff --git a/serverless/messaging/reference-content/sqs-support.mdx b/serverless/messaging/reference-content/sqs-support.mdx index 3b8dfa729c..62b0f4e7d1 100644 --- a/serverless/messaging/reference-content/sqs-support.mdx +++ b/serverless/messaging/reference-content/sqs-support.mdx @@ -1,19 +1,19 @@ --- meta: - title: SQS - Supported Actions - description: Discover which SQS AWS API actions are supported by Scaleway Messaging and Queuing + title: Scaleway Queues - Supported Actions + description: Discover which SQS AWS API actions are supported by Scaleway Queues content: - h1: SQS - Supported Actions - paragraph: Discover which SQS AWS API actions are supported by Scaleway Messaging and Queuing + h1: Scaleway Queues - Supported Actions + paragraph: Discover which SQS AWS API actions are supported by Scaleway Queues tags: messaging supported actions sqs aws api categories: - serverless dates: - validation: 2024-07-22 + validation: 2024-10-18 posted: 2023-01-04 --- -This page lists all actions described in the AWS SQS documentation, and states whether they are supported by Scaleway Messaging and Queuing. +This page lists all actions described in the AWS SQS documentation, and states whether they are supported by Scaleway Queues. - **Y** means the parameter is fully supported - **N** means the parameter is not supported @@ -247,6 +247,8 @@ PurgeQueue requires the `CanManage` permission. ### SQS API support - Queue attributes +The Scaleway Queues API (currently named the SQS API) supports the following queue attributes: + | Attribute Name | Support | Comments | |:--------------------------------------|:---------:|:-----------| | All | **Y** | | @@ -274,6 +276,8 @@ PurgeQueue requires the `CanManage` permission. ### SQS API support - Message attributes +The Scaleway Queues API (currently named the SQS API) supports the following queue attributes: + | Attribute Name | Support | Comments | |:---------------------------------|:---------:|:-----------| | All | **Y** | | diff --git a/tutorials/create-serverless-scraping/index.mdx b/tutorials/create-serverless-scraping/index.mdx index 30fb27d7b6..0ca5b563fc 100644 --- a/tutorials/create-serverless-scraping/index.mdx +++ b/tutorials/create-serverless-scraping/index.mdx @@ -1,23 +1,23 @@ --- meta: - title: Create a serverless scraping architecture, with Scaleway Messaging and Queuing SQS, Serverless Functions, and Managed Database. - description: Learn how to construct a scalable serverless scraping architecture with Scaleway Messaging, SQS, Serverless Functions, and Managed Database. Dive into this Terraform-based tutorial for step-by-step guidance on asynchronous data processing. + title: Create a serverless scraping architecture, with Scaleway Queues, Serverless Functions, and Managed Database. + description: Learn how to construct a scalable serverless scraping architecture with Scaleway Queues, Serverless Functions, and Managed Database. Dive into this Terraform-based tutorial for step-by-step guidance on asynchronous data processing. content: - h1: Create a serverless scraping architecture, with Scaleway Messaging and Queuing SQS, Serverless Functions, and Managed Database. - paragraph: Learn how to construct a scalable serverless scraping architecture with Scaleway Messaging, SQS, Serverless Functions, and Managed Database. Dive into this Terraform-based tutorial for step-by-step guidance on asynchronous data processing. + h1: Create a serverless scraping architecture, with Scaleway Queues, Serverless Functions, and Managed Database. + paragraph: Learn how to construct a scalable serverless scraping architecture with Scaleway Queues, Serverless Functions, and Managed Database. Dive into this Terraform-based tutorial for step-by-step guidance on asynchronous data processing. categories: - functions - messaging - postgresql-and-mysql tags: terraform scraping-architecture dates: - validation: 2024-09-16 + validation: 2024-10-21 posted: 2023-12-08 --- In this tutorial, we show how to set up a simple application that reads [Hacker News](https://news.ycombinator.com) and processes the articles it finds there asynchronously. To do so, we use Scaleway serverless products and deploy two functions: - - A producer function, activated by a recurrent cron trigger, that scrapes HackerNews for articles published in the last 15 minutes and pushes the title and URL of the articles to an SQS queue created with Scaleway Messaging and Queuing. - - A consumer function, triggered by each new message on the SQS queue, that consumes messages published to the queue, scrapes some data from the linked article, and then writes the data into a Scaleway Managed Database. + - A producer function, activated by a recurrent cron trigger, that scrapes HackerNews for articles published in the last 15 minutes and pushes the title and URL of the articles to a queue created with Scaleway Queues. + - A consumer function, triggered by each new message on the queue, that consumes messages published to the queue, scrapes some data from the linked article, and then writes the data into a Scaleway Managed Database. @@ -45,7 +45,7 @@ We start by creating the scraper program, or the "data producer". 3. Create a subdirectory `handlers` within the `scraper` directory, and add a `scrape_hn.py` file inside it. 4. Complete the `scrape_hn.py` file by adding the function code [as shown in the repository](https://github.com/scaleway/serverless-examples/blob/main/mnq/serverless-scraping/scraper/handlers/scrape_hn.py). The main code blocks are briefly explained as follows: - SQS credentials and queue URL are read by the function from environment variables. Those variables are set by Terraform as explained in [one of the next sections](#create-a-terraform-file-to-provision-the-necessary-scaleway-resources). *If you choose another deployment method, such as the [console](https://console.scaleway.com/), do not forget to set them.* + Queue credentials and URL are read by the function from environment variables. Those variables are set by Terraform as explained in [one of the next sections](#create-a-terraform-file-to-provision-the-necessary-scaleway-resources). *If you choose another deployment method, such as the [console](https://console.scaleway.com/), do not forget to set them.* ```python queue_url = os.getenv('QUEUE_URL') sqs_access_key = os.getenv('SQS_ACCESS_KEY') @@ -62,7 +62,7 @@ We start by creating the scraper program, or the "data producer". titlelines = soup.find_all(class_="titleline") ages = soup.find_all(class_="age") ``` - Using the AWS python sdk `boto3`, connect to the SQS queue and push the `title` and `url` of articles published less than 15 minutes ago. + Using the AWS python sdk `boto3`, connect to the queue and push the `title` and `url` of articles published less than 15 minutes ago. ```python sqs = boto3.client( 'sqs', @@ -99,7 +99,7 @@ Next, let's create our consumer function. When receiving a message containing th 3. Create a subdirectory `handlers` within the `consumer` directory, and add a `consumer.py` file inside it. 4. Complete the `consumer.py` file by adding the function code [as shown in the repository](https://github.com/scaleway/serverless-examples/blob/main/mnq/serverless-scraping/consumer/handlers/consumer.py). The main code blocks are briefly explained as follows: - SQS credentials and queue URLs are accessed by the function as environment variables. These variables are set by Terraform as explained in [one of the next sections](#create-a-terraform-file-to-provision-the-necessary-scaleway-resources). If you choose another deployment method, such as the [console](https://console.scaleway.com/), do not forget to set them. + Queue credentials and URLs are accessed by the function as environment variables. These variables are set by Terraform as explained in [one of the next sections](#create-a-terraform-file-to-provision-the-necessary-scaleway-resources). If you choose another deployment method, such as the [console](https://console.scaleway.com/), do not forget to set them. ```python db_host = os.getenv('DB_HOST') db_port = os.getenv('DB_PORT') @@ -107,7 +107,7 @@ Next, let's create our consumer function. When receiving a message containing th db_user = os.getenv('DB_USER') db_password = os.getenv('DB_PASSWORD') ``` - From the trigger event we can read the *body* of the SQS message, and use the passed URL to scrape the page for stats. + From the trigger event we can read the *body* of the message, and use the passed URL to scrape the page for stats. ```python def scrape_and_save_to_db(event): body = json.loads(event["body"]) @@ -140,10 +140,10 @@ For the purposes of this tutorial, we show how to provision all resources via Te If you do not want to use Terraform, you can also create the required resources via the [console](https://console.scaleway.com/), the [Scaleway API](https://www.scaleway.com/en/developers/api/), or any other [developer tool](https://www.scaleway.com/en/developers/). Remember that if you do so, you will need to set up environment variables for functions as previously specified. The following documentation may help create the required resources: -- **Messaging and Queuing SQS resources**: [console documentation](/serverless/messaging/quickstart/) | [API documentation](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sqs-api/) +- **Scaleway Queues resources**: [console documentation](/serverless/messaging/quickstart/) | [API documentation](https://www.scaleway.com/en/developers/api/messaging-and-queuing/sqs-api/) - **Managed Database for PostgreSQL**: [console documentation](/managed-databases/postgresql-and-mysql/quickstart/) | [API documentation](https://www.scaleway.com/en/developers/api/managed-database-postgre-mysql/) -- **Serverless Functions**: [console documentation](https://www.scaleway.com/en/docs/serverless/functions/quickstart/) | [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) - - **Serverless Functions triggers**: [console documentation](https://www.scaleway.com/en/docs/serverless/functions/how-to/add-trigger-to-a-function/) | [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-triggers-list-all-triggers) +- **Serverless Functions**: [console documentation](/serverless/functions/quickstart/) | [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/) + - **Serverless Functions triggers**: [console documentation](/serverless/functions/how-to/add-trigger-to-a-function/) | [API documentation](https://www.scaleway.com/en/developers/api/serverless-functions/#path-triggers-list-all-triggers) 1. Create a directory called `terraform` (at the same level as the `scraper` and `consumer` directories created in the previous steps). @@ -166,7 +166,7 @@ If you do not want to use Terraform, you can also create the required resources name = "mnq-tutorial" } ``` -4. Still in the same file, add the code below to provision the SQS resources: SQS activation for the project, separate credentials with appropriate permissions for producer and consumer, and an SQS queue: +4. Still in the same file, add the code below to provision the queue resources: separate credentials with appropriate permissions for producer and consumer, and a Scaleway queue: ``` resource "scaleway_mnq_sqs" "main" { project_id = scaleway_account_project.mnq_tutorial.id @@ -384,7 +384,7 @@ terraform apply ### How to check that everything is working correctly -Go to the [Scaleway console](https://console.scaleway.com/), and check the logs and metrics for Serverless Functions' execution and Messaging and Queuing SQS queue statistics. +Go to the [Scaleway console](https://console.scaleway.com/), and check the logs and metrics for Serverless Functions' execution and the queue's statistics. To make sure the data is correctly stored in the database, you can [connect to it directly](/managed-databases/postgresql-and-mysql/how-to/connect-database-instance/) via a CLI tool such as `psql`. Retrieve the instance IP and port of your Managed Database from the console, under the [Managed Database section](https://console.scaleway.com/rdb/instances). @@ -400,9 +400,9 @@ terraform destroy ``` ## Summary, going further, key takeaways -We have shown how to asynchronously decouple the producer and the consumer using SQS, adhering to serverless patterns. +We have shown how to asynchronously decouple the producer and the consumer using Scaleway Queues, adhering to serverless patterns. -While the volume of data processed in this example is quite small, thanks to the Messaging and Queuing SQS queue's robustness and the auto-scaling capabilities of the Serverless Functions, you can adapt this example to manage larger workloads. +While the volume of data processed in this example is quite small, thanks to robustness of Scaleway Queues and the auto-scaling capabilities of the Serverless Functions, you can adapt this example to manage larger workloads. Here are some possible extensions to this basic example: - Replace the simple proposed logic with your own. What about counting how many times some keywords (e.g: copilot, serverless, microservice) appear in Hacker News articles? diff --git a/tutorials/deploy-laravel-on-serverless-containers/index.mdx b/tutorials/deploy-laravel-on-serverless-containers/index.mdx index ff3827cec5..0a46fab947 100644 --- a/tutorials/deploy-laravel-on-serverless-containers/index.mdx +++ b/tutorials/deploy-laravel-on-serverless-containers/index.mdx @@ -11,7 +11,7 @@ categories: - containers - container-registry dates: - validation: 2024-06-17 + validation: 2024-10-21 posted: 2023-06-01 --- @@ -25,25 +25,21 @@ This tutorial provides a step-by-step guide for deploying a containerized Larave ## Why Scaleway is suitable for deploying containerized applications -Scaleway provides a seamless environment for running and managing containers, offering features such as [Container Registry](https://www.scaleway.com/en/container-registry/), [Serverless Containers](https://www.scaleway.com/en/serverless-containers/), [Messaging & Queuing](https://www.scaleway.com/en/messaging-and-queuing/) and [Observability](https://www.scaleway.com/en/cockpit/). By combining the benefits of containerization with Scaleway's platform, developers should be able to easily deploy, scale, and manage their applications efficiently. +Scaleway provides a seamless environment for running and managing containers, offering features such as [Container Registry](https://www.scaleway.com/en/container-registry/), [Serverless Containers](https://www.scaleway.com/en/serverless-containers/), [Queues](/serverless/messaging/) and [Observability](https://www.scaleway.com/en/cockpit/). By combining the benefits of containerization with Scaleway's platform, developers should be able to easily deploy, scale, and manage their applications efficiently. [Serverless Containers](https://www.scaleway.com/en/serverless-containers/) offers significant advantages when deploying Laravel applications over [Serverless Functions](https://www.scaleway.com/en/serverless-functions/), as it provides the flexibility to customize the runtime environment according to your specific needs. -## Creating a SQS/SNS queue +## Creating a queue -Laravel applications make use of [queues](https://laravel.com/docs/10.x/queues) to process long-running jobs in the background. As this feature of the Laravel framework is nearly always used, we will configure it and leverage the [Messaging & Queuing](https://www.scaleway.com/en/messaging-and-queuing/) product from Scaleway. The [Scaleway documentation](/serverless/messaging/quickstart/) provides clear information on how this managed service works and can be configured. +Laravel applications make use of [queues](https://laravel.com/docs/10.x/queues) to process long-running jobs in the background. As this feature of the Laravel framework is nearly always used, we will configure it and leverage the [Scaleway Queues](/serverless/messaging/) product from Scaleway. The [Scaleway documentation](/serverless/messaging/quickstart/) provides clear information on how this managed service works and can be configured. -1. Create a SQS/SNS namespace: we will create a `SQS/SNS` namespace in the `PAR` region. - - - -2. Create a queue. In this example, we create a `Standard` queue (At-least-once delivery, the order of messages is not preserved) with the default parameters. This queue will be the default queue used by our application. +1. Create a queue. In this example, we create a `Standard` queue (At-least-once delivery, the order of messages is not preserved) with the default parameters. This queue will be the default queue used by our application. -3. Generate credentials. In this example, we generate the credentials with `read` and `write` access. +2. Generate credentials. In this example, we generate the credentials with `read` and `write` access. @@ -348,6 +344,6 @@ Response time histogram: Status code distribution: [200] 400 responses ``` -Check the Messaging SQS overview within Cockpit to also confirm that all jobs have been handled correctly and that the queue is now empty. +Check the Queues overview within Cockpit to also confirm that all jobs have been handled correctly and that the queue is now empty. \ No newline at end of file diff --git a/tutorials/large-messages/index.mdx b/tutorials/large-messages/index.mdx index 4f851c6a4f..63687d659d 100644 --- a/tutorials/large-messages/index.mdx +++ b/tutorials/large-messages/index.mdx @@ -11,11 +11,11 @@ categories: - object-storage tags: messaging nats terraform big-data dates: - validation: 2024-08-07 + validation: 2024-10-21 posted: 2024-01-22 --- -In this tutorial, we will build a simple architecture to store and automatically convert images to PDF. The focus is on transferring large messages using a messaging service, specifically the [Scaleway Messaging and Queuing](/serverless/messaging/quickstart/) NATS server. Our setup involves using the [Object Storage](/storage/object/quickstart/) service for image storage and the [Serverless Functions](/serverless/functions/quickstart/) service for conversion. +In this tutorial, we will build a simple architecture to store and automatically convert images to PDF. The focus is on transferring large messages using a messaging service, specifically the [Scaleway NATS](/serverless/messaging/quickstart/) server. Our setup involves using the [Object Storage](/storage/object/quickstart/) service for image storage and the [Serverless Functions](/serverless/functions/quickstart/) service for conversion. We show how to provision all the required Scaleway resources via Terraform, but you can also use the [console](https://console.scaleway.com/login), the [API](https://www.scaleway.com/en/developers/api/) or one of our other supported [developer tools](https://www.scaleway.com/en/developers/). @@ -43,7 +43,7 @@ This tutorial's architecture is very simple, consisting of two main components: Three essential services are required to ensure everything is working together: - An Object Storage bucket for storing the image file. -- A Messaging and Queuing NATS server responsible for receiving and dispatching messages sent by our producer. +- A Scaleway NATS server responsible for receiving and dispatching messages sent by our producer. - A triggering mechanism in NATS that forwards the message to our consumer. ## Prepare the infrastructure @@ -363,7 +363,7 @@ terraform apply ## Conclusion, going further -In this introductory tutorial, we have demonstrated the usage of the NATS server for Messaging and Queuing, along with other services from the Scaleway ecosystem, to facilitate the transfer of large messages surpassing the typical size constraints. There are possibilities to expand upon this tutorial for various use cases, such as: +In this introductory tutorial, we have demonstrated the usage of the Scaleway NATS server, along with other services from the Scaleway ecosystem, to facilitate the transfer of large messages surpassing the typical size constraints. There are possibilities to expand upon this tutorial for various use cases, such as: - Extending the conversion capabilities to handle different document types like `docx`. - Sending URLs directly to NATS and converting HTML content to PDF. \ No newline at end of file diff --git a/tutorials/nats-rdb-offload/index.mdx b/tutorials/nats-rdb-offload/index.mdx index 93eabf23f9..95c1f92b6a 100644 --- a/tutorials/nats-rdb-offload/index.mdx +++ b/tutorials/nats-rdb-offload/index.mdx @@ -1,9 +1,9 @@ --- meta: - title: Leverage NATS Messaging and Queuing pub/sub capabilities to offload your Managed Database + title: Leverage Scaleway NATS pub/sub capabilities to offload your Managed Database description: Learn how to construct a pub/sub architecture to help you manage database load. Dive into this Python tutorial for step-by-step guidance on asynchronous data processing. content: - h1: Leverage NATS Messaging and Queuing pub/sub capabilities to offload your Managed Database + h1: Leverage Scaleway NATS pub/sub capabilities to offload your Managed Database paragraph: Learn how to construct a pub/sub architecture to help you manage database load. Dive into this Python tutorial for step-by-step guidance on asynchronous data processing. categories: - functions @@ -19,7 +19,7 @@ dates: In this tutorial, we show how to set up a system that receives a message from a publisher and sends it to a database through a buffer subscriber. For this, we use Scaleway Serverless products and deploy two applications: - - A publisher application, that sends a message to a NATS stream created with Scaleway Messaging and Queuing. + - A publisher application, that sends a message to a Scaleway NATS stream. - A subscriber application, that consumes messages published to the stream and then writes the data into a Scaleway Managed Database. @@ -35,7 +35,7 @@ To properly follow this tutorial, we recommend you [create a dedicated Project]( - A Scaleway account logged into the [console](https://console.scaleway.com) - [Owner](/identity-and-access-management/iam/concepts/#owner) status or [IAM permissions](/identity-and-access-management/iam/concepts/#permission) allowing you to perform actions in the intended Organization - [Installed the NATS CLI](https://github.com/nats-io/natscli) on your local machine -- [Created a Messaging and Queuing NATS account](/serverless/messaging/how-to/get-started/#how-to-create-a-nats-account) +- [Created a Scaleway NATS account](/serverless/messaging/how-to/get-started/#how-to-create-a-nats-account) - [Generated NATS credentials](/serverless/messaging/how-to/create-credentials/#how-to-create-credentials-for-a-nats-account) - [Created a mySQL Managed Database](/managed-databases/postgresql-and-mysql/quickstart/) @@ -206,13 +206,13 @@ You can also delete your NATS server with the following command in your terminal nats-server --signal stop ``` -Messaging and Queuing NATS is a Serverless product and is only billed when you are moving messages through the broker. This eliminates the need to worry about unexpected billing when you are not using it. +Scaleway NATS is a Serverless product and is only billed when you are moving messages through the broker. This eliminates the need to worry about unexpected billing when you are not using it. ## Summary, going further, key takeaways We have shown how to asynchronously decouple a producer and a mySQL database using NATS, adhering to serverless patterns. -While the volume of data processed in this example is quite small, thanks to the Messaging and Queuing NATS streams, your database will be able to process messages at an adapted pace. +While the volume of data processed in this example is quite small, thanks to the Scaleway NATS streams, your database will be able to process messages at an adapted pace. You can adapt this example to manage larger workloads. Here are some possible extensions to this basic example: diff --git a/tutorials/sns-instances-notification-system/index.mdx b/tutorials/sns-instances-notification-system/index.mdx index 418417e657..1dfdbd383f 100644 --- a/tutorials/sns-instances-notification-system/index.mdx +++ b/tutorials/sns-instances-notification-system/index.mdx @@ -1,16 +1,16 @@ --- meta: - title: Creating a simulated CPU monitor notification system with Terraform using Scaleway Instances and Messaging and Queuing SNS - description: Learn how to set up a simulated CPU monitor notification system with Terraform using Scaleway Instances and Messaging and Queuing SNS. Trigger alerts based on CPU usage with ease. + title: Creating a simulated CPU monitor notification system with Terraform using Scaleway Instances and Topics and Events + description: Learn how to set up a simulated CPU monitor notification system with Terraform using Scaleway Instances and Topics and Events. Trigger alerts based on CPU usage with ease. content: - h1: Creating a simulated CPU monitor notification system with Terraform using Scaleway Instances and Messaging and Queuing SNS - paragraph: Learn how to set up a simulated CPU monitor notification system with Terraform using Scaleway Instances and Messaging and Queuing SNS. Trigger alerts based on CPU usage with ease. + h1: Creating a simulated CPU monitor notification system with Terraform using Scaleway Instances and Topics and Events + paragraph: Learn how to set up a simulated CPU monitor notification system with Terraform using Scaleway Instances and Topics and Events. Trigger alerts based on CPU usage with ease. categories: - messaging - instances tags: messaging sns monitoring terraform dates: - validation: 2024-09-16 + validation: 2024-10-21 posted: 2024-03-08 --- diff --git a/tutorials/transform-bucket-images-triggers-functions-deploy/index.mdx b/tutorials/transform-bucket-images-triggers-functions-deploy/index.mdx index 68b922460d..8c529f139f 100644 --- a/tutorials/transform-bucket-images-triggers-functions-deploy/index.mdx +++ b/tutorials/transform-bucket-images-triggers-functions-deploy/index.mdx @@ -11,7 +11,7 @@ categories: - object-storage tags: serverless triggers sqs queue dates: - validation: 2024-10-03 + validation: 2024-10-21 posted: 2023-07-07 --- @@ -25,7 +25,7 @@ In the [previous tutorial](/tutorials/transform-bucket-images-triggers-functions - A Scaleway [Project](/identity-and-access-management/organizations-and-projects/quickstart/#project) dedicated to this tutorial - A source [bucket](/storage/object/how-to/create-a-bucket/) containing images - An empty destination bucket -- An [SQS queue](/serverless/messaging/quickstart/#quickstart-for-sqs) with credentials +- A [Scaleway queue](/serverless/messaging/how-to/create-manage-queues) with credentials You will now learn how to deploy Serverless Functions and connect them using triggers. @@ -326,11 +326,11 @@ You will now learn how to deploy Serverless Functions and connect them using tri 5. Name the function **bucketscan**. 6. Set **resources** to 1024 MB - 560 mVCPU. 7. Enter the following **environment variables**: - - `SQS_ENDPOINT`: the endpoint of Messaging and Queuing SQS (which you previously activated). + - `SQS_ENDPOINT`: the endpoint of Scaleway Queues. - `QUEUE_URL`: the URL of the Queue previously created. 8. Enter the following **secrets**: - - `SQS_ACCESS_KEY_ID`: the Messaging and Queuing access key ID previously created. - - `SQS_ACCESS_KEY`: the Messaging and Queuing secret key previously created. + - `SQS_ACCESS_KEY_ID`: the Scaleway Queues access key ID previously created. + - `SQS_ACCESS_KEY`: the Scaleway Queues secret key previously created. 9. Click **Create function**. Deploying a function takes a few minutes to complete. ### Securing the BucketScan function @@ -369,11 +369,11 @@ You will now learn how to deploy Serverless Functions and connect them using tri - `DESTINATION_BUCKET`: the name of your destination bucket (e.g.: `dest-images-`). 8. Click **Create function**. Deploying a function takes a few minutes to complete. -### Adding an SQS trigger to the ImageTransform function +### Adding a queue trigger to the ImageTransform function 1. Open the **Triggers** tab of your function. 2. Click **+ Create trigger**. -3. Select **SQS (Scaleway)** as a type. +3. Select **Queues (Scaleway)** as a type. 4. Select the queue previously created. 5. Click **Create trigger**. diff --git a/tutorials/transform-bucket-images-triggers-functions-set-up/index.mdx b/tutorials/transform-bucket-images-triggers-functions-set-up/index.mdx index 0314dc3f5c..427aa1dbfb 100644 --- a/tutorials/transform-bucket-images-triggers-functions-set-up/index.mdx +++ b/tutorials/transform-bucket-images-triggers-functions-set-up/index.mdx @@ -11,7 +11,7 @@ categories: - object-storage tags: serverless functions triggers sqs dates: - validation: 2024-10-03 + validation: 2024-10-21 posted: 2023-07-07 validation_frequency: 24 --- @@ -60,17 +60,9 @@ In this tutorial, you will create the following resources to use your functions: 5. Set the bucket visibility to **Private**. 6. Click **Create Bucket**. -## Activating Messaging and Queuing SQS +## Generating credentials for Scaleway Queues -Message queues allow functions to communicate with each other. - -1. Click **Messaging** under **Serverless** on the left side menu of the console. -2. Click **Activate** next to **SQS**. -3. Click **Activate SQS** to confirm when prompted. - -## Generating credentials for Messaging and Queuing SQS - -1. Click **Messaging** under **Serverless** on the left side menu of the console, then select **SQS**. +1. Click **Queues** under **Serverless** on the left side menu of the console. 2. Click **+ Generate credentials**. 3. Name your credentials `Function Push`. 4. Enable the **Write**, **Read** and **Manage** permissions. @@ -79,7 +71,7 @@ Message queues allow functions to communicate with each other. ## Creating a queue -1. Click **Messaging** under **Serverless** on the left side menu of the console, then select **SQS**. +1. Click **Queues** under **Serverless** on the left side menu of the console. 2. Click **Create queue**. 3. Select **Standard** as a queue type. 4. Name it `image-queue`.