Aws-cli: aws apigateway put-integration-response: el valor de las plantillas de respuesta de `null` no se acepta

Creado en 31 oct. 2015  ·  3Comentarios  ·  Fuente: aws/aws-cli

Especificando null en la plantilla de respuesta de la siguiente manera:

aws apigateway put-integration-response \
  --region "$region" \
  --rest-api-id "$api_id" \
  --resource-id "$resource_id" \
  --http-method GET \
  --status-code 200 \
  --response-templates '{"application/json":null}'

da como resultado el error:

Parameter validation failed:
Invalid type for parameter responseTemplates.application/json, value: None, type: <type 'NoneType'>, valid types: <type 'basestring'>

Si reemplazo null con "Empty" el cli acepta el parámetro:

  --response-templates '{"application/json":"Empty"}'

Cuando la Consola de AWS crea el mismo método y lo consulto, el valor se muestra como null . Parece que debería poder establecerlo en el mismo valor a través de aws-cli.

aws-cli/v1.9.2

guidance

Comentario más útil

La solución es pasar una cadena vacía en lugar de null , es decir, --response-templates '{"application/json":""}' , y obtendrá

{
    "statusCode": "200",
    "responseTemplates": {
        "application/json": null
    }
}

Todos 3 comentarios

La solución es pasar una cadena vacía en lugar de null , es decir, --response-templates '{"application/json":""}' , y obtendrá

{
    "statusCode": "200",
    "responseTemplates": {
        "application/json": null
    }
}

Gracias.

Gracias @quiver y @ehammond . Me temo que la "solución alternativa" es en realidad la forma correcta de hacerlo. El hecho es que el servicio apigateway se modela como si esperara una cadena como entrada, por lo que todos los SDK de AWS funcionan de esta manera, y apigateway aparentemente traduce la cadena vacía como nula bajo el capó. Presumiblemente, la misma historia también sucede en la consola de AWS.

¿Fue útil esta página
0 / 5 - 0 calificaciones