#StackBounty: #c# #azure #azure-media-services Azure Media Services, GetLocators with V3 api and ODataQuery

Bounty: 100

I am trying to get all the streaming locators for a given asset using the v3 API and the Microsoft.Azure.Management.Media package but I am getting a bad request error using Odata Queries:

It fails on this line: var locator = client.StreamingLocators.List("webinars", "webinars", new ODataQuery<StreamingLocator>(x=>x.AssetName == assetId));

Microsoft.Azure.Management.Media.Models.ApiErrorException: Operation returned an invalid status code 'BadRequest'

When I use it without the ODataQuery, it returns fine.

public IList<string> GetLocatorForAsset() {
            var assetId = "bb4953cf-4793-4b3c-aed8-ae1bec88a339";
            IList<string> streamingUrls = new List<string>();      

            var locator = client.StreamingLocators.List("webinars", "webinars", new ODataQuery<StreamingLocator>(x=>x.AssetName == assetId));
            ListPathsResponse paths = client.StreamingLocators.ListPaths("webinars", "webinars", locator.FirstOrDefault().Name);

            foreach (StreamingPath path in paths.StreamingPaths) {
                UriBuilder uriBuilder = new UriBuilder();
                uriBuilder.Scheme = "https";
                uriBuilder.Host = "webinars-use2.streaming.media.azure.net";

                uriBuilder.Path = path.Paths[0];
                streamingUrls.Add(uriBuilder.ToString());
            }

            return streamingUrls;

        }
    }


Get this bounty!!!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.