Microsoft Azure Storageへファイルをアップロードするには、AzureBlobPutコンポーネントが使えますが、ファイルサイズが64MBを超える場合、このコンポーネントでは対応できず、困ってしまいます。そのような場合には、AzureBlobUploadコンポーネントを使用することで64MB以上のファイルを扱うことができます。
AzureBlobUploadを使うのは簡単です。AzureBlobUploadをダブルクリックすればストレージブラウザと呼ばれるダイアログが起動します。後はそのダイアログで、アップロードするファイルを選択するだけです。この記事では、ファイルの作成と更新の基本的な操作方法を紹介します。
上記のステップを説明するために、Microsoft Azure Storageにsample-containerという名前のコンテナがあるとします。sample-containerにはsample-folderというフォルダーがあり、そのなかにmp4ファイルやCSVファイルがあります。
それでは、AzureBlobUploadコンポーネントを使用して、sample-containerにファイルをアップロードしてみましょう。
AzureBlobUploadコンポーネントを配置する
フローデザイナーの左下にあるコネクションペインでAzureStorageコネクションを作成します。AzureStorageコネクションの作成方法については、AzureStorageコネクションの作成を参照してください。作成したAzureStorageコネクションをワークスペースにドロップして表示されるリストからAzureBlobUploadコンポーネントを追加します。
Microsoft Azure Storageにファイルをアップロードする
まずは、sample-containerへファイルをアップロードしてみましょう。今回は、AzureBlobUploadコンポーネントを使い、Microsoft Azure Storageへ出力する、次のようなフローを作成してみました。
最初にAzureBlobUploadコンポーネントをダブルクリックしてストレージブラウザを開きます。その後、ストレージブラウザの左上のペインで"sample-container"を選択します。
ストレージブラウザの下側にある「選択」をクリックすると、ストレージブラウザで設定した内容が保存されます。そして、AzureBlobUploadコンポーネントのプロパティに選択したコンテナ名が自動的に設定されます。
AzureBlobUploadコンポーネントの「ファイルパス」プロパティには、ASTERIA Warpサーバー側にあるアップロードしたいファイルのファイルパスを指定します。ここでは動画ファイルである"sample-folder/azureblobupload-demo.mp4"を設定しています。「Blob名」プロパティには、コンテナ"sample-container"へアップロードするBlob名"upload-demo/azureblobupload-demo.mp4"を設定しています。
コンポーネントはBlob名に指定された中間フォルダーも作成しますので、フローを実行すると、Microsoft Azure Storageのコンテナ"sample-container"にフォルダー"upload-demo"が作成され、フォルダーの中に"azureblobupload-demo.mp4"がアップロードされます。
出力したファイルの中身の確認は、いくつか方法があるかと思いますが、AzuleBlobGetでファイルを取得して確認する場合は、AzureBlobGetを使用してMicrosoft Azure Storage のデータを取得するを参照してください。
メタデータを追加する
AzureBlobUploadコンポーネントでファイルをアップロードする際に、メタデータを設定することもできます。先ほど作成したフローでAzureBlobUploadコンポーネントのインスペクタの「メタデータ」タブを選択し、ファイルに設定したいメタデータとして「Name」に"comment"、「Value」に"アップロードテストデータ"と設定してみます。
フローを再度実行すると、「upload-demo/azureblobupload-demo.mp4」にある既存のファイルのメタデータが更新されます。
既存ファイルのファイルを上書きしない
デフォルトの設定では、AzureBlobPutコンポーネントは既存のファイルが存在する場合に上書きするようになっています。上書きしたくない場合には「上書きを許可」プロパティを「いいえ」に設定することで、既存のファイルが存在している場合にエラーを発生させることができます。