8.4. 端点选项


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

aws2-sqs:queueNameOrArn

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

8.4.1. 路径参数(1 参数)

Name描述默认值类型

queueNameOrArn (common)

所需的 Queue name 或 ARN。

 

字符串

8.4.2. 查询参数(61 参数)

Name描述默认值类型

amazonAWSHost (common)

Amazon AWS 云的主机名。

amazonaws.com

字符串

amazonSQSClient (common)

Autowired 以将 AmazonSQS 用作客户端。

 

SqsClient

autoCreateQueue (common)

设置队列的自动创建.

false

布尔值

HeaderFilterStrategy (common)

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

 

HeaderFilterStrategy

overrideEndpoint (common)

设置覆盖端点的需要。这个选项需要与 uriEndpointOverride 选项结合使用。

false

布尔值

protocol (common)

用于与 SQS 通信的底层协议。

https

字符串

proxyProtocol (common)

在实例化 SQS 客户端时定义代理协议。

Enum 值:

  • HTTP
  • HTTPS

HTTPS

协议

queueOwnerAWSAccountId (common)

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

 

字符串

region (common)

SQS 客户端需要工作的区域。使用此参数时,配置将预期区域(如 ap-east-1)的小写名称,您需要使用名称 Region.EU_WEST_1.id()。

 

字符串

trustAllCertificates (common)

如果要在覆盖端点时信任所有证书。

false

布尔值

uriEndpointOverride (common)

设置覆盖 uri 端点。这个选项需要与 overrideEndpoint 选项结合使用。

 

字符串

useDefaultCredentialsProvider (common)

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

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)

如果交换具有键 Sqs2Constants#SQS_DELETE_FILTERED (CamelAwsSqsDeleteFiltered),则是否将 DeleteMessage 发送到 SQS 队列。

true

布尔值

extendMessageVisibility (consumer)

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

false

布尔值

kmsDataKeyReusePeriodSeconds (consumer)

Amazon SQS 在再次调用 AWS KMS 之前,以便 Amazon SQS 可以重复使用或解密信息的时间长度(以秒为单位)。一个代表秒的整数,在 60 秒 (1 分钟) 和 86,400 秒 (24 小时)之间。默认:300 (5 分钟)。

 

整数

kmsMasterKeyId (consumer)

Amazon SQS 或自定义 CMK 的 AWS 管理的客户主密钥 (CMK) 的 ID。

 

字符串

maxMessagesPerPoll (consumer)

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

 

int

messageAttributeNames (consumer)

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

 

字符串

sendEmptyMessageWhenIdle (consumer)

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

false

布尔值

serverSideEncryptionEnabled (consumer)

定义是否在队列中启用服务器端加密。

false

布尔值

visibilityTimeout (consumer)

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

 

整数

waitTimeSeconds (consumer)

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

 

整数

exceptionHandler (consumer (advanced))

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

 

ExceptionHandler

exchangePattern (consumer (advanced))

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

Enum 值:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

pollStrategy (consumer (advanced))

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

 

PollingConsumerPollStrategy

batchSeparator (producer)

在传递 String 以发送批处理消息操作时,设置分隔符。

,

字符串

delaySeconds (producer)

延迟发送消息的秒数。

 

整数

lazyStartProducer (producer)

生成者是否应懒惰启动 (在第一个消息中)。通过懒惰启动,您可以使用此选项来允许 CamelContext 和路由在生成者启动期间启动,并导致路由启动失败。通过懒惰启动,启动失败可以在路由信息时通过 Camel 的路由错误处理程序进行处理。请注意,在处理第一个消息时,创建并启动生成者可能需要稍等时间,并延长处理的总处理时间。

false

布尔值

messageDeduplicationIdStrategy (producer)

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

Enum 值:

  • useExchangeId
  • useContentBasedDeduplication

useExchangeId

字符串

messageGroupIdStrategy (producer)

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

Enum 值:

  • useConstant
  • useExchangeId
  • usePropertyValue
 

字符串

operation (producer)

当用户不想发送消息时,要执行的操作。

Enum 值:

  • sendBatchMessage
  • deleteMessage
  • listQueues
  • purgeQueue
  • deleteQueue
 

Sqs2Operations

delayQueue (advanced)

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

false

布尔值

queueUrl (advanced)

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

 

字符串

proxyHost (proxy)

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

 

字符串

proxyPort (proxy)

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

 

整数

maximumMessageSize (queue)

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

 

整数

messageRetentionPeriod (queue)

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

 

整数

policy (queue)

此队列的策略。默认情况下从 classpath 加载,但您可以使用 classpath:、file: 或 http: 前缀来加载来自不同系统的资源。

 

字符串

receiveMessageWaitTimeSeconds (queue)

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

 

整数

redrivePolicy (queue)

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

 

字符串

backoffErrorThreshold (scheduler)

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

 

int

backoffIdleThreshold (scheduler)

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

 

int

backoffMultiplier (scheduler)

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

 

int

delay (scheduler)

下一次轮询前的时间(毫秒)。

500

long

greedy (scheduler)

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

false

布尔值

initialDelay (scheduler)

第一次轮询开始前的毫秒。

1000

long

repeatCount (scheduler)

指定触发的最大数量。因此,如果您将其设置为 1,调度程序将只触发一次。如果您将其设置为 5,它将只触发五次。值为零或负数表示会永久触发。

0

long

runLoggingLevel (scheduler)

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

Enum 值:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • OFF

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

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

 

ScheduledExecutorService

scheduler (scheduler)

要使用 camel-spring 或 camel-quartz 组件的 cron 调度程序。使用值 spring 或 quartz 用于内置在调度程序中。

none

对象

schedulerProperties (scheduler)

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

 

Map

startScheduler (scheduler)

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

true

布尔值

timeUnit (scheduler)

initialDelay 和 delay 选项的时间单位。

Enum 值:

  • NANOSECONDS
  • MICROSECONDS
  • MILLISECONDS
  • SECONDS
  • MINUTES
  • HOURS
  • DAYS

MILLISECONDS

TimeUnit

useFixedDelay (scheduler)

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

true

布尔值

accessKey (security)

Amazon AWS 访问密钥.

 

字符串

secretKey (security)

Amazon AWS Secret 密钥。

 

字符串

所需的 SQS 组件选项

您必须在 Registry 或 accessKey 和 secretKey 中提供 amazonSQSClient,才能访问 Amazon 的 SQS

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.