При добавлении локаторов к нескольким файлам, которые я загрузил в службу мультимедиа Azure, я по ошибке добавил и установил неправильное время истечения срока действия для файлов mp4. Я также сохраняю информацию для каждого загруженного файла в базе данных, включая ссылки на локатор. Есть ли способ сбросить время истечения срока действия локаторов для каждого файла, который я в настоящее время храню в службах мультимедиа, и получить новые локаторы для каждого файла?
Как программно изменить политику чтения для локатора службы мультимедиа Azure?
Ответы (1)
API создания локатора может получить locatorID в качестве параметра. Вам нужно получить существующий локатор и удалить его, а затем создать с тем же GUID, чтобы вы могли обновить дату истечения срока действия, а также сохранить тот же локатор (URL).
Вот пример, который будет хранить существующие данные локатора и создавать их заново.
private static ILocator RecreateLocator(ILocator locator, CloudMediaContext mediaContext)
{
// Save properties of existing locator.
var asset = locator.Asset;
var accessPolicy = locator.AccessPolicy;
var locatorId = locator.Id;
var startDate = locator.StartTime;
var locatorType = locator.Type;
var locatorName = locator.Name;
// Delete old locator.
locator.Delete();
if (locator.ExpirationDateTime <= DateTime.UtcNow)
{
throw new Exception(String.Format(
"Cannot recreate locator Id={0} because its locator expiration time is in the past",
locator.Id));
}
// Create new locator using saved properties.
var newLocator = mediaContext.Locators.CreateLocator(
locatorId,
locatorType,
asset,
accessPolicy,
startDate,
locatorName);
Trace.TraceInformation("Locator created. Name={0}, path={1}", newLocator.Name, newLocator.Path);
return newLocator;
}
person
Cenkd
schedule
30.10.2015