私はAzureのブロブとして公開されているソフトウェアインストーラを持っており、ダウンロードされた回数をカウントする必要があります。Azure BLOBのダウンロードを検出またはカウントする方法は?
問題は、(多くのダウンロードサイトから)外部から参照できるため、ウェブサイトから制御できないということです。
Windows Azureには、BLOBのダウンロードを検出するメカニズムがありますか、それらのカウントを登録していますか? ありがとう!
私はAzureのブロブとして公開されているソフトウェアインストーラを持っており、ダウンロードされた回数をカウントする必要があります。Azure BLOBのダウンロードを検出またはカウントする方法は?
問題は、(多くのダウンロードサイトから)外部から参照できるため、ウェブサイトから制御できないということです。
Windows Azureには、BLOBのダウンロードを検出するメカニズムがありますか、それらのカウントを登録していますか? ありがとう!
コンテナをプライベートにすることを検討しましたか?これは人々がブロブを直接ダウンロードするのを防ぎます。これを行うことで、ファイルをダウンロードできるユーザーと、これを実行できる期間を完全に制御できます。
登録ユーザーのみがファイルをダウンロードでき、ASP.NET MVCを使用しているとします。これは何が行うことは以下の通りである
[Authorize]
public ActionResult Download(string blobName)
{
CountDownload(blobName);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blob = container.GetBlobReference(blobname);
var sas = blob.GetSharedAccessSignature
(
new SharedAccessPolicy
{
Permissions = SharedAccessPermissions.Read,
SharedAccessStartTime = DateTime.Now.ToUniversalTime(),
SharedAccessExpiryTime = DateTime.Now.ToUniversalTime().AddHours(1)
}
);
return Content(blob.Uri.AbsoluteUri + sas);
}
:
アプリケーションを通じて署名付きURLを配っすることにより、あなたが完全に制御を持っていてもダウンロードを払って、CAPTCHAのような他のシナリオを見ることができ、高度でアプリケーションのアクセス許可、...
私が気づいたよりも完全です。ありがとう! –
'DateTime.UtcNow'を使うことができます。また、開始時刻を指定する必要もありません(クロックスキューについては注意してください)。 – nmit026
あなたのブロブが持っていたどのように多くのダウンロードを把握するstorage analyticsを使用することができます。あなたはBLOBを持っている場合は
ストレージアナリティクス(BLOB IDごとの合計リクエスト)は、API経由で何とか利用できますか?私は、報告目的のためだけにBLOBのダウンロード数を問い合わせることに興味があります。 – kzu
:
ブロブの使用量は、新しい管理ポータルでグラフとしても利用可能です(つまり、サービスの背後で抽象化されていない)一般的に利用可能なものは、Storage Metrics Logsです。 http://blogs.msdn.com/b/windowsazurestorage/archive/2011/08/03/windows-azure-storage-metrics-using-metrics-to-track-storage-usage.aspxをご覧ください。私はこれが正確にあなたが探しているものを得ることができるか分からない。 – MikeWo
もちろん、それがサービスの背後にあるなら、あなたはそれを簡単に数えることができます。 BTWでは、ソフトウェアインストーラの場合、CDNを使用して経験を上げたいと思うかもしれませんが、あなたの仕事は難しくなります(ただし、サービスとCDNは引き続き使用できます)。このような音は今や野生であり、この段階ではサービスは実行可能ではありませんか? –
@MikeWo - あなたはあなたのコメントを答えに移すべきです。 –