Azure でホストされている WCF サービスがあります。
Azure BLOB ストレージ (1.1G) に保持する Spatialite データベース ファイルがあります。圧縮すると500Kです。
サービスの開始時にローカル ストレージにコピーし、spatialite を使用してデータベース ファイルからさまざまな空間関数を実行したいと考えています。空間データは静的です。
Azure BLOB ストレージからローカル ストレージにファイルをコピーするためのコード スニペット (C#) を持っている人はいますか?
(また、このアプローチは理にかなっていると思います-そうですか?)
(また、ブロブ ストレージ用にファイルを圧縮する必要がありますか?)
ありがとう
編集: 最初の 2 つの応答に感謝します。いくつかのコードスニペットを使用することを望んでいました。どちらがより良いルートであるかについて、もう少し説明を加えることができます。すべてをコーディングするか、このブートストラップのアイデアを使用してください。
解決策: 保護されたすべての azure ファイルで機能するはずなので、SMARX を回答としてマークしていますが、ファイルは公開されている BLOB ファイルであるため、単純な Web アクセスを優先して、SMARX によって提案された CloudStorageAccount ルートをスキップしました。ただし、SMARX のアプローチを使用することに速度上の利点があるかどうかは疑問です。コメントをいただければ幸いです。
// Retrieve an object that points to the local storage resource
LocalResource localResource = RoleEnvironment.GetLocalResource("MyLocalStorage");
WebClient webClient = new WebClient();
webClient.DownloadFile(blobUrl, localResource.RootPath + "mySpatialiteDB.sqlite");
注: webRole プロパティを介してローカル ストレージを構成する必要があります。