【问题标题】:Cannot create a FIFO SQS through CLI无法通过 CLI 创建 FIFO SQS
【发布时间】:2017-09-14 23:58:01
【问题描述】:

我正在尝试使用 CLI 创建 FIFO,但出现错误

aws sqs create-queue --queue-name my-queue.fifo --attributes FifoQueue=true --region us-east-1

An error occurred (InvalidAttributeName) when calling the CreateQueue operation: Unknown Attribute FifoQueue.

The doc page 表示这是一个有效属性。我错过了什么?

【问题讨论】:

    标签: amazon-web-services message-queue amazon-sqs aws-cli


    【解决方案1】:

    SQS FIFO 队列是在弗吉尼亚北部推出时不可用的稀有服务之一。

    见:https://aws.amazon.com/about-aws/whats-new/2016/11/amazon-sqs-introduces-fifo-queues-with-exactly-once-processing-and-lower-prices-for-standard-queues/

    FIFO 队列现已在美国东部(俄亥俄)和美国西部(俄勒冈)地区推出,后续还会有更多地区推出。

    尝试在受支持的区域之一中运行该命令。

    俄亥俄州:

    aws sqs create-queue --queue-name my-queue.fifo --attributes FifoQueue=true --region us-east-2
    

    俄勒冈州:

    aws sqs create-queue --queue-name my-queue.fifo --attributes FifoQueue=true --region us-west-2
    

    更新:如今,北弗吉尼亚州已支持 FIFO SQS 队列。

    【讨论】:

      【解决方案2】:

      SQS 队列有两种不同的类型。 1) 标准队列 2) 先进先出队列

      如果您使用的是标准队列,请尝试运行创建队列的命令。

      aws sqs create-queue --queue-name <<queue-name>> --attributes VisibilityTimeout=900
      

      如果您使用的是 Fifo 队列,请尝试运行创建队列的命令。

      • FIFO 队列的名称必须以 .fifo 后缀结尾。后缀计入 80 个字符的队列名称配额。判断一个队列是否先进先出,可以查看队列名是否以后缀结尾。
      • 将队列指定为 FIFO。有效值:真​​、假。如果您不指定 FifoQueue 属性,Amazon SQS 会创建一个标准队列。您只能在创建队列期间提供此属性。您不能为现有队列更改它。设置此属性时,您还必须为您的消息明确提供 MessageGroupId。
      • 属性必须在字符串中。

      aws sqs create-queue --queue-name queue-name.fifo --region us-east-1 --attributes "{\"FifoQueue\":\"true\", \"VisibilityTimeout\":\"900\"}"

      【讨论】:

        猜你喜欢
        • 2017-09-14
        • 1970-01-01
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 2017-02-25
        • 1970-01-01
        • 2020-10-25
        • 1970-01-01
        相关资源
        最近更新 更多