如何通过 REST 仅获取已发布的资产 API
How to get only published assets via REST API
我只想从 Azure 门户存储中获取已发布的资产 account.The 我的问题是我没有任何仅提供已发布 assets.I 的 REST API 端点我正在使用 REST API 端点从 azure 帐户获取所有资产:
“https://storageAccountName.restv2.australiaeast.media.azure.net/api/Assets”
根据 doc 中的进一步说明:
发布操作已被弃用。从最新的媒体服务版本开始,不应使用发布。
如果您的代码使用 Publish,请注意以下注意事项:
- 发布操作不会删除与资产关联的定位器。您必须在调用 Publish 后明确删除代码中的定位器。
- 发布操作未将资产状态设置为已发布。删除检查资产是否处于已发布状态的代码。目前,资产只能有 Initialized 或 Deleted 状态。
我实际上不建议对此类查询使用 v2 APi。 V3 更好,因为 v2 仅 returns 前 1000 个。在 v3 中,如果列表真的很长,您可以使用 NextPage link 翻页。
关于此类查询的警告 - 如果此类请求的数量过多,您可能会受到限制。因此,如果您打算经常这样做,您可能希望将元数据移动到另一个数据库(如 Cosmos)以进行昂贵的查询。 AMS 并不是真正的资产管理系统,您应该使用资产 ID 作为外键在另一层执行更昂贵的 UX 级别查询。
这是 .NET v3 客户端中分页的样子
var firstPage = await client.StreamingLocators.ListAsync(resourceGroupName, accountName);
var currentPage = firstPage;
while (currentPage.NextPageLink != null)
{
当前页面 = 等待 MediaServicesArmClient。 StreamingLocators.ListNextAsync(currentPage.NextPageLink);
}
您需要获取资产 ID,然后还通过使用该资产 ID 的流媒体定位器列出。因为可能有 n-number 个使用该资产 ID 发布的流媒体定位器。
我只想从 Azure 门户存储中获取已发布的资产 account.The 我的问题是我没有任何仅提供已发布 assets.I 的 REST API 端点我正在使用 REST API 端点从 azure 帐户获取所有资产: “https://storageAccountName.restv2.australiaeast.media.azure.net/api/Assets”
根据 doc 中的进一步说明: 发布操作已被弃用。从最新的媒体服务版本开始,不应使用发布。
如果您的代码使用 Publish,请注意以下注意事项:
- 发布操作不会删除与资产关联的定位器。您必须在调用 Publish 后明确删除代码中的定位器。
- 发布操作未将资产状态设置为已发布。删除检查资产是否处于已发布状态的代码。目前,资产只能有 Initialized 或 Deleted 状态。
我实际上不建议对此类查询使用 v2 APi。 V3 更好,因为 v2 仅 returns 前 1000 个。在 v3 中,如果列表真的很长,您可以使用 NextPage link 翻页。
关于此类查询的警告 - 如果此类请求的数量过多,您可能会受到限制。因此,如果您打算经常这样做,您可能希望将元数据移动到另一个数据库(如 Cosmos)以进行昂贵的查询。 AMS 并不是真正的资产管理系统,您应该使用资产 ID 作为外键在另一层执行更昂贵的 UX 级别查询。
这是 .NET v3 客户端中分页的样子
var firstPage = await client.StreamingLocators.ListAsync(resourceGroupName, accountName); var currentPage = firstPage; while (currentPage.NextPageLink != null) { 当前页面 = 等待 MediaServicesArmClient。 StreamingLocators.ListNextAsync(currentPage.NextPageLink); }
您需要获取资产 ID,然后还通过使用该资产 ID 的流媒体定位器列出。因为可能有 n-number 个使用该资产 ID 发布的流媒体定位器。