file-dir не работает для загрузки файла на лазурный BLOB-объект из Apache Camel

У нас есть некоторая структура папок, созданная в контейнере больших двоичных объектов Azure, и мы хотим загрузить некоторые файлы из верблюжьих маршрутов в это хранилище больших двоичных объектов.

когда мы пытаемся указать параметр file-dir, он не обновляет его правильно, но если мы указываем значение в имени большого двоичного объекта, то он загружает файл в правильную папку.

не могли бы вы помочь мне, почему он не работает, если мы упомянем папку в параметре file-dir

Не работает:

.to(azure-storage-blob://account1/container1?blobName=file1.txt& fileDir=/folder1&operation=uploadBlockBlob)

Работает:

.to(azure-storage-blob://account1/container1?blobName=folder1/file1.txt&operation=uploadBlockBlob)

введите здесь описание изображения

зависимости :

<dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-spring-boot-starter</artifactId>
            <version>3.5.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-azure-storage-blob-starter</artifactId>
            <version>3.5.0</version>
        </dependency>

person abhi pm    schedule 24.06.2021    source источник
comment
Какую версию Camel вы используете?   -  person Claus Ibsen    schedule 25.06.2021
comment
‹dependency› ‹groupId›org.apache.camel.springboot‹/groupId› ‹artifactId›camel-spring-boot-starter‹/artifactId› ‹version›3.5.0‹/version› ‹/dependency› ‹dependency› ‹groupId ›org.apache.camel.springboot‹/groupId› ‹artifactId›camel-azure-storage-blob-starter‹/artifactId› ‹version›3.5.0‹/version› ‹/dependency›   -  person abhi pm    schedule 25.06.2021
comment
Попробуйте с 3.10.0 или 3.11.0, когда он скоро выйдет   -  person Claus Ibsen    schedule 27.06.2021
comment
Спасибо @КлаусИбсен. я пробовал с 3.10.0 . Но получаю ту же проблему. Попробую с 3.11.0, когда она выйдет.   -  person abhi pm    schedule 27.06.2021
comment
Привет @ClausIbsen Я только что попробовал с 3.11.0, но все равно получаю ту же проблему. Просто хотел проверить, предназначена ли опция fileDir для этой цели (для производителя), как указано в описании, для хранения загруженного файла.   -  person abhi pm    schedule 30.06.2021


Ответы (1)


Не работает, так как этот путь принадлежит потребителю.

.to("azure-storage-blob://account1/container1?**blobName=file1.txt& fileDir=/folder1**&operation=uploadBlockBlob")

Пример:

from("azure-storage-blob://camelazure/container1?blobName=hello.txt&accountName=yourAccountName&accessKey=yourAccessKey&fileDir=/var/to/awesome/dir").
to("mock:results");

Ссылка на приведенное выше предложение в примере потребителя: служба больших двоичных объектов Azure Storage. :: Апач Верблюд

Душа:

Вы также можете указать свой путь, как этот, принадлежащий производителю.

.to("azure-storage-blob://camelazure/container1?blobName=blob&operation=uploadPageBlob&serviceClient=#client").to("mock:result");

serviceClient (общий)

Клиент автоматически подключен к учетной записи хранения. Этот клиент не хранит состояние конкретной учетной записи хранения, а вместо этого является удобным способом отправки соответствующих запросов к ресурсу в службе. Его также можно использовать для создания URL-адресов больших двоичных объектов и контейнеров. Этот клиент содержит операции с учетной записью службы. Операции с контейнером доступны в BlobContainerClient через BlobServiceClient#getBlobContainerClient(String), а операции с большим двоичным объектом доступны в BlobClient через BlobContainerClient#getBlobClient(String).

Ссылка на приведенное выше предложение находится в примере операции производителя-›uploadBlockBlob

Служба больших двоичных объектов Azure Storage :: Apache Camel

person RahulKumarShaw-MT    schedule 02.07.2021