首页 > 解决方案 > 如何使用 apache camel 使用 azure blob 文件列表

问题描述

我们有一个场景,我们需要使用 apache camel 在 azure 存储容器中使用 blob 文件列表。apache camel 中的 azure-blob 要求将 blob 名称与容器名称一起传递。有没有办法从uri动态传递blob名称?

标签: apache-camelazure-blob-storage

解决方案


根据此处Apache camel 和 azure blobs 的官方文档,需要一个 blob 名称:

URI 格式

azure-blob://accountName/containerName[/blobName][?options]

例如,为了从位于 camelazure 存储帐户的 container1 上的公共块 blob blockBlob 下载 blob 内容,请使用以下代码段:

from("azure-blob:/camelazure/container1/blockBlob").
to("file://blobdirectory");

下载多个 blob 时可能对您有用的实际解决方法/Hack 是为您的 blob 使用名称列表,使用 URI 中的 blob 名称作为变量值,您可以将 blob 名称插入其中,然后为您拥有的每个 blob 生成一个 URl。

我还建议在上面的 Github 存储库链接中为 Davclaus@ 提交评论,因为他直接参与了该项目。


推荐阅读