0

我有一个在 AWS 上运行的网络服务(比如说example.com)。我想每小时将数据传输到网络服务一次。我也有 Azure 帐户,我想使用 Azure 的调度程序将数据传输到我的网络服务。

我可以像这样通过cUrl使用我的网络服务:

curl -H "Content-Type = application/json" -XPOST http://example.com -F imurl=http://example_image.jpg

上面的cUrl语句使用 POST 方法提交表单。我想做与 cUrl 在 Azure Scheduler 中所做的相同的事情,但我不知道如何填充正文。

这是我在调度程序中所做的:

在此处输入图像描述

失败详细信息是: Http 操作 - 来自主机“52.164.126.98”的响应:“InternalServerError”响应标头:连接:关闭日期:2017 年 7 月 6 日星期四 08:16:17 GMT 服务器:Apache/2.4.18 (Ubuntu) 正文: 500内部服务器错误

内部服务器错误

服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序出错。

当我检查/var/log/apache2/error.log它说imurl没有正确分配。

4

1 回答 1

0

对于这种情况,请考虑使用逻辑应用而不是调度程序。

对于逻辑应用,从重复触发开始,然后是 HTTP 操作,以发送表单数据,格式化 HTTP 请求的正文,如下所示:

"body": {
   "$content-type": "multipart/form-data",
   "$multipart": [
      {
         "body": "val0",
         "headers": {
            "Content-Disposition": "form-data; name=\"pkey0\""
         }
      },
      {
         "body": "val1",
         "headers": {
            "Content-Disposition": "form-data; name=\"pkey1\""
         }
      }
   ]
}

或者,如果您有您尝试调用的 API 的 Swagger 定义,只需将其提供给逻辑应用程序中的 HTTP+Swagger 操作,我们将为您填充一个作曲家。

于 2017-07-06T18:10:37.003 回答