2

J'écris une application dépendante d'AWS en javascript et j'utilise l'AWS CLI pour automatiser le processus de construction de mes ressources AWS. J'essaie de créer une ressource API Gateway avec CORS activé. Tout en appelant la méthode put-integration-response de la passerelle api CLI, quand j'ajoute l'argument --response-parameters, j'ai reçu l'erreur suivante:AWS CLI Erreur JSON non valide - Le nom de la propriété attendue entre guillemets doubles

>> Error parsing parameter '--response-parameters': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 2 (char 1) 
>> JSON received: {method.response.header.Access-Control-Allow-Origin:'*'} 

Voici l'argument --response-paramètres qui est à l'origine des problèmes:

--response-parameters {"method.response.header.Access-Control-Allow-Origin":"\'*\'"} Si cela aide, cet argument est alimenté via le plugin grunt-exec pour Grunt. Qu'est-ce qui cause exactement ce problème? J'ai essayé d'ajouter plus de guillemets doubles, mais ils ne semblent pas apparaître dans 'JSON reçu'.

+1

Il semble que vous avez manqué d'envelopper les paramètres en guillemets simples. --response-parameters '{"method.response.header.custom-header": "'" '"' custom-value '"' "'"}' Ce lien a un bel exemple: http://docs.aws. amazon.com/cli/latest/reference/apigateway/put-integration-response.html – kosa

+0

J'ai donc besoin d'envelopper toute la chaîne JSON dans des guillemets simples? Je vais essayer ça maintenant. –

+0

Je voudrais essayer avec ça. Assurez-vous que les citations sont correctement fermées et échappées. – kosa

Répondre

0

Vous pouvez coder la valeur statique par "'"' "'*'" '"'".

Exemple:

aws apigateway put-integration-response --rest-api-id xxxxx --resource-id xxxxxx --http-method GET --status-code 200 --response-parameters '{"method.response.header.Access-Control-Allow-Origin": "'"'"'*'"'"'"}' 

Je suggère d'utiliser le SDK JavaScript pour appeler la passerelle API pour gérer vos ressources. Vous pouvez trouver plus d'informations de la SDK documentation.