39.3. 使用方法

39.3.1. Azure Storage Blob Service プロデューサーによって設定されるメッセージヘッダー

ヘッダータイプ説明

CamelFileName

String

ダウンロードした blob コンテンツのファイル名。

39.3.2. Azure Storage Blob Service プロデューサーコンシューマーによって設定されたメッセージヘッダー

ヘッダータイプ説明

CamelFileName

String

ダウンロードした blob コンテンツのファイル名。

39.3.3. Azure Blob Service の操作

すべてのブロックタイプに共通の操作

操作説明

getBlob

ブロブの内容を取得します。この操作の出力をブロブ範囲に制限できます。

deleteBlob

blob を削除します。

listBlobs

blob を一覧表示します。

ブロック blob 操作

操作説明

updateBlockBlob

新しいブロック blob を作成するか、既存のブロック blob コンテンツを上書きするブロック blob コンテンツを置きます。

uploadBlobBlocks

最初に blob ブロックのシーケンスを生成し、次にそれらを blob にコミットすることにより、ブロック blob コンテンツをアップロードします。メッセージの CommitBlockListLater プロパティーを有効にすると、後で commitBlobBlockList 操作を使用してコミットを実行できます。後で個々のブロック blob を更新できます。

commitBlobBlockList

以前に blob サービスにアップロードしたブロックリストに一連の blob ブロックをコミットします (メッセージ CommitBlockListLater プロパティーを有効にして updateBlockBlob 操作を使用)。

getBlobBlockList

ブロック blob リストを取得します。

blob 操作を追加する

操作説明

createAppendBlob

追加ブロックを作成します。デフォルトでは、ブロックがすでに存在する場合はリセットされません。メッセージの AppendBlobCreated プロパティーを有効にし、updateAppendBlob 操作を使用することで、代わりに追加 blob を作成できることに注意してください。

updateAppendBlob

新しいコンテンツを blob に追加します。この操作では、blob がまだ存在しない場合、およびメッセージの AppendBlobCreated プロパティーを有効にした場合にも blob が作成されます。

ページブロック操作

操作説明

createPageBlob

ページブロックを作成します。デフォルトでは、ブロックがすでに存在する場合はリセットされません。メッセージの PageBlobCreated プロパティーを有効にし、updatePageBlob 操作を使用して、ページ blob を作成 (およびその内容を設定) することもできます。

updatePageBlob

ページブロックを作成し (メッセージの PageBlobCreated プロパティーを有効にし、同じ名前のブロックがすでに存在する場合を除く)、この blob のコンテンツを設定します。

resizePageBlob

ページ blob のサイズを変更します。

clearPageBlob

ページ blob をクリアします。

getPageBlobRanges

ページ blob のページ範囲を取得します。

39.3.4. Azure Blob クライアントの設定

Camel アプリケーションがファイアウォールの背後で実行されている場合、または Azure Blob Client 設定をより詳細に制御する必要がある場合は、独自のインスタンスを作成できます。

StorageCredentials credentials = new StorageCredentialsAccountAndKey(accountName, accessKey);
CloudBlob client = new CloudBlockBlob(URI.create("https://"
                    + accountName + ".blob.core.windows.net/" + containerName
                    + "/" + fileName), credentials);
registry.bind("azureBlobClient", client);

Camel azure-blob コンポーネント設定でこのインスタンスを参照してください。

from("azure-blob://" + accountName + "/" + containerName + "/" + fileName + "?azureBlobClient=#client")
.to("mock:result");