0

Windows Azure Media Services で次の S3 機能に相当する機能を見つけようとしています: http://www.bucketexplorer.com/documentation/amazon-s3--how-to-generate-url-for-amazon-s3- file.html#signedurl

このような URL への署名は、S3 や CDN (Akamai など) を通じて実現できると聞いたことがあります。

2つの質問。

1) WAMS で署名付き URL を実装する方法について、誰かが推奨事項を持っていますか?

2) Azure が Akamai のような他の CDN とどの程度連携するかを知っている人はいますか?

前もって感謝します。

4

1 に答える 1

0

Windows Azure のこの機能に相当するものは、Shared Access Signatureと呼ばれます。Media Services は、SAS Origin Locatorsの作成をサポートしています。

.NET SDK を使用して SAS Locator を作成する方法に関する公式ドキュメントを読むことができます。

または、GitHub で私のプロジェクトと、特に Locators の実装を確認できます

特定のアセットの SAS ロケーターを生成するためのコード サンプルは次のとおりです。

public string GetSasLocator(IAsset asset)
{
    // Create an 1-day readonly access policy. 
    IAccessPolicy streamingPolicy = this.MediaService.MediaContext.AccessPolicies.Create("Full Access Policy",
        TimeSpan.FromMinutes(20),
        AccessPermissions.List | AccessPermissions.Read | AccessPermissions.Read);

    // Create the origin locator. Set the start time as 5 minutes 
    // before the present so that the locator can be accessed immediately 
    // if there is clock skew between the client and server.
    ILocator sasLocator =
        (from l in this.MediaService.MediaContext.Locators
         where l.Type == LocatorType.Sas && l.AssetId.Equals(asset.Id)
         select l).FirstOrDefault();

    if (sasLocator != null && sasLocator.ExpirationDateTime < DateTime.UtcNow)
    {
        sasLocator.Delete();
        sasLocator = null;
    }

    if (sasLocator == null)
    {
        sasLocator = this.MediaService.MediaContext
            .Locators.CreateSasLocator(asset,
         streamingPolicy,
         DateTime.UtcNow.AddMinutes(-5));
    }
    // Create a full URL to the manifest file. Use this for playback
    // in streaming media clients. 
    string sasUrl = sasLocator.Path;

    // Display the full URL to the streaming manifest file.
    Console.WriteLine("URL to for blob upload: ");
    Console.WriteLine(sasUrl);

    return sasUrl;
}
于 2013-04-19T20:24:15.030 に答える