簡體   English   中英

Azure 媒體服務定位器

[英]Azure Media Services Locators

基於我之前的問題,我仍然沒有找到定位器。

上一個定位器問題

如果我創建一個定位器持續 1 小時,當它過期時,我如何知道當前定位器已過期?

我相信我需要存儲assetId,以便以后可以請求它。

  • 我是否也將到期日期存儲在我身邊?
  • 或者是當我請求它時,我得到一個無效的 http 狀態並基於此我創建一個新的定位器?
  • 所有過期的定位器怎么辦,我讀到你只能有 5 個,所以我需要清理過期的定位器嗎?

認為主要問題是當舊定位器過期時如何創建新定位器,但我如何知道舊定位器已過期?

下面的代碼是我獲取定位器的代碼,但無法確定定位器是否已過期。

        // Try and get an access policy and reuse it if found
        var tempPolicyId = from a in _context.AccessPolicies
            where a.Name == PolicyName
            select a;

        IAccessPolicy accessPolicy = null;

        if (tempPolicyId.Count() < 1)
        {
            accessPolicy = _context.AccessPolicies.Create(
                PolicyName,
                TimeSpan.FromMinutes(5), // expire in 5 minutes
                AccessPermissions.List | AccessPermissions.Read);
        }
        else
        {
            accessPolicy = tempPolicyId.FirstOrDefault();
        }
        _context.Locators.CreateLocator(
            LocatorType.OnDemandOrigin,
            asset,
            accessPolicy,
            DateTime.UtcNow.AddMinutes(-5));

        _context.Locators.CreateLocator(
            LocatorType.Sas,
            asset,
            accessPolicy,
            DateTime.UtcNow.AddMinutes(-5));
    }

您的幫助將不勝感激,謝謝

我強烈建議最低限度地存儲資產 ID。 從中您可以找到有關該資產的任何信息。 如果您像建議的那樣使用短期定位器,那么存儲到期日期也不錯。 我認為1小時是短暫的。 我經常創建 10 年或 100 年的定位器,然后通過 DRM 管理訪問。

要判斷定位器何時到期,您可以調用ILocator.ExpirationDateTime .ToUniversalTime() 來查找它將或確實到期的日期/時間。

當定位器過期時,如果您的定位器數量限制在 5 個范圍內,您需要將其刪除,然后才能添加新定位器。 您也可以調用ILocator.Update (DateTime newExpiryTime)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM