创建资产过滤器会引发400 Bad Request

问题描述 投票:0回答:1

我正在尝试为流创建一个过滤器,基本上只是为了剪辑它。资产对应于仍在进行的实时流。

这是我通过.net sdk(Microsoft.Azure.Management.Media,Version = 2.0.1.0)调用的,它失败了,没有400,也没有其他信息:

                await _client.AssetFilters.CreateOrUpdateAsync(_config.ResourceGroup, _config.AccountName,
                    _assetName, filterName, new AssetFilter()
                    {
                        PresentationTimeRange = new PresentationTimeRange()
                        {
                            StartTimestamp = 100000000,
                            EndTimestamp = 150000000,
                            LiveBackoffDuration = 0,
                            Timescale = 10000000,
                            ForceEndTimestamp = false
                        },
                        Tracks = new List<FilterTrackSelection>()
                    });

尝试通过http请求执行相同操作,过滤器已创建并可以使用:

                    var uri =
                        $"https://management.azure.com/subscriptions/{_config.SubscriptionId}/resourceGroups/{_config.ResourceGroup}/providers/Microsoft.Media/mediaServices/streaming/assets/{_assetName}/assetFilters/{filterName}?api-version=2018-07-01";

                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Token);

                    var assetFilter = JsonConvert.SerializeObject(new AssetFilter()
                    {
                        PresentationTimeRange = new PresentationTimeRange()
                        {
                            StartTimestamp = 100000000,
                            EndTimestamp = 150000000,
                            LiveBackoffDuration = 0,
                            Timescale = 10000000,
                            ForceEndTimestamp = false
                        },
                        Tracks = new List<FilterTrackSelection>()
                    });

                    HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Put, uri);
                    request.Content = new StringContent(assetFilter, Encoding.UTF8, "application/json");

                    await httpClient.SendAsync(request);

我在两种情况下都发送相同的AssetFilter对象,有关第一次调用失败的原因的任何建议吗?

任何帮助,将不胜感激。

谢谢!

azure azure-media-services
1个回答
0
投票

.Net SDK版本2.0.2已根据https://www.nuget.org/packages/Microsoft.Azure.Management.Media/2.0.2更新了过滤器。我无法在2.0.2中重新编写,因此可能已在此更新中修复。差异很可能是REST调用只是正确处理它。

© www.soinside.com 2019 - 2024. All rights reserved.