36.2. URI 选项


AWS Simple Queue Service 组件支持 5 个选项,如下所列。

Name描述默认值类型

配置 (高级)

AWS SQS 默认配置

 

SqsConfiguration

accessKey (common)

Amazon AWS 访问密钥

 

字符串

secretKey (common)

Amazon AWS Secret 密钥

 

字符串

region (common)

指定可用于 queueOwnerAWSAccountId 的队列区域,以构建服务 URL。

 

字符串

resolveProperty Placeholders (advanced)

组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。

true

布尔值

AWS Simple Queue Service 端点使用 URI 语法进行配置:

aws-sqs:queueNameOrArn

使用以下路径和查询参数:

36.2.1. 路径参数(1 参数):

Name描述默认值类型

queueNameOrArn

所需的 队列名称或 ARN

 

字符串

36.2.2. 查询参数(49 参数):

Name描述默认值类型

amazonAWSHost (common)

Amazon AWS 云的主机名。

amazonaws.com

字符串

amazonSQSClient (common)

将 AmazonSQS 用作客户端

 

AmazonSQS

headerFilterStrategy (common)

使用自定义 HeaderFilterStrategy 将标头映射到/来自 Camel。

 

HeaderFilterStrategy

queueOwnerAWSAccountId (common)

当您需要将队列与不同的帐户所有者连接时,指定队列所有者 aws 帐户 ID。

 

字符串

region (common)

指定可用于 queueOwnerAWSAccountId 的队列区域,以构建服务 URL。

 

字符串

useIAMCredentials (common)

设置 SQS 客户端是否应该预期在 EC2 实例上加载凭据,或者希望传递静态凭据。

false

布尔值

attributeNames (consumer)

在消费时要接收的属性名称列表。可以使用逗号分隔多个名称。

 

字符串

bridgeErrorHandler (consumer)

允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。

false

布尔值

concurrentConsumers (consumer)

允许您使用多个线程轮询 sqs 队列来提高吞吐量

1

int

defaultVisibilityTimeout (consumer)

默认可见性超时(以秒为单位)

 

整数

deleteAfterRead (consumer)

读取后,从 SQS 删除消息

true

布尔值

deleteIfFiltered (consumer)

如果交换无法通过过滤器,是否将 DeleteMessage 发送到 SQS 队列。如果 'false' 和 Exchange 没有通过路由中的 Camel 过滤器进行,则不要发送 DeleteMessage。

true

布尔值

extendMessageVisibility (consumer)

如果启用,则调度的后台任务将在 SQS 上保持消息可见性。如果处理消息需要很长时间。如果设置为 true defaultVisibilityTimeout,则必须设置。请参阅 Amazon 文档。

false

布尔值

maxMessagesPerPoll (consumer)

获取最大消息数,作为每次轮询轮询的限制。默认为无限限制,但使用 0 或负数来禁用它。

 

int

messageAttributeNames (consumer)

在消费时要接收的消息属性名称列表。可以使用逗号分隔多个名称。

 

字符串

sendEmptyMessageWhenIdle (consumer)

如果轮询使用者没有轮询任何文件,您可以启用此选项来发送空消息(无正文)。

false

布尔值

visibilityTimeout (consumer)

在由 ReceiveMessage 请求检索后,收到的消息会被隐藏在 com.amazonaws.services.sqs.model.SetQueueAttributesRequest 中检索的持续时间(以秒为单位)。这只有在与 defaultVisibilityTimeout 不同时才有意义。它永久更改队列可见性超时属性。

 

整数

waitTimeSeconds (consumer)

ReceiveMessage 操作调用的持续时间(0 到 20)将等待直到队列中消息包含在响应中。

 

整数

ExceptionHandler ( consumer)

要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。

 

ExceptionHandler

exchangePattern (consumer)

在消费者创建交换时设置交换模式。

 

ExchangePattern

pollStrategy (consumer)

可插拔 org.apache.camel.PollingConsumerPollingStrategy 允许您提供自定义实施来控制在轮询操作期间通常会发生错误处理,然后再创建交换并在 Camel 中路由。

 

PollingConsumerPoll Strategy

delaySeconds (producer)

延迟发送消息的秒数。

 

整数

messageDeduplicationId Strategy (producer)

仅适用于 FIFO 队列。在消息上设置 messageDeduplicationId 的策略。可以是以下选项之一:useExchangeId, useContentBasedDeduplication.对于 useContentBasedDeduplication 选项,消息中不会设置 messageDeduplicationId。

useExchangeId

MessageDeduplicationId Strategy

messageGroupIdStrategy (producer)

仅适用于 FIFO 队列。在消息上设置 messageGroupId 的策略。可以是以下选项之一:useConstant, useExchangeId, usePropertyValue.对于 usePropertyValue 选项,将使用属性 CamelAwsMessageGroupId 的值。

 

MessageGroupIdStrategy

delayQueue (advanced)

定义您是否要将 delaySeconds 选项应用到队列或单个消息

false

布尔值

queueUrl (advanced)

明确定义 queueUrl:所有其他参数(会影响 queueUrl)将被忽略。这个参数被用来连接到 SQS 的模拟实施,用于测试。

 

字符串

同步 (高级)

设置是否应严格使用同步处理,还是允许 Camel 使用异步处理(如果支持)。

false

布尔值

backoffErrorThreshold (scheduler)

在 backoffMultipler 应该 kick-in 之前发生的后续错误轮询(因为某些错误)的数量。

 

int

backoffIdleThreshold (scheduler)

在 backoffMultipler 应该 kick-in 之前应该发生的后续空闲轮询数量。

 

int

backoffMultiplier (scheduler)

如果一行中有很多后续空闲/errors,则让调度的轮询消费者避退。然后,倍数是在下一次实际尝试再次发生前跳过的轮询数量。当使用这个选项时,还必须配置 backoffIdleThreshold 和/或 backoffErrorThreshold。

 

int

delay (scheduler)

下一次轮询前的时间(毫秒)。您还可以使用单位来指定时间值,如 60s (60 秒)、5m30s (5 分钟和 30 秒),以及 1h (1 小时)。

500

long

greedy (scheduler)

如果启用了 greedy,如果上一个运行轮询 1 或更多消息,则 ScheduledPollConsumer 将立即运行。

false

布尔值

initialDelay (scheduler)

第一次轮询开始前的毫秒。您还可以使用单位来指定时间值,如 60s (60 秒)、5m30s (5 分钟和 30 秒),以及 1h (1 小时)。

1000

long

runLoggingLevel (scheduler)

消费者在轮询时记录 start/complete log 行。这个选项允许您为其配置日志级别。

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

允许配置用于消费者的自定义/共享线程池。默认情况下,每个使用者都有自己的单线程线程池。

 

ScheduledExecutor Service

scheduler (scheduler)

使用 camel-spring 或 camel-quartz2 组件的 cron 调度程序

none

ScheduledPollConsumer Scheduler

schedulerProperties (scheduler)

在使用自定义调度程序或任何基于 Spring 的调度程序时配置附加属性。

 

Map

startScheduler (scheduler)

调度程序是否应自动启动。

true

布尔值

timeUnit (scheduler)

initialDelay 和 delay 选项的时间单位。

MILLISECONDS

TimeUnit

useFixedDelay (scheduler)

控制是否使用固定延迟或固定率。详情请参阅 JDK 中的 ScheduledExecutorService。

true

布尔值

proxyHost (proxy)

在实例化 SQS 客户端时定义代理主机

 

字符串

proxyPort (proxy)

在实例化 SQS 客户端时定义代理端口

 

整数

maximumMessageSize (queue)

maximumMessageSize (以字节为单位)SQS 消息可以包含此队列。

 

整数

messageRetentionPeriod (queue)

SQS 为此队列保留一个消息的 messageRetentionPeriod (以秒为单位)。

 

整数

policy (queue)

此队列的策略

 

字符串

receiveMessageWaitTime Seconds (queue)

如果您没有在请求中指定 WaitTimeSeconds,则使用 queue 属性 ReceiveMessageWaitTimeSeconds 来确定要等待的时间。

 

整数

redrivePolicy (queue)

指定发送消息到 DeadLetter 队列的策略。请参阅 Amazon 文档。

 

字符串

accessKey (security)

Amazon AWS 访问密钥

 

字符串

secretKey (security)

Amazon AWS Secret 密钥

 

字符串

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.