Как получить только опубликованные ресурсы через REST API - PullRequest
0 голосов
/ 11 июля 2019

Я хочу получить только опубликованные ресурсы из учетной записи хранилища портала Azure. В моем случае проблема заключается в том, что у меня нет конечной точки API REST, которая предоставляет только опубликованные ресурсы. Я получаю все активы из учетной записи Azure с помощью REST.Конечная точка API: "https://storageAccountName.restv2.australiaeast.media.azure.net/api/Assets"

Ответы [ 2 ]

1 голос
/ 11 июля 2019

На самом деле я не рекомендую использовать v2 APi для этого типа запроса. V3 лучше, потому что v2 возвращает только верхнюю 1000. В v3 вы можете пролистать ссылку NextPage, если список действительно длинный.

ПРЕДУПРЕЖДЕНИЕ по этим типам запросов, хотя - Вы можете быть ограничены, если объем таких запросов слишком велик. Поэтому, если вы планируете делать это много, вы можете переместить метаданные в другую БД (например, Cosmos) для дорогостоящих запросов. AMS на самом деле не является системой управления активами, и вы должны выполнять более дорогие запросы уровня UX на другом уровне, используя идентификатор актива в качестве внешнего ключа.

Так выглядит подкачка в клиенте v3 для .NET

var firstPage = await client.StreamingLocators.ListAsync (resourceGroupName, accountName); var currentPage = firstPage; while (currentPage.NextPageLink! = null) { currentPage = await MediaServicesArmClient. StreamingLocators.ListNextAsync (currentPage.NextPageLink); }

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

1 голос
/ 11 июля 2019

Как чуть ниже в документе : Действие «Опубликовать» устарело. Начиная с последней версии Media Services, публикация не должна использоваться.

Если в вашем коде используется публикация, учтите следующие соображения:

  1. Действие Опубликовать не удаляет локаторы, связанные с активом. Вы должны явно удалить локаторы в коде после вызова Publish.
  2. Действие «Опубликовать» не устанавливает состояние ресурса «Опубликован». Удалите код, который проверяет, находится ли актив в состоянии Опубликован. В настоящее время актив может иметь только состояние «Инициализировано» или «Удалено».
...