Azure Media Services Локаторы - PullRequest
       14

Azure Media Services Локаторы

0 голосов
/ 01 ноября 2019

база моего предыдущего вопроса Я все еще не получаю локаторы.

Предыдущий вопрос о локаторе

Если я создаю локатор на последний 1 час, когда он истекаеткак узнать, что текущий локатор истек?

Полагаю, мне нужно будет сохранить идентификатор ресурса, чтобы я мог запросить его позже.

  • Могу ли я сохранить дату истечения срока действия и на моей стороне?
  • Или это так? когда я запрашиваю его, я получаю неверный статус 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));
    }

Ваша помощь будет принята с благодарностью, спасибо

1 Ответ

1 голос
/ 01 ноября 2019

Я бы настоятельно рекомендовал минимально хранить идентификатор актива. Из этого вы можете узнать что-нибудь об активе. Было бы неплохо сохранить дату истечения срока действия, если вы используете недолговечные локаторы, как вы предлагаете. Я бы посчитал 1 час недолгим. Часто я создаю локаторы на 10 или 100 лет, а затем управляю доступом через DRM.

Чтобы узнать, когда истекает срок действия локатора, вы можете вызвать ILocator.ExpirationDateTime .ToUniversalTime (), чтобы найти дату / время истечения или истечения срока действия.

Когдасрок действия локатора истек, вам нужно удалить его, если вы находитесь на пределе 5 локаторов, прежде чем сможете добавить новый. Вы также можете позвонить ILocator.Update (DateTime newExpiryTime)

...