15.5. 端点选项


Azure Storage Blob Service 端点使用 URI 语法进行配置:

azure-storage-blob:accountName/containerName

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

15.5.1. 路径参数(2 参数)

Expand
Name描述默认值类型

accountName (common)

用于与 azure blob 服务进行身份验证的 Azure 帐户名称。

 

字符串

containerName (common)

blob 容器名称。

 

字符串

15.5.2. 查询参数(50 参数)

Expand
Name描述默认值类型

blobName (common)

blob 名称,使用容器中的特定 blob。但是,在生成者中,只有 blob 级别的操作才需要。

 

字符串

blobOffset (common)

为上传或下载操作设置 blob 偏移,默认为 0。

0

long

blobServiceClient (common)

客户端到存储帐户。此客户端不保存有关特定存储帐户的任何状态,而是方便地将适当的请求发送到服务中的资源。它还可用于构建 URL 到 blob 和容器。此客户端包含服务帐户上的操作。容器上的操作可以通过 getBlobContainerClient (String)在 BlobContainerClient 上获得,并且 Blob 上的操作可以通过 getBlobContainerClient (String).getBlobClient (String)在 BlobClient 上提供。

 

BlobServiceClient

blobType (common)

blob 类型,以便为每个 blob 类型启动适当的设置。

Enum 值:

  • blockblob
  • appendblob
  • pageblob

blockblob

BlobType

closeStreamAfterRead (common)

读取或保持打开后,关闭流,默认为 true。

true

布尔值

credentials (common)

StorageSharedKeyCredential 可以注入来创建 azure 客户端,这包含重要的身份验证信息。

 

StorageSharedKeyCredential

CredentialType (common)

决定采用的凭据策略。

Enum 值:

  • SHARED_ACCOUNT_KEY
  • SHARED_KEY_CREDENTIAL
  • AZURE_IDENTITY
  • AZURE_SAS

AZURE_IDENTITY

CredentialType

dataCount (common)

包括在范围内的字节数。如果指定,则必须大于或等于 0。

 

Long

fileDir (common)

下载的 blob 将保存到的文件目录,这可用于生成者和消费者。

 

字符串

maxResultsPerPage (common)

指定要返回的最大 Blob 数量,包括所有 BlobPrefix 元素。如果请求没有指定 maxResultsPerPage 或指定大于 5,000 的值,服务器将返回到 5,000 个项。

 

整数

maxRetryRequests (common)

指定从响应正文读取数据时将进行的最大额外 HTTP Get 请求数。

0

int

prefix (common)

过滤结果,以仅返回名称以指定前缀开头的 Blob。可以为空,以返回所有 Blob。

 

字符串

regex (common)

过滤结果,以仅返回名称与指定正则表达式匹配的 Blob。可以为空,如果同时设置了前缀和正则表达式,则正则表达式将忽略优先级和前缀。

 

字符串

sasToken (common)

在使用共享访问签名时设置 SAS 令牌。

 

字符串

serviceClient (common)

Autowired Client 到存储帐户。此客户端不保存有关特定存储帐户的任何状态,而是方便地将适当的请求发送到服务中的资源。它还可用于构建 URL 到 blob 和容器。此客户端包含服务帐户上的操作。容器上的操作可以在 BlobContainerClient 到 BlobServiceClient#getBlobContainerClient (String)上的操作,以及 BlobClient 到 BlobContainerClientIdgetBlobClient (String)上的操作。

 

BlobServiceClient

timeout (common)

可选超时值,超过将引发 RuntimeException 的可选超时值。

 

Duration

bridgeErrorHandler (consumer)

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

false

布尔值

sendEmptyMessageWhenIdle (consumer)

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

false

布尔值

exceptionHandler (consumer (advanced))

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

 

ExceptionHandler

exchangePattern (consumer (advanced))

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

Enum 值:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

pollStrategy (consumer (advanced))

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

 

PollingConsumerPollStrategy

blobSequenceNumber (producer)

一个用户控制的值,可用于跟踪请求。序列号的值必须在 0 到 263 - 1 之间。默认值为 0。

0

Long

blockListType (producer)

指定要返回的块类型。

Enum 值:

  • 已提交
  • 未提交
  • all

已提交

BlockListType

changeFeedContext (producer)

在使用 getChangeFeed producer 操作时,这提供了在服务调用期间通过 Http 管道传递的额外上下文。

 

Context

changeFeedEndTime (producer)

在使用 getChangeFeed producer 操作时,这会过滤结果,以便在结束时间之前返回事件。注意:也可以返回属于下一小时的几个事件。可以缺少属于此小时的几个事件;若要确保每小时的所有事件都被返回,可按小时舍入结束时间。

 

OffsetDateTime

changeFeedStartTime (producer)

在使用 getChangeFeed producer 操作时,这将过滤结果以在开始时间后返回事件。注意:也可以返回属于上一小时的几个事件。可以缺少属于此小时的几个事件;若要确保每小时的所有事件都被返回,可按小时舍入开始时间。

 

OffsetDateTime

closeStreamAfterWrite (producer)

在写后关闭流,或保持打开状态,默认为 true。

true

布尔值

commitBlockListLater (producer)

当 设为 true 时,暂存块不会被直接提交。

true

布尔值

createAppendBlob (producer)

当 设为 true 时,将在提交附加块时创建 append 块。

true

布尔值

createPageBlob (producer)

当 设置为 true 时,会在上传页面 blob 时创建页面 blob。

true

布尔值

downloadLinkExpiration (producer)

覆盖 URL 下载链接的默认到期(millis)。

 

Long

lazyStartProducer (producer)

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

false

布尔值

operation (producer)

可以在生成者上用于此组件的 blob 操作。

Enum 值:

  • listBlobContainers
  • createBlobContainer
  • deleteBlobContainer
  • listBlobs
  • getBlob
  • deleteBlob
  • downloadBlobToFile
  • downloadLink
  • uploadBlockBlob
  • stageBlockBlobList
  • commitBlobBlockList
  • getBlobBlockList
  • createAppendBlob
  • commitAppendBlob
  • createPageBlob
  • uploadPageBlob
  • resizePageBlob
  • clearPageBlob
  • getPageBlobRanges

listBlobContainers

BlobOperationsDefinition

pageBlobSize (producer)

指定页面 blob 的最大大小,最多 8 TB。页面 blob 大小必须与 512 字节边界一致。

512

Long

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)

用于与 azure blob 服务进行身份验证的相关 azure 帐户名称的访问密钥。

 

字符串

sourceBlobAccessKey (security)

Source Blob Access Key: for copyblob operation, sadly,我们需要为源 blob 有一个 accessKey,我们需要复制 accessKey 作为标头,因此我们可以将 key 设置为 key。

 

字符串

所需信息选项

要使用此组件,您需要 3 个选项来提供所需的 Azure 身份验证信息:

  • 提供链接: BlobServiceClient 实例,它可以注入到 blobServiceClient 中。注意:不需要创建特定的客户端,例如: BlockBlobClientBlobServiceClient 代表可用于检索较低级别的客户端。
  • 在指定 credentialsType=AZURE_IDENTITY 并提供所需的环境变量时,提供 Azure Identity。https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/identity/azure-identity#environment-variables这启用了服务主体(如应用程序注册)使用 secret/certificate 和 username 密码进行身份验证。请注意,这是默认的身份验证策略。
  • 提供共享存储帐户密钥,当指定 credentialType=SHARED_ACCOUNT_KEY 并为 Azure 帐户提供 accountNameaccessKey 时,这是启动最简单的方法。accessKey 可以通过 Azure 门户生成。
  • 在指定 credentialType=SHARED_KEY_CREDENTIAL 时,提供共享存储帐户密钥,并提供可注入到凭证选项的 StorageSharedKeyCredential 实例。
  • 通过 Azure SAS,当指定 credentialType=AZURE_SAS 并通过 sasToken 参数提供 SAS Token 参数时。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部