I'm creating an application that uses azure media service. so in order to manage content, I'm trying to upload assets to managed way as below
This was the code I used to create input asset containerPath
something like company1/section1
private async Task<Asset> CreateInputAssetAsync(string assetName, string containerPath, IFormFile fileToUpload)
{
var asset = await _azureMediaServicesClient.Assets.CreateOrUpdateAsync(_appSettings.AzureMediaConfig.ResourceGroup, _appSettings.AzureMediaConfig.AccountName, assetName, new Asset());
var response = await _azureMediaServicesClient.Assets.ListContainerSasAsync(
_appSettings.AzureMediaConfig.ResourceGroup, _appSettings.AzureMediaConfig.AccountName,
assetName,
permissions: AssetContainerPermission.ReadWrite,
expiryTime: DateTime.UtcNow.AddHours(4).ToUniversalTime());
var sasUri = new Uri(response.AssetContainerSasUrls.First());
var container = new BlobContainerClient(sasUri);
var blob = container.GetBlobClient(containerPath);
await blob.UploadAsync(fileToUpload.OpenReadStream());
return asset;
}
so the creating output asset code
private async Task<Asset> CreateOutputAssetAsync(string containerPath, string assetName)
{
var outputAsset = await _azureMediaServicesClient.Assets.GetAsync(_appSettings.AzureMediaConfig.ResourceGroup, _appSettings.AzureMediaConfig.AccountName, assetName);
var asset = new Asset { Container = containerPath };
var outputAssetName = assetName;
if (outputAsset != null)
{
var uniqueness = $"-{Guid.NewGuid():N}";
outputAssetName += uniqueness;
}
return await _azureMediaServicesClient.Assets.CreateOrUpdateAsync(_appSettings.AzureMediaConfig.ResourceGroup, _appSettings.AzureMediaConfig.AccountName, outputAssetName, asset);
}
But when code runs azure SDK throws an BadRequest exception
What was the missing part in my code
Regards