我试图制作一个Azure函数来索引MP4文件。我正在寻找一种方法来读取索引器所需的配置文件。我已经制作了一个控制台应用程序,可以从我的硬盘中读取配置文件,并且工作正常。但是如何读取Azure函数中的文件?
例如:
EncodeFile(asset, @"e:\index.xml");
public static IAsset EncodeFile(IAsset asset, string configurationFile)
{
IJob job = _context.Jobs.Create("Media Encoder Standard Job");
string MediaProcessorName = "Azure Media Indexer";
IMediaProcessor processor = GetLatestMediaProcessorByName(MediaProcessorName);
string configuration = string.IsNullOrEmpty(configurationFile) ? "" : File.ReadAllText(**configurationFile**);
ITask task = job.Tasks.AddNew("My encoding task",
processor,
**configuration**,
TaskOptions.None);
答案 0 :(得分:0)
但是如何读取Azure功能中的文件?
我们可以将该文件放在Azure功能站点下。
对于Azure功能应用程序,如果我们创建一个函数,那么它将在WebApp上创建一个具有函数名称的文件夹。如果我们想要读取文件,我们可以将文件放到Azure kudu tool的文件夹中 (https://yourfunctionsite.scm.azurewebsites.net)。访问Azure Web App D:\ home。我们可以从Azure WebApp Sandbox获取更多详细信息。
每个Azure Web App都有一个由Azure Storage存储/支持的主目录。此网络共享是应用程序存储其内容的位置。此目录可用于具有读/写访问权限的沙箱。
在您的情况下,代码可以更改为:
string configuration = string.IsNullOrEmpty(configurationFile) ? "" : File.ReadAllText(Environment.GetEnvironmentVariable("HOME") + @"\site\wwwroot\functionname\filename);
我也做了一个测试。它在我身边正常工作。