我在AWS上运行了一个Web服务(比如说 example.com )。我想每小时将数据传输到网络服务一次。我也有Azure帐户,我想使用Azure的Scheduler将数据传输到我的网络服务。
我可以通过 cUrl 使用我的网络服务:
curl -H "Content-Type = application/json" -XPOST http://example.com -F imurl=http://example_image.jpg
上面的 cUrl 语句使用POST方法提交表单。 我想做同样的事情,cUrl在Azure Scheduler中做了什么,但我无法弄清楚如何填充身体。
以下是我在Scheduler中所做的:
失败详情为: Http Action - 来自主持人'52 .164.126.98'的回复: 'InternalServerError'响应标题:连接:关闭日期:星期四, 06 Jul 2017 08:16:17 GMT服务器:Apache / 2.4.18(Ubuntu)正文: 500 内部服务器错误
内部服务器错误
服务器遇到内部错误,无法完成您的 请求。服务器过载或者出现错误 应用
当我检查 /var/log/apache2/error.log 时,它表示imurl
未正确分配。
答案 0 :(得分:0)
请考虑在此方案中使用Logic Apps而不是Scheduler。
使用Logic Apps,从重复触发器开始,然后执行HTTP操作,发送formdata,格式化HTTP请求的主体,如下所示:
let api = SpotifyAPIHandler()
fileprivate var albumList = [Album]()
private func loadAlbums() {
api.getUsersAlbums() {
albums in
self.albumList = albums
self.collectionView?.reloadData()
}
}
或者,如果你有一个你试图调用的API的Swagger定义,只需将其提供给Logic Apps中的HTTP + Swagger操作,我们就会为你填充一个作曲家。