Hack & Sports

Microsoft エバンジェリスト&トライアスリート 大田 昌幸の個人ブログ

Azure Blob ストレージへのファイルアップロード方法

Azure Blob ストレージへのファイルアップロード方法をご質問いただくことがありますので、アクセス方法をメモしておきます。

なお、Azure ストレージの概要については過去記事をご参照ください

nt-d.hatenablog.com

 

データをアップロードする方法

ストレージへのデータのアップロード方法にはいくつかの方法があります。

  1. (イチオシ!)Microsoft Azure Storage Explorer (Windows,Mac, Linux)
  2. Azure CLI というコマンドラインツール (Windows,Mac, Linux)
  3. AzCopy ツール (Windows)
  4. 各社様の開発されている独自ツールをご利用いただく。
  5. 自作

Microsoft Azure Storage Explorer の利用  

プラットフォームを選ばないツールで、これが一番便利です。

ここからダウンロードできるので、活用してみてください。

 

Azure CLI というコマンドラインツールのご利用 (Mac, Linux, Windows でご利用いただけます。)

Azure CLI というツールをご活用いただくことで、コマンドラインで Azure の操作が可能です。下記情報を参考に、Azure CLI の活用をご検討ください。

 

Azure CLI のインストールと構成

https://azure.microsoft.com/ja-jp/documentation/articles/xplat-cli/

 

Azure Storage での Azure CLI の使用

https://azure.microsoft.com/ja-jp/documentation/articles/storage-azure-cli/

 

なお、上記 API の場合には並行処理は実装していないため、

まずはこのツールをお試しいただき、実業務内で利用に耐えうるパフォーマンスかをご確認ください。

# これが一番簡易な方法ですが、データ量によってはパフォーマンスに難があると考えており、上記のように案内させていただきました。

#並行処理に関する情報は文末に記載しました。

 

Windows 環境をご用意いただき、AzCopy ツールをご利用いただく。

弊社正式のツールとして AzCopy というツールがございます。

Windows 限定ではございますが、高速にデータのアップロードができますので、ご検討ください。

https://azure.microsoft.com/ja-jp/documentation/articles/storage-use-azcopy/

 

 

各社様の開発されている独自ツールをご利用いただく。

Cyberduck というツールで Azure へデータをアップロードすることが可能です。

並行してアップロードする実装を行っているか?という内部実装については不明ですが、選択肢の一つとして案内させていただきました。

https://trac.cyberduck.io/wiki/help/en/howto/azure

 

自作する際にご確認いただきたいこと

大量のデータをアップロードする場合、アップロード方法を工夫する必要があります。

Blob Storage の場合、高速にデータをアップロードするツールの実装は下記のようになります。

  1. クライアント側でデータをブロック単位に分ける。
  2. ブロック ID を付与して、Azure Blob Storage へ”並行して”アップロードする

 

上記のように、いくつかのブロックを並行してアップロードすることにより、

大きなデータであっても高速にアップロードできるようになります。

AzCopy も並行してアップロードするようになっており、高速にデータを転送可能になっています。

 

参考情報: Blob Parallel Upload and Download

http://blogs.microsoft.co.il/applisec/2012/05/14/blob-parallel-upload-and-download/