2017-07-06 4 views
0

J'ai un service Web fonctionnant sous AWS (disons example.com). Je voudrais transférer des données au service Web une fois par heure. J'ai également un compte Azure et j'aimerais utiliser le planificateur d'Azure pour transférer des données vers mon service Web.comment soumettre un formulaire dans Azure Scheduler

Je peux utiliser mon service Web par CURL comme ceci:

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

La déclaration ci-dessus CURL soumet un formulaire en utilisant la méthode POST. Je voudrais faire la même chose que cUrl dans Azure Scheduler mais je ne pouvais pas comprendre comment remplir le corps.

Voici ce que je faisais dans le Planificateur:

enter image description here

Fail Détail est: Http Action - Réponse de l'hôte '52 .164.126.98' : 'InternalServerError' têtes de réponse: Connexion : fermeture Date: Jeu, 06 juil. 2017 08:16:17 GMT Serveur: Apache/2.4.18 (Ubuntu) Corps: Erreur interne du serveur

Erreur interne du serveur

Le serveur a rencontré une erreur interne et n'a pas pu terminer votre demande . Soit le serveur est surchargé ou il y a une erreur dans l'application .

quand je vérifie /var/log/apache2/error.log il dit imurl n'est pas affecté correctement.

+0

comme indiqué clairement dans la réponse acceptée, il n'est pas possible de demander des données de formulaire post-http dans Azure. Mais les applications logiques sont vraiment cool d'aller et ici [1] est une explication pour apprendre à les utiliser. [1]: http: //devslice.net/2016/08/logic-apps-post-request/ – eneski

Répondre

0

Veuillez utiliser Logic Apps au lieu de Scheduler pour ce scénario.

Avec Logic Apps, commencez par un déclencheur de récurrence suivie d'une action HTTP, pour envoyer formdata, formater le corps de la requête HTTP comme ceci:

"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\"" 
     } 
     } 
    ] 
} 

Sinon, si vous avez une définition de Swagger du API que vous essayez d'invoquer, fournissez-la simplement à l'action HTTP + Swagger dans Logic Apps et nous la peuplerons pour vous.