如何在 Azure Scheduler 中提交表单

how to submit form in Azure Scheduler

我在 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 中所做的同样的事情,但我不知道如何填充正文。

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

Fail Detail is: Http Action - Response from host '52.164.126.98': 'InternalServerError' Response Headers: Connection: close Date: Thu, 06 Jul 2017 08:16:17 GMT Server: Apache/2.4.18 (Ubuntu) Body: 500 Internal Server Error

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

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

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

对于逻辑应用程序,从重复触发器开始,然后是 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 操作,我们将为您填充一个组合器。