はじめに
Azure BlobStorageを利用していますが、サブフォルダ作成できるかは資料だと不明確です。
BlobStorageとは
大規模な非構造化データの格納とアクセス
Azure Blob Storage を使用すると、お客様の分析のニーズに合わせてデータ レイクを作成することができ、強力なクラウドネイティブおよびモバイル アプリを構築するためのストレージが提供されます。長期的なデータ用に階層型ストレージを使用してコストを最適化し、ハイパフォーマンス コンピューティングと機械学習のワークロード用に柔軟にスケールアップできます。
出典:https://azure.microsoft.com/ja-jp/services/storage/blobs/
Blob Storage のリソース
- ストレージ アカウント
- ストレージ アカウント内の コンテナー
- コンテナー内の BLOB
出典:https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-blobs-introduction
Blobのところ、サブフォルダ作成できるか?
上記の図だと、サブフォルダ例がないので、できるかは不明です。
また、AzureのPortalサイトにもサブフォルダ作成することはできないです。アップロード時にはファイルまで指定する必要がありました。
JAVAで操作するライブラリ
// https://mvnrepository.com/artifact/com.azure/azure-storage-blob
compile group: 'com.azure', name: 'azure-storage-blob', version: '12.9.0'
アップロード例:
String connectInfo = "xxxxxx";
BlobServiceClient blobServiceClient =
new BlobServiceClientBuilder().connectionString(connectInfo).buildClient();
BlobContainerClient blobContainerClient =
blobServiceClient.getBlobContainerClient("containerName");
// Virtual directory作成
BlobClient blobClient = blobContainerClient.getBlobClient("subforlder1/subforlder2/" + "test.txt");
// upload
blobClient.uploadFromFile(file.getAbsolutePath(), true);
// mata, headerなど
// blobClient.setHttpHeaders(headers);
参考:JAVAでファイルアップロードなど
https://docs.microsoft.com/ja-jp/azure/storage/blobs/storage-quickstart-blobs-java-legacy
以上