将文件上传到onedrive时触发Java代码以从onedrive下载文件

时间:2019-04-03 23:20:08

标签: java spring rest azure onedrive

我想触发一个驻留在Azure容器注册表或docker hub中作为图像驻留的Java代码。此代码用于在文件上传到onedrive时从onedrive下载/读取文件。

我尝试了Azure逻辑应用程序等Azure服务,但是没有触发Java代码的操作。 我尝试使用restapi,但无法识别用于GET请求的URL。 我读了有关Microsoft graph api的文章,但我不必使用它,因为将来将文件路径从onedrive更改为任何其他驱动器时,必须将其设为通用。

2 个答案:

答案 0 :(得分:0)

这是您需要遵循的步骤:

1)您将创建一个逻辑应用程序,该应用程序将具有一个驱动器文件上传的触发器。

2)接下来的操作是创建Azure函数,该函数将具有类型为post的http触发器。

enter image description here

3)逻辑应用程序文件的输出将类似于Azure函数的输入,这将是您的Java基本代码。

4)您可以在Azure函数中编写处理逻辑。

或者,您也可以具有Azure功能,它将监视您的One Drive文件,以后您可以对其进行处理。

这是在相同情况下的类似主题。

Process a file using Azure Function

希望有帮助。

答案 1 :(得分:0)

简单的解决方案是在Azure Functions中使用External file trigger,如下图所示,请参考官方文档Microsoft Graph bindings for Azure Functions以了解操作方法。

enter image description here

例如,使用JavaScript。 enter image description here

但是由于不支持Azure Functions上的Java触发器,因此只能使用C#/ F#,JavaScript / Node.js来实现。

如果必须使用Java进行操作,一种解决方法是将Azure函数与HttpTrigger或WebHook与Azure Logic App的OneDrive触发器集成。

enter image description here

enter image description here


Azure Logic App的代码是用于定义逻辑流的json数据块,如下所示,您可以在Azure门户的标签Logic app code view中看到它。

enter image description here