Amazon Simple Queue Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

教程:创建 Amazon SQS 队列

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

AWS 管理控制台

  1. 登录 Amazon SQS 控制台

  2. 选择新建队列

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

    注意

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

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

  5. 创建队列。

    • 要使用默认参数创建队列,请选择 Quick-Create Queue

    • 要配置队列的参数,请选择 Configure Queue。配置完参数后,请选择 Create Queue

      以下示例显示了特定于 FIFO 队列的 Content-Based Deduplication 参数。

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

    注意

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

    Queue Type 列将帮助您一眼区分出标准队列与 FIFO 队列。对于 FIFO 队列,Content-Based Deduplication 列将显示您是否已启用一次性处理

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

AWS SDK for Java

在您开始处理示例代码之前,请指定 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. 选择模板页面上,依次选择 Upload a template to Amazon S3 (上传模板到)、您的 MyQueue.json 文件和下一步

  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 部分。