概要
Azure SDK for Javaを使って、Blobストレージへファイルをアップロードした際の備忘録です。
全体
sample.java
String container = <<containerName>>;
String accountUri = "https://" + <<storageAccountName>> + ".blob.core.windows.net";
DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
//認証・Blobクライアント取得
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint(accountUri)
.credential(defaultCredential)
.buildClient();
BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient(container);
BlobClient blobClient = blobContainerClient.getBlobClient("sample.txt");
//ファイル操作//
//ファイルアップロード
blobClient.uploadFromFile(<<fileFullPath>>);
要素の解説
全体の認証
DefaultAzureCredential.java
DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
Azure全体の認証です。
詳しくはこちら
https://learn.microsoft.com/ja-jp/azure/developer/java/sdk/authentication/credential-chains#defaultazurecredential-overview
Blob用クライアントの取得
BlobClient.java
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint(accountUri)
.credential(defaultCredential)
.buildClient();
BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient(container);
BlobClient blobClient = blobContainerClient.getBlobClient("sample.txt");
Blobクライアントは3段階に分かれているようです。
- ストレージアカウント ⇒ BlobServiceClient
- コンテナ ⇒ BlobContainerClient
- Blobオブジェクト ⇒ BlobClient
操作のレベルに応じたクライアントが必要です。
今回は、Blobレベルの操作を行うので、それ以上のクライアントも必要になります。
ファイルのアップロード
UploadBolb.java
blobClient.uploadFromFile(<<fileFullPath>>);
ファイルのフルパスを指定して、Blobをアップロードします。
参考