Amazon SQS 消息队列属性说明

本文对Amazon SQS 消息队列的属性进行了总结并简要说明,仅供参考,如果错误敬请指正,谢谢!

参考资料:官方文档


  /**
   * 所有属性(例如:getQueueAttributes接口传ALL则查询所有属性)
   */
  ALL(QueueAttributeName.ALL),

  /**
   * 当前队列中消息的大致数目
   */
  APPROXIMATE_NUMBER_OF_MESSAGES(QueueAttributeName.APPROXIMATE_NUMBER_OF_MESSAGES),

  /**
   * 当前队列中延迟的消息的大致数目
   */
  APPROXIMATE_NUMBER_OF_MESSAGES_DELAYED(QueueAttributeName.APPROXIMATE_NUMBER_OF_MESSAGES_DELAYED),

  /**
   * 当前队列中不可见的消息的大致数目(正在被消费的消息不可见)
   */
  APPROXIMATE_NUMBER_OF_MESSAGES_NOT_VISIBLE(QueueAttributeName.APPROXIMATE_NUMBER_OF_MESSAGES_NOT_VISIBLE),

  /**
   * 创建时间时间戳
   */
  CREATED_TIMESTAMP(QueueAttributeName.CREATED_TIMESTAMP),

  /**
   * 队列中所有消息延迟传递的时间长度(以秒为单位)。有效值:0 到 900(15 分钟)之间的整数。默认值:0。
   * - 对于标准队列,每队列延迟设置为不追溯-更改此设置不会影响队列中已有的消息的延迟。
   * - 对于 FIFO 队列,每队列延迟设置为追溯-更改此设置会影响队列中已有的消息的延迟。
   */
  DELAY_SECONDS(QueueAttributeName.DELAY_SECONDS),

  /**
   * * 仅适用于FIFO(先进先出)队列
   * 启用基于内容的重复数据删除。有关更多信息,请参阅Amazon SQS 开发人员指南中的 恰好一次处理。请注意以下事项:
   * - 每条消息都必须有一个唯一的MessageDeduplicationId.
   * - - 您可以MessageDeduplicationId明确提供一个。
   * - - 如果您无法提供 aMessageDeduplicationId并且ContentBasedDeduplication为您的队列启用,Amazon SQS 使用 SHA-256 哈希来生成MessageDeduplicationIdusing 消息正文(但不是消息的属性)。
   * - - 如果您不提供 aMessageDeduplicationId且队列未ContentBasedDeduplication设置,则操作将失败并显示错误。
   * - - 如果队列已ContentBasedDeduplication设置,您将MessageDeduplicationId覆盖生成的队列。
   * - 当ContentBasedDeduplication有效时,具有相同内容的消息去重间隔内发送视为重复,只有一个消息的副本被传递。
   * - 如果您发送一条已ContentBasedDeduplication启用的消息,然后发送另一条消息,该消息与MessageDeduplicationId为第一条生成的消息相同MessageDeduplicationId,则这两条消息将被视为重复消息,并且只会传递该消息的一个副本。
   */
  CONTENT_BASED_DEDUPLICATION(QueueAttributeName.CONTENT_BASED_DEDUPLICATION),

  /**
   * * 仅适用于FIFO(先进先出)队列
   * 指定是在消息组级别还是队列级别进行消息重复数据删除。有效值为messageGroup和queue。
   * 注意:要为 FIFO 队列启用高吞吐量,设置DeduplicationScope为messageGroup。
   */
  DEDUPLICATION_SCOPE(QueueAttributeName.DEDUPLICATION_SCOPE),

  /**
   * * 仅适用于FIFO(先进先出)队列
   * 指定 FIFO 队列吞吐量配额是应用于整个队列还是每个消息组。有效值为perQueue和perMessageGroupId。
   * 该perMessageGroupId值只允许当值DeduplicationScope的messageGroup。
   * 注意:要为 FIFO 队列启用高吞吐量,设置FifoThroughputLimit为perMessageGroupId。
   */
  FIFO_THROUGHPUT_LIMIT(QueueAttributeName.FIFO_THROUGHPUT_LIMIT),

  /**
   * 是否设置为fifo队列。值为"true"或"false"。(默认false)
   */
  FIFO_QUEUE(QueueAttributeName.FIFO_QUEUE),

  /**
   * Amazon SQS 或自定义 CMK 的 AWS 托管客户主密钥 (CMK) 的 ID。 有关更多信息,请参阅关键术语。
   * 虽然 Amazon SQS 的 AWS 托管 CMK 的别名始终是 alias/aws/sqs,但自定义 CMK 的别名可以是,例如 alias/MyAlias 。
   * 有关更多示例,请参阅 AWS Key Management Service API Reference 中的 KeyId。
   * 注意:空字符串表示禁用服务的加密,null为非法参数值
   */
  KMS_MASTER_KEY_ID(QueueAttributeName.KMS_MASTER_KEY_ID),

  /**
   * 在再次调用 AWS KMS 之前,Amazon SQS 可以重复使用数据密钥来加密或解密消息的时间长度(以秒为单位)。
   * 一个表示秒的整数,介于 60 秒(1 分钟)和 86400 秒(24 小时)之间。默认值:300(5 分钟)。
   * 较短的时间段可提供更好的安全性,但会导致对 KMS 的更多调用,这可能会在免费套餐之后产生费用。
   */
  KMS_DATA_KEY_REUSE_PERIOD_SECONDS(QueueAttributeName.KMS_DATA_KEY_REUSE_PERIOD_SECONDS),

  /**
   * 最后修改时间时间戳
   */
  LAST_MODIFIED_TIMESTAMP(QueueAttributeName.LAST_MODIFIED_TIMESTAMP),

  /**
   * 消息在 Amazon SQS 拒绝之前可以包含的字节数限制。有效值:从 1024 字节 (1 KiB) 到 262144 字节 (256 KiB) 的整数。默认值:262144 (256 KiB)。
   */
  MAXIMUM_MESSAGE_SIZE(QueueAttributeName.MAXIMUM_MESSAGE_SIZE),

  /**
   * Amazon SQS 保留消息的时间长度(以秒为单位)。有效值:代表秒的整数,从 60(1 分钟)到 1209600(14 天)。默认值:345600(4 天)。
   */
  MESSAGE_RETENTION_PERIOD(QueueAttributeName.MESSAGE_RETENTION_PERIOD),

  /**
   * 队列的策略。有效的 AWS 策略。有关政策结构的详细信息,请参阅AWS IAM策略概述 在 AWS身份和访问管理用户指南。
   */
  POLICY(QueueAttributeName.POLICY),

  /**
   * 资源名称,用于指定死信队列,将死信队列的 QUEUE_ARN 配置到源队列的 REDRIVE_POLICY.deadLetterTargetArn
   */
  QUEUE_ARN(QueueAttributeName.QUEUE_ARN),

  /**
   * 包含源队列死信队列功能参数的字符串作为 JSON 对象。有关重新驱动策略和死信队列的更多信息,请参阅Amazon SQS 开发人员指南 中的使用 Amazon SQS 死信队列。
   * - deadLetterTargetArn– 在maxReceiveCount超过的值后,Amazon SQS 将消息移动到的死信队列的 Amazon 资源名称 (ARN) 。
   * - maxReceiveCount– 消息在移动到死信队列之前传递到源队列的次数。当ReceiveCountfor a 消息超过maxReceiveCountfor a queue 时,Amazon SQS 会将消息移至死信队列。
   * 注意:FIFO 队列的死信队列也必须是 FIFO 队列。同样,标准队列的死信队列也必须是标准队列。
   */
  REDRIVE_POLICY(QueueAttributeName.REDRIVE_POLICY),

  /**
   * 操作等待消息到达的时间长度(以秒为单位)。有效值:从 0 到 20(秒)的整数。默认值:0。
   * 默认为0,则接收消息为短轮询;改变值可启用长轮询。(优先级低于ReceiveMessage接口的WaitTimeSeconds参数)
   */
  RECEIVE_MESSAGE_WAIT_TIME_SECONDS(QueueAttributeName.RECEIVE_MESSAGE_WAIT_TIME_SECONDS),

  /**
   * 字面意思,未知SDK版本。实际是消息系统属性枚举MessageSystemAttributeNameForSends的一个值,
   * 这个“属性”的值其实是null,不是真正的属性,可以理解为它是系统属性枚举的一个“空值”。
   */
  UNKNOWN_TO_SDK_VERSION(QueueAttributeName.UNKNOWN_TO_SDK_VERSION),

  /**
   * 队列的可见性超时,以秒为单位。一条消息被某一消费者接收后,在可见性超时时间之内,这条消息对其他消费者不可见。
   * 有效值:0 到 43200(12 小时)之间的整数。默认值:30。有关可见性超时的更多信息,请参阅Amazon SQS 开发人员指南中的可见性超时。
   */
  VISIBILITY_TIMEOUT(QueueAttributeName.VISIBILITY_TIMEOUT),

  ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值