21

BlobStorageOnStartからデータをプルダウンするために使用するワーカーロールがあります。現在、test.txtファイルをアップロードしてから、ローカルディレクトリにダウンロードすることでこれをテストしています。これは正常に機能しています。

ここで、フォルダーをBLOBストレージにアップロードしたいと思います。このフォルダーには、バッチスクリプトと、バッチスクリプトが呼び出すいくつかの実行可能ファイルが含まれています。

これを達成するための推奨される方法は何ですか?フォルダを圧縮して*.zipファイルをアップロードするのは簡単だと思います...しかし、ワーカーロールが処理できるようにローカルにダウンロードしたら、サードパーティのライブラリなしで解凍するにはどうすればよいですか?

より良い選択肢があれば、私はどんな提案も受け入れます。ここで助けてくれてありがとう-私が立ち上がるとき、このコミュニティは私にとって大きな助けになりました:)

4

6 に答える 6

12

あなたが使用することができますupload-batch

az storage blob upload-batch --destination ContainerName --account-name YourAccountName --destination-path DirectoryInBlob --source /path/to/your/data

This copies all files found in the source directory to the target directory in the blob storage.

Either a SAS-Token (via --sas-token) or account key has to be specified.

Also works smoothly with a service principal.

于 2020-04-07T16:26:12.730 に答える
6

azログインを使用してazurecliにログインします

  1. ファイルをアップロードするには az storage blob upload additional-params

  2. フォルダをアップロードするには、 az storage blob upload-batch additional-params

完全なコマンドについては、ここを参照してください

于 2018-11-20T18:46:24.750 に答える
3

単一ファイル(zipなど)または複数ファイル(各ファイルが独自のBLOBにある)の2つのアプローチをとることができます。これが私の見解です。次に、解凍​​についてのメモです。

単一のzipファイル

これは、apacheインストールや静的リソースのセットなど、グループ化されたファイルのセットを維持するための非常に簡単な方法です。BLOBからローカルストレージへのダウンロードは非常に簡単です。また、zipファイルは任意のレベルのネストされたディレクトリを処理できます。

欠点:単一のファイルを更新するには、新しいzipを作成する必要があります。変更されたアセットを1つだけアップロードする方法はありません。

個々のブロブ

個別のBLOBは、他のファイルを気にせずに個々のファイルをすばやく更新する必要がある場合に最適です。また、これらのBLOBに、パブリックリンクまたは(共有アクセス署名を使用して)プライベートリンクやWebページの埋め込みリンクなどに直接リンクすることもできます。この例については、ここでの私の回答と@Sandrinoの回答を参照してください。ああ、CDNを介してブロブを公開することを計画している場合、それらは個々のブロブにある必要があります。

欠点:ネストされたディレクトリへの絶対的なマッピングがありません。BLOBストレージは、account \ container\blobによって配置されます。ネストされたフォルダーをシミュレートすることはできますが、個々のファイルをマップするためにいくつかの作業を行う必要があります個々のBLOBをダウンロードするには、コンテナーを取得し、呼び出しListBlobs()て個々のBLOB名を列挙する必要があります。

解凍する方法

Eclipseプロジェクトは、簡単に使用できるvbsスクリプトを提供します。Visual Studioプロジェクト(または実際には任意のスクリプト)から、7zipのようなものをダウンロードすることを検討します。これは無料で簡単にインストールできます。次に、zipをblobストレージからローカルストレージ(適切なフォルダー内)にダウンロードし、7zipに渡します。

これにより、正しい決定を下すための十分なガイダンスが提供されることを願っています。それがで、ビルド(tomcatなど)を保存していた場合、ディレクトリ構造全体をzip形式で保持します。これにより、1つのファイルを変更するだけで何かが壊れていないことが保証されます。そして...複数のzip(別々のblob)を使用して、Tomcatバージョンの実行履歴を簡単に保持できます。

于 2012-06-14T20:04:21.437 に答える
3

AZCOPYツールのリリースでは、これを1行で実行できます。詳細はこちら

Cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"

.\AzCopy /Source:C:\Users\folderName\ `
/Dest:https://storageAccountName.blob.core.windows.net/storageContainerName `
/DestKey:yourStorageAccountKey /S
于 2017-05-16T17:45:24.520 に答える
3

Azure StorageExplorerhttps ://azure.microsoft.com/en-us/features/storage-explorer/を使用してフォルダーをアップロードできます。バックグラウンドでazcopyを使用しますが、ユーザーインターフェイスがあると便利です。

于 2020-01-30T09:46:09.050 に答える
1

AzureStorageExplorerを使用します。インストール後、ログインする必要があります。その後、通常のアップロードプロセスと同様に、Blobを選択してフォルダーをアップロードできます。

同じ問題が発生し、zipフォルダーのアップロードに関する問題を解決しようとしましたが、Azureでフォルダーを解凍するオプションがありません。

于 2020-02-14T12:17:50.643 に答える