Amazon Simple Queue Service
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

教程:创建 Amazon SQS 队列

最首要最常见的 Amazon SQS 任务是创建队列。以下示例演示了如何创建和配置队列。

AWS 管理控制台

  1. 登录 AWS 管理控制台并通过以下网址打开 Amazon SQS 控制台:https://console.amazonaws.cn/sqs/

  2. 选择 Create New Queue。

  3. Create New Queue 页上,确保您位于正确的区域,然后键入 Queue Name

    注意

    FIFO 队列的名称必须以 .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 将显示在详细信息选项卡上。

Java

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

创建 标准 队列

  1. 复制示例程序

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

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

    队列已创建。

创建 FIFO 队列

  1. 复制示例程序

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

    Copy
    // Create a FIFO queue System.out.println("Creating a new Amazon SQS FIFO queue called MyFifoQueue.fifo.\n"); Map<String, String> attributes = new HashMap<String, String>(); // A FIFO queue must have the FifoQueue attribute set to True attributes.put("FifoQueue", "true"); // Generate a MessageDeduplicationId based on the content, if the user doesn't provide a MessageDeduplicationId attributes.put("ContentBasedDeduplication", "true"); // The FIFO queue name must end with the .fifo suffix CreateQueueRequest createQueueRequest = new CreateQueueRequest("MyFifoQueue.fifo").withAttributes(attributes); 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 后缀结尾。 在 美国东部(弗吉尼亚北部)、美国东部(俄亥俄州)、美国西部(俄勒冈) 和 欧洲(爱尔兰) 区域都提供 FIFO 队列。

    Copy
    { "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 控制台 (网址为 https://console.aws.amazon.com/cloudformation),然后选择 Create Stack

  3. Select Template 页面上,依次选择 Upload a template to Amazon S3、您的 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 部分。