Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure媒体服务错误400_C#_Azure_Azure Media Services_Azure Webjobssdk - Fatal编程技术网

C# Azure媒体服务错误400

C# Azure媒体服务错误400,c#,azure,azure-media-services,azure-webjobssdk,C#,Azure,Azure Media Services,Azure Webjobssdk,我目前正在开发一个应用程序,并试图为其编写一个webjob 拿一个我上传到blob存储的MP4文件,创建一个资产,然后我可以对其进行编码,并准备使用azure媒体服务进行流式传输 公共类函数 { //写入新消息时,将触发/执行此功能 //在名为Queue的Azure队列上。 静态字符串accName=“从门户复制”; 静态字符串accKey=“如上所述”; 静态CloudMediaContext上下文=新的CloudMediaContext(accName,accName); //使用缓存的凭

我目前正在开发一个应用程序,并试图为其编写一个webjob 拿一个我上传到blob存储的MP4文件,创建一个资产,然后我可以对其进行编码,并准备使用azure媒体服务进行流式传输

公共类函数
{
//写入新消息时,将触发/执行此功能
//在名为Queue的Azure队列上。
静态字符串accName=“从门户复制”;
静态字符串accKey=“如上所述”;
静态CloudMediaContext上下文=新的CloudMediaContext(accName,accName);
//使用缓存的凭据创建CloudMediaContext。
//静态CloudMediaContext上下文=新的CloudMediaContext(accName,accKey);
公共静态视频(
[QueueTrigger(“videorequest”)]VideoBlobInfo信息,
[Blob(“{ProfileId}/{BlobName}”,FileAccess.Read)]流输入,
[Blob(“{ProfileId}/{BlobNameWithoutExtension}_stream.mp4”)]CloudBlockBlob outputBlob)
{
VideoBlobInformation b=blobInfo;
使用(Stream output=outputBlob.OpenWrite())
{
ConvertAndPrepareVideo(b,输入,输出);
}
//实体框架上下文类不是线程安全的,因此必须
//可以在函数中实例化和处理。
使用(pulseVidContext db=new pulseVidContext())
{
//var id=blobInfo.ProfileId;
//视频广告=db.Videos.Find(id);
//if(ad==null)
//{
//抛出新异常(String.Format(“未找到AdId{0},无法创建缩略图”,id.ToString());
//}
//ad.StreamUrl=outputBlob.Uri.ToString();
//db.SaveChanges();
}
}
公共静态void ConvertAndPrepareVideo(VideoBlob信息、流输入、流输出)
{
var storageAccount=new CloudStorageAccount(新的存储凭据(“accnameofstorage”,“与azure媒体服务关联的存储帐户”),true);
//将所有webjob输入Blob输出到容器-mediacontroller-
var cloudBlobClient=storageAccount.CreateCloudBlobClient();
var mediaBlobContainer=cloudBlobClient.GetContainerReference(“impfile”);
mediaBlobContainer.CreateIfNotExists();
IAsset sourceAsset=context.Assets.Where(a=>a.Id==info.VideoId).First();

}
context=新的CloudMediaContext(新的MediaServicesCredentials( 帐户名, accKey);
应该在ConvertAndPrepareVideo方法内设置,而不是在外部设置

您的文件/容器名称是否太长?否。blob文件是8486c644-7ed7-4f63-bba2-a8dd60c10bb1.mp4,容器名称是此长度的id字段F24D8371EF41E0B32DDC4DA6F5AA84EF您解决了这个问题吗?