0

我创建了第一个逻辑应用程序:允许用户将 .mp4 媒体文件上传到 OneDrive 上的文件夹中,逻辑应用程序检查该 OneDrive 文件夹上是否有新文件。如果有新文件,它将触发逻辑应用程序并将视频索引到https://www.videoindexer.ai/

第二个 - 逻辑应用程序:在视频被索引到https://www.videoindexer.ai/后,我希望用户从我创建的自定义网页中选择语言,用于字幕翻译。一旦用户选择了他们点击“提交”的语言,这会将数据(语言)发送到我的第二个逻辑应用程序 URL 端点,并触发我的第二个逻辑应用程序(如下所示)并获取标题基于用户选择的语言。最后,它会将这些字幕文件输出到 OneDrive 文件夹。

目前,字幕文件名的格式为:videoID_language.vtt(示例:e0b3483dd1_en-US.vtt)。这种格式的问题在于,假设我们有多个视频,用户会发现很难匹配哪个字幕文件属于哪个视频。这就是为什么我要添加视频标题名称,以便他们知道哪个字幕文件适用于哪个视频。

我的问题是:如何将视频名称也添加到文件中?因此,假设我有诸如“AzureFunction”之类的视频磁贴。我希望我的 VTT 文件名看起来像这样 AzureFunction_e0b3483dd1_en-US.vtt

我试图做的是改变文件名查询从这个:
concat(triggerOutputs()['body']['videoId'],' ',item(),'.vtt') 到这个: concat(triggerOutputs() ['body']['name']['videoId'],' ',item(),'.vtt')

但它给出了一个错误,因为它不知道“名称”。如何将视频名称包含在我的标题中?

这是我用来创建文件的第二个逻辑应用工作流: 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

我试图做的是改变文件名查询从这个: concat(triggerOutputs() ['body']['videoId'] ,'',item(),'.vtt') 到这个: concat(triggerOutputs() ['body']['name']['videoId'] ,'',item(),'.vtt')

triggerOutputs()返回一个 JSON 对象。根据 FIRST 代码,该 JSON 结构是 body (object) > videoId (property)。将其更改为您的 SECOND 版本表示结构是 body (object) > name (object) > videoId (property)。name 属性似乎不太可能具有 videoId 子属性。

更重要的是,您说错误指示“它不知道名称”,这表明 triggerBody 上没有名称属性。您说您尝试连接视频名称 - 您如何获得视频名称?或者这是你的问题?由于 triggerBody 是 HTTP 请求,因此不清楚视频名称是 HTTP 请求的一部分。如果您有 ID,是否可以使用另一个视频索引器操作来检索名称?

于 2020-05-15T14:18:46.423 回答