我正在从Integrating Azure Media Services with Azure Functions文章中复制EncodeBlob_SingleOut_Function。在Visual Studio 2015上进行调试时,它在我的本地运行。但是,当我在Azure门户中发布该功能时,我得到了#34;类型或命名空间名称' MediaServices'名称空间中不存在Microsoft.WindowsAzure' (你错过了一个装配参考吗?)"编译时除了MediaServices类之外,Azure门户中的Function应用程序还无法找到其他对象,如CloudMediaContext,MediaServicesCredentials,IAsset,IAccessPolicy等。
答案 0 :(得分:1)
很棒的回应布鲁斯, 是的,它与nugget和包管理器有关。下拉Project.json文件中的块包似乎存在问题。 我之前已经注意到了这一点,但还没有弄明白是什么引发了这个问题。
今天我会再研究一下,看看我是否能找到为什么金块偶尔会失败。
另请注意,我刚刚更新了软件包版本,因为有更新版本可用。
{
"frameworks": {
"net46": {
"dependencies": {
"windowsazure.mediaservices": "3.8.0.3",
"windowsazure.mediaservices.extensions": "3.8.0.3"
}
}
}
}
答案 1 :(得分:0)
根据您的描述,我按照您提供的tutorial并根据EncodeBlob_SingleOut_Function示例创建了我的Azure功能。经过一些试验,我可以在Azure上按预期工作。以下是一些可能的原因,您可以参考它们:
登录Azure门户,选择您的功能应用,点击“功能应用设置>转到App Service Editor”。
确保Azure Funtion的内容结构如下所示:
注意: project.json
文件位于您的函数的根目录下。文件夹Presets
和Shared
需要位于wwwroot
的根目录下。您可以按如下方式找到它们:
您可以通过App Service Editor或KUDU上传目录/文件。
配置完成后没有更改任何代码,当上传blob时你会发现该功能被触发如下: