我在尝试将两个Azure逻辑应用连接/链接在一起时遇到一些麻烦。
这是我的场景,以及我如何尝试使用Logic应用程序。
我创建了第一个逻辑应用程序:该应用程序允许用户将.mp4媒体文件上传到OneDrive上的文件夹中,然后逻辑应用程序检查该OneDrive文件夹上是否有新文件。如果有新文件,它将触发逻辑应用程序并将视频编入https://www.videoindexer.ai/。
第二逻辑应用程序:将视频索引到https://www.videoindexer.ai/之后,我希望用户从我创建的自定义网页中选择一种或多种语言进行字幕翻译(here is the custom web page)。一旦用户选择了语言,他们就会单击“提交”,这会将数据(语言)发送到我的第二个逻辑应用程序URL端点,并触发我的第二个逻辑应用程序,并根据用户的选择获取标题语言。最后,它会将这些字幕文件输出到OneDrive文件夹中。
这是我创建两个逻辑应用程序的方式:
第一逻辑应用程序:
第二逻辑应用程序:
HTML:
<form id="language-form">
<h3>Please select the languages(s) for translating captions: </h3>
<ul>
<li><label><input type="checkbox" name="language" value="en-US"> English</label></li>
<li><label><input type="checkbox" name="language" value="es-ES"> Spanish</label></li>
<li><label><input type="checkbox" name="language" value="ko-KR"> Korean</label></li>
<li><label><input type="checkbox" name="language" value="th-TH"> Thai</label></li>
<li><label><input type="checkbox" name="language" value="ja-JP"> Japanese</label></li>
</ul>
<button type="submit">Submit</button>
</form>
JavaScript:
function fetchForLanguages(languages) {
console.info('starting fetch for', languages)
return fetch("https://prod-00.westus2.logic.azure.com:443/workflows/xxxxxxxxxxxxxxxxx", { // this is my azure provided endpoint
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
languages: languages
})
}).then(response => {
if (!response.ok) {
throw new Error(`Network response was not ok: ${response.status} ${response.statusText}`);
}
return response.json()
})
}
function handleSubmit(event) {
event.preventDefault()
const data = new FormData(event.currentTarget)
const languages = data.getAll('language')
console.info('languages selected:', languages)
fetchForLanguages(languages)
.then((result) => console.log('got result:', result))
}
let form = document.getElementById('language-form')
form.addEventListener('submit', handleSubmit)
这里的工作流程与您的工作流程非常相似,但有说明: