I have been trying to upload a file to Azure media server but i am getting the excpetion as
Azure Media Services endpoint Uri schema is not valid
I have tried below code
static void Main(string[] args)
{
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
//_cachedCredentials = new MediaServicesCredentials(_mediaServicesAccountName,
//_mediaServicesAccountKey);
//_context = new CloudMediaContext(_cachedCredentials);
Program program = new Program(configuration);
//var tokenCredentials1 = new AzureAdTokenCredentials(program._mediaServicesTenant, AzureEnvironments.AzureCloudEnvironment);
//var tokenProvider1 = new AzureAdTokenProvider(tokenCredentials1);
//var mediaContext = new CloudMediaContext(new Uri(program._mediaServicesURL), tokenProvider1);
//mediaContext.Assets.FirstOrDefault();
AzureAdTokenCredentials tokenCredentials =
new AzureAdTokenCredentials(program._mediaServicesTenant,
new AzureAdClientSymmetricKey(program._mediaServicesClientID, program._mediaServicesClientSecret),
AzureEnvironments.AzureCloudEnvironment);
var tokenProvider = new AzureAdTokenProvider(tokenCredentials);
//program._mediaServicesURL is "https://management.azure.com/"
_context = new CloudMediaContext(new Uri(program._mediaServicesURL), tokenProvider);
IAsset inputAsset = CreateAssetAndUploadSingleFile(@"E:\User\SampleVideo.mp4", AssetCreationOptions.CommonEncryptionProtected);
//EncodeToAdaptiveBitrateMP4Set(inputAsset);
}
static public IAsset CreateAssetAndUploadSingleFile(string singleFilePath, AssetCreationOptions assetCreationOptions)
{
if (!File.Exists(singleFilePath))
{
Console.WriteLine("File does not exist.");
return null;
}
var assetName = Path.GetFileNameWithoutExtension(singleFilePath);
//create a new input asset
IAsset inputAsset = _context.Assets.Create(assetName, assetCreationOptions);
var assetFile = inputAsset.AssetFiles.Create(Path.GetFileName(singleFilePath));
Console.WriteLine("Created assetFile {0}", assetFile.Name);
//create a 30-day read and list access policy
var policy = _context.AccessPolicies.Create(
assetName,
TimeSpan.FromDays(30),
AccessPermissions.Read | AccessPermissions.List);
//create a SAS locator to display the asset
var locator = _context.Locators.CreateLocator(LocatorType.Sas, inputAsset, policy);
Console.WriteLine("Upload {0}", assetFile.Name);
assetFile.Upload(singleFilePath);
Console.WriteLine("Done uploading {0}", assetFile.Name);
locator.Delete();
policy.Delete();
return inputAsset;
}
Please Help me out i have seen lot of articles but no luck can anyone provide the complete upload working code if possible
It looks like you are using the old legacy deprecated v2 API. Was that intentional or a mistake? If a mistake how did you arrive there?
Can you try to use the latest v3 API from the samples here: https://learn.microsoft.com/en-us/azure/media-services/latest/samples-overview