Aws-cli: aws apigateway put-integration-response: значение шаблона ответа `null` не принято

Созданный на 31 окт. 2015  ·  3Комментарии  ·  Источник: aws/aws-cli

Указание null в шаблоне ответа следующим образом:

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}'

приводит к ошибке:

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

Если я заменю null на "Empty" , cli примет параметр:

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

Когда консоль AWS создает тот же метод и я запрашиваю его, значение отображается как null . Кажется, я должен иметь возможность установить для него то же значение через aws-cli.

aws-cli/v1.9.2

guidance

Самый полезный комментарий

Обходной путь заключается в передаче пустой строки вместо null , т.е. --response-templates '{"application/json":""}' , и вы получите

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

Все 3 Комментарий

Обходной путь заключается в передаче пустой строки вместо null , т.е. --response-templates '{"application/json":""}' , и вы получите

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

Спасибо.

Спасибо @quiver и @ehammond . Я боюсь, что «обходной путь» на самом деле правильный способ сделать это. Дело в том, что сервис apigateway моделируется как ожидающий строку в качестве входных данных, поэтому все AWS SDK работают таким образом, и apigateway, по-видимому, под капотом переводит пустую строку как null. Предположительно, та же история происходит и в AWS Console.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги