教程:创建 Amazon SQS 队列 - Amazon Simple Queue Service

教程:创建 Amazon SQS 队列

最首要最常见的 Amazon SQS 任务是创建队列。在本教程中,您将学习如何创建和配置队列。

AWS 管理控制台

  1. 登录 Amazon SQS 控制台

  2. 选择新建队列

  3. 新建队列页面上,确保您位于正确的区域,然后键入队列名称

    注意

    FIFO 队列的名称必须以 .fifo 后缀结尾。

  4. 标准 默认处于选中状态。选择 FIFO

  5. 创建队列。

    • 要使用默认参数创建队列,请选择快速创建队列

    • 要配置队列的参数,请选择 Configure Queue (配置队列)。配置完参数后,请选择 Create Queue (创建队列)有关创建带 SSE 的队列的详细信息,请参阅教程:使用服务器端加密创建 Amazon SQS 队列 (SSE)

      以下示例显示了特定于 FIFO 队列的基于内容的重复数据删除参数。

    您的新队列随即将会创建并在队列列表中处于选中状态。

    注意

    创建队列时,队列可能需要一小段时间在整个 Amazon SQS 中传播。

    Queue Type (队列类型) 列将帮助您一眼区分出 标准 队列与 FIFO 队列。对于 FIFO 队列,Content-Based Deduplication (基于内容的重复数据删除) 列将显示您是否已启用一次性处理

    您的队列的 Name (名称)URLARN 将显示在 Details (详细信息) 选项卡上。

AWS SDK for Java

以下示例使用的是 AWS Java 开发工具包。要安装和设置开发工具包,请参阅 AWS SDK for Java Developer Guide 中的设置适用于 Java 的 AWS 开发工具包

运行示例代码之前,请配置您的 AWS 凭证。有关更多信息,请参阅 AWS SDK for Java Developer Guide 中的设置用于开发的 AWS 凭证和区域

创建 标准 队列

  1. 复制示例程序

    以下代码部分将创建 MyQueue 队列:

    // Create a queue System.out.println("Creating a new SQS queue called MyQueue.\n"); final CreateQueueRequest createQueueRequest = new CreateQueueRequest("MyQueue"); final String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();
  2. 编译并运行示例。

    队列已创建。

创建 FIFO 队列

  1. 复制示例程序

    以下代码部分将创建 MyFifoQueue.fifo 队列:

    // Create a FIFO queue System.out.println("Creating a new Amazon SQS FIFO queue called " + "MyFifoQueue.fifo.\n"); final Map<String, String> attributes = new HashMap<String, String>(); // A FIFO queue must have the FifoQueue attribute set to True attributes.put("FifoQueue", "true"); // If the user doesn't provide a MessageDeduplicationId, generate a MessageDeduplicationId based on the content. attributes.put("ContentBasedDeduplication", "true"); // The FIFO queue name must end with the .fifo suffix final CreateQueueRequest createQueueRequest = new CreateQueueRequest("MyFifoQueue.fifo") .withAttributes(attributes); final String myQueueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();
  2. 编译并运行示例。

    队列已创建。

AWS CloudFormation

您可以使用 AWS CloudFormation 控制台和 JSON(或 YAML)模板创建 Amazon SQS 队列。有关更多信息,请参阅 AWS CloudFormation 用户指南 中的使用 AWS CloudFormation 模板AWS::SQS::Queue 资源

  1. 将以下 JSON 代码复制到名为 MyQueue.json 的文件中。要创建标准队列,请省略 FifoQueueContentBasedDeduplication 属性。有关基于内容的重复数据删除的更多信息,请参阅确切一次处理

    注意

    FIFO 队列的名称必须以 .fifo 后缀结尾。

    { "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MyQueue": { "Properties": { "QueueName": "MyQueue.fifo", "FifoQueue": true, "ContentBasedDeduplication": true }, "Type": "AWS::SQS::Queue" } }, "Outputs": { "QueueName": { "Description": "The name of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "QueueName" ] } }, "QueueURL": { "Description": "The URL of the queue", "Value": { "Ref": "MyQueue" } }, "QueueARN": { "Description": "The ARN of the queue", "Value": { "Fn::GetAtt": [ "MyQueue", "Arn" ] } } } }
  2. 登录 AWS CloudFormation 控制台,然后选择创建堆栈

  3. Specify Template (指定模板) 面板上,选择 Upload a template file (上传模板文件),选择您的 MyQueue.json 文件,然后选择 Next (下一步)

  4. Specify Details 页面上,为 Stack Name 键入 MyQueue,然后选择 Next

  5. Options 页面上,选择 Next

  6. Review 页面上,选择 Create

    AWS CloudFormation 开始创建 MyQueue 堆栈,并显示 CREATE_IN_PROGRESS 状态。在此过程完成后,AWS CloudFormation 将显示 CREATE_COMPLETE 状态。

  7. (可选) 要显示队列的名称、URL 和 ARN,请选择堆栈的名称,然后在下一页上展开 Outputs 部分。