как отправить форму в планировщике Azure

У меня есть веб-сервис, работающий на 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, но я не мог понять, как заполнить тело.

Вот что я сделал в планировщике:

введите здесь описание изображения

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

Внутренняя Ошибка Сервера

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 назначен неправильно.


person eneski    schedule 06.07.2017    source источник
comment
как неясно указано в принятом ответе, запрос данных формы HTTP-сообщения в Azure невозможен. Но Logic Apps действительно крутые, и вот [1] объяснение того, как их использовать. [1]:devslice.net/2016/08/logic-apps-post -запрос   -  person eneski    schedule 07.07.2017


Ответы (1)


Рассмотрите возможность использования приложений логики вместо планировщика для этого сценария.

В Logic Apps начните с триггера повторения, за которым следует действие 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\""
         }
      }
   ]
}

В качестве альтернативы, если у вас есть определение Swagger для API, который вы пытаетесь вызвать, просто укажите его в действии HTTP+Swagger в Logic Apps, и мы заполним его компоновщиком для вас.

person Derek Li    schedule 06.07.2017