[ aws . apigateway ]
update-method
Описание
Обновляет существующий ресурс метода.
См. также: Документация AWS API
Синтаксис
update-method
--rest-api-id <value>
--resource-id <value>
--http-method <value>
[--patch-operations <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--rest-api-id (строка)
--resource-id (строка)
--http-method (строка)
--patch-operations (список)
Для получения дополнительной информации об поддерживаемых операциях исправления, см. Операции исправления .
(структура)
Для получения дополнительной информации об поддерживаемых операциях исправления, см. Операции исправления .
op -> (строка)
path -> (строка)
value -> (строка)
from -> (строка)
Сокращенный синтаксис:
op=string,path=string,value=string,from=string ...
Синтаксис JSON:
[
{
"op": "add"|"remove"|"replace"|"move"|"copy"|"test",
"path": "string",
"value": "string",
"from": "string"
}
...
]
--cli-input-json | --cli-input-yaml (строка) Считывает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные значения с помощью значения, предоставленного в JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если предоставлено без значения или со значением input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно валидирует входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (булево)
Включить отладку логирования.
--endpoint-url (строка)
Переопределить URL по умолчанию команды заданным URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого соединения SSL AWS CLI проверит сертификаты SSL. Этот параметр переопределяет стандартное поведение проверки сертификатов SSL.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI сделает только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команды.
- json
- text
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла учетных данных.
--region (строка)
Используемый регион. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/выключить вывод цвета.
- включено
- выключено
- автоматически
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Набор сертификатов CA для использования при проверке сертификатов SSL. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь тайм-аута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь тайм-аута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, fileb:// всегда будет рассматриваться как двоичный и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла необходимо правильно отформатировать для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить кли-паджер для вывода.
--cli-auto-prompt (булево)
Автоматически запросить параметры входных данных CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросы параметров входных данных CLI.
Примеры
Примечание
Для использования следующих примеров, вы должны иметь установленный и настроенный AWS CLI. Для получения дополнительной информации см. руководство по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования похожие на UNIX. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Пример 1: Модификация метода для требования API-ключа
Следующий update-method пример изменяет метод, чтобы потребовать API-ключ.
aws apigateway update-method \
--rest-api-id 1234123412 \
--resource-id a1b2c3 \
--http-method GET \
--patch-operations op="replace",path="/apiKeyRequired",value="true"
Вывод:
{
"httpMethod": "GET",
"authorizationType": "NONE",
"apiKeyRequired": true,
"methodResponses": {
"200": {
"statusCode": "200",
"responseModels": {}
}
},
"methodIntegration": {
"type": "AWS",
"httpMethod": "POST",
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations",
"passthroughBehavior": "WHEN_NO_MATCH",
"contentHandling": "CONVERT_TO_TEXT",
"timeoutInMillis": 29000,
"cacheNamespace": "h7i8j9",
"cacheKeyParameters": [],
"integrationResponses": {
"200": {
"statusCode": "200",
"responseTemplates": {}
}
}
}
}
Пример 2: Модификация метода для требования авторизации IAM
Следующий update-method пример изменяет метод, чтобы потребовать авторизацию IAM.
aws apigateway update-method \
--rest-api-id 1234123412 \
--resource-id a1b2c3 \
--http-method GET \
--patch-operations op="replace",path="/authorizationType",value="AWS_IAM"
Вывод:
{
"httpMethod": "GET",
"authorizationType": "AWS_IAM",
"apiKeyRequired": false,
"methodResponses": {
"200": {
"statusCode": "200",
"responseModels": {}
}
},
"methodIntegration": {
"type": "AWS",
"httpMethod": "POST",
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations",
"passthroughBehavior": "WHEN_NO_MATCH",
"contentHandling": "CONVERT_TO_TEXT",
"timeoutInMillis": 29000,
"cacheNamespace": "h7i8j9",
"cacheKeyParameters": [],
"integrationResponses": {
"200": {
"statusCode": "200",
"responseTemplates": {}
}
}
}
}
Пример 3: Модификация метода для требования авторизации Lambda
Следующий update-method пример изменяет метод, чтобы потребовать авторизацию Lambda.
aws apigateway update-method --rest-api-id 1234123412 \
--resource-id a1b2c3 \
--http-method GET \
--patch-operations op="replace",path="/authorizationType",value="CUSTOM" op="replace",path="/authorizerId",value="e4f5g6"
Вывод:
{
"httpMethod": "GET",
"authorizationType": "CUSTOM",
"authorizerId" : "e4f5g6",
"apiKeyRequired": false,
"methodResponses": {
"200": {
"statusCode": "200",
"responseModels": {}
}
},
"methodIntegration": {
"type": "AWS",
"httpMethod": "POST",
"uri": "arn:aws:apigateway:us-east-1:lambda:path/2015-03-31/functions/arn:aws:lambda:us-east-1:123456789111:function:hello-world/invocations",
"passthroughBehavior": "WHEN_NO_MATCH",
"contentHandling": "CONVERT_TO_TEXT",
"timeoutInMillis": 29000,
"cacheNamespace": "h7i8j9",
"cacheKeyParameters": [],
"integrationResponses": {
"200": {
"statusCode": "200",
"responseTemplates": {}
}
}
}
}
Для получения дополнительной информации см. Создание, конфигурирование и тестирование планов использования с помощью API Gateway CLI и REST API и Управление и управление доступом к REST API в API Gateway в Руководстве разработчика Amazon API Gateway.
Выходные данные
httpMethod -> (строка)
authorizationType -> (строка)
NONE для открытого доступа, AWS_IAM для использования разрешений AWS IAM, CUSTOM для использования пользовательского авторизатора или COGNITO_USER_POOLS для использования пула пользователей Cognito.authorizerId -> (строка)
authorizationType должен быть CUSTOM.apiKeyRequired -> (булево)
requestValidatorId -> (строка)
operationName -> (строка)
operationName значение ListPets для метода GET /pets в примере PetStore.requestParameters -> (карта)
Мапа ключ-значение, определяющая необходимые или необязательные параметры запроса к методу, которые могут быть приняты API Gateway. Ключ — это имя параметра запроса к методу, соответствующее шаблону method.request.{location}.{name}, где location — это querystring, path или header, а name — это действительное и уникальное имя параметра. Значение, связанное с ключом, — это флаг булевого типа, указывающий, является ли параметр обязательным (true) или необязательным (false). Имена параметров запроса к методу, определенные здесь, доступны в интеграции для сопоставления с параметрами или шаблонами запроса к интеграции.
key -> (строка)
value -> (булево)
requestModels -> (карта)
Мапа ключ-значение, определяющая схемы данных, представленные ресурсами модели (как сопоставленное значение) полезных нагрузок запроса для определенных типов контента (как сопоставляющий ключ).
key -> (строка)
value -> (строка)
methodResponses -> (карта)
Получает ответ метода, связанный с заданным кодом HTTP-статуса.
key -> (строка)
value -> (структура)
Представляет ответ метода для заданного кода HTTP-статуса, возвращаемого клиенту. Ответ метода передается из бэкенда через связанный ответ интеграции, который можно преобразовать с помощью шаблона сопоставления.
statusCode -> (строка)
responseParameters -> (карта)
Мапа ключ-значение, определяющая необходимые или необязательные параметры ответа, которые API Gateway может отправлять вызывающей стороне. Ключ определяет заголовок ответа метода, а значение определяет, является ли соответствующий заголовок ответа метода обязательным или нет. Выражение ключа должно соответствовать шаблону method.response.header.{name}, где name — это действительное и уникальное имя заголовка. API Gateway передает определенные данные ответа интеграции в заголовки ответа метода, указанные здесь, в соответствии с заданным вами сопоставлением в ответе интеграции API. Данные ответа интеграции, которые можно сопоставить, включают заголовок ответа интеграции, выраженный в integration.response.header.{name}, статическое значение, заключенное в одинарные кавычки (например, 'application/json'), или выражение JSON из полезной нагрузки ответа бэкенда в форме integration.response.body.{JSON-expression}, где JSON-expression — это действительное выражение JSON без префикса $.)
key -> (строка)
value -> (булево)
responseModels -> (карта)
Определяет ресурсы модели, используемые для типа содержимого ответа. Модели ответов представлены в виде мапы «ключ-значение», где тип содержимого — это ключ, а имя модели — значение.
key -> (строка)
value -> (строка)
methodIntegration -> (структура)
Получает интеграцию метода, отвечающую за передачу запроса, отправленного клиентом, на бэкенд и выполнение необходимых преобразований для соответствия запроса требованиям бэкенда.
type -> (строка)
Указывает тип интеграции API-метода. Допустимое значение — одно из следующих:
Для интеграций HTTP и HTTP-прокси каждая интеграция может указать протокол (http/https ), порт и путь. Поддерживаются стандартные порты 80 и 443, а также пользовательские порты выше 1024. Интеграция HTTP или HTTP-прокси с connectionType VPC_LINK называется частной интеграцией и использует VpcLink для подключения API Gateway к балансировщику нагрузки сети VPC.
httpMethod -> (строка)
MOCK, это свойство является необязательным. Для интеграций Lambda вы должны установить метод интеграции на POST. Для всех остальных типов вы должны указать это свойство.uri -> (строка)
Указывает универсальный идентификатор ресурса (URI) конечной точки интеграции.
Для интеграций HTTP или HTTP_PROXY URI должен быть полностью сформированным, закодированным HTTP(S)-URL в соответствии со спецификацией RFC-3986 для стандартных интеграций. Если connectionType является VPC_LINK, укажите DNS-имя балансировщика сети. Для интеграций AWS или AWS_PROXY URI имеет вид arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Здесь {Region} — регион API Gateway (например, us-east-1); {service} — имя интегрированной службы Amazon Web Services (например, s3); а {subdomain} — назначенный поддомен, поддерживаемый некоторыми службами Amazon Web Services для быстрого поиска имени хоста. action может использоваться для API на основе действий службы Amazon Web Services, используя строку запроса Action={name}&{p1}={v1}&p2={v2}… Следующее {service_api} относится к поддерживаемому действию {name} плюс любые необходимые входные параметры. В качестве альтернативы, path может использоваться для API на основе путей службы Amazon Web Services. Следующее {service_api} относится к пути к ресурсу службы Amazon Web Services, включая регион интегрированной службы Amazon Web Services, если применимо. Например, для интеграции с API S3 GetObject URI может быть либо arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key}, либо arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}
connectionType -> (строка)
INTERNET для подключений через общедоступный маршрутизируемый интернет или VPC_LINK для частных подключений между API Gateway и балансировщиком нагрузки сети в VPC. Значение по умолчанию — INTERNET.connectionId -> (строка)
connectionType=VPC_LINK и не определен, в противном случае.credentials -> (строка)
arn:aws:iam::\*:user/\*. Чтобы использовать разрешения на основе ресурсов в поддерживаемых службах Amazon Web Services, укажите null.requestParameters -> (массив)
Ключевое-значение массив, определяющий параметры запроса, передаваемые из запроса метода на бэкенд. Ключ — имя параметра запроса интеграции, а связанное значение — значение параметра запроса метода или статическое значение, которое должно быть заключено в одинарные кавычки и предварительно закодировано в соответствии с требованиями бэкенда. Значение параметра запроса метода должно соответствовать шаблону method.request.{location}.{name}, где location — это querystring, path или header, а name — это допустимое и уникальное имя параметра запроса метода.
key -> (строка)
value -> (строка)
requestTemplates -> (массив)
Представляет собой массив Velocity шаблонов, которые применяются к полезной нагрузке запроса на основе значения заголовка Content-Type, отправленного клиентом. Значение типа содержимого является ключом в этом массиве, а шаблон (как строка) — значением.
key -> (строка)
value -> (строка)
passthroughBehavior -> (строка)
requestTemplates. Допустимое значение — одно из следующих: WHEN_NO_MATCH: передает тело запроса метода в запрос интеграции на бэкенд без преобразования, когда тип содержимого запроса метода не соответствует ни одному из типов содержимого, связанных с шаблонами сопоставления, определенными в запросе интеграции. WHEN_NO_TEMPLATES: передает тело запроса метода в запрос интеграции на бэкенд без преобразования, когда ни один шаблон сопоставления не определен в запросе интеграции. Если шаблон определен при выборе этого параметра, запрос метода с неопределенным типом содержимого будет отклонен с ответом HTTP 415 Unsupported Media Type. NEVER: отклоняет запрос метода с ответом HTTP 415 Unsupported Media Type, если тип содержимого запроса метода не соответствует ни одному из типов содержимого, связанных с шаблонами сопоставления, определенными в запросе интеграции, или если в запросе интеграции не определен ни один шаблон сопоставления.contentHandling -> (строка)
Указывает, как обрабатывать преобразования типов содержимого полезной нагрузки запроса. Поддерживаемые значения — CONVERT_TO_BINARY и CONVERT_TO_TEXT, с соответствующими поведением:
Если это свойство не определено, полезная нагрузка запроса будет передаваться из запроса метода в запрос интеграции без изменений, при условии, что passthroughBehavior настроено на поддержку передачи полезной нагрузки.
timeoutInMillis -> (целое число)
cacheNamespace -> (строка)
cacheNamespace. Вы можете указать тот же cacheNamespace для ресурсов, чтобы возвращать одинаковые кэшированные данные для запросов к различным ресурсам.cacheKeyParameters -> (список)
Список параметров запроса, значения которых API Gateway кеширует. Чтобы быть допустимыми значениями для cacheKeyParameters, эти параметры также должны быть указаны для метода requestParameters.
(строка)
integrationResponses -> (массив)
Определяет ответы интеграции.
key -> (строка)
value -> (структура)
Представляет собой ответ интеграции. Код состояния должен соответствовать существующему MethodResponse, а параметры и шаблоны могут использоваться для преобразования ответа бэкенда.
statusCode -> (строка)
selectionPattern -> (строка)
.+ для соответствия ответу об ошибке. Однако убедитесь, что ответ об ошибке не содержит символов новой строки (\n) в таких случаях. Если бэкендом является функция Lambda, соответствует заголовку ошибки функции Lambda. Для всех других HTTP и бэкендов Amazon Web Services соответствует коду HTTP-статуса.responseParameters -> (массив)
Ключевое-значение массив, определяющий параметры ответа, передаваемые в ответ метода от бэкенда. Ключ — имя параметра заголовка ответа метода, сопоставленное значение — значение заголовка ответа интеграции, статическое значение в одинарных кавычках или JSON-выражение из тела ответа интеграции. Ключ сопоставления должен соответствовать шаблону method.response.header.{name}, где name — это допустимое и уникальное имя заголовка. Сопоставленное нестатическое значение должно соответствовать шаблону integration.response.header.{name} или integration.response.body.{JSON-expression}, где name — это допустимое и уникальное имя заголовка ответа, а JSON-expression — это допустимое JSON-выражение без префикса $.
key -> (строка)
value -> (строка)
responseTemplates -> (массив)
Определяет шаблоны, используемые для преобразования тела ответа интеграции. Шаблоны ответов представлены в виде массива ключ/значение, где тип содержимого является ключом, а шаблон — значением.
key -> (строка)
value -> (строка)
contentHandling -> (строка)
Указывает, как обрабатывать преобразования типов содержимого полезной нагрузки ответа. Поддерживаемые значения — CONVERT_TO_BINARY и CONVERT_TO_TEXT, с соответствующими поведением:
Если это свойство не определено, полезная нагрузка ответа будет передаваться из ответа интеграции в ответ метода без изменений.
tlsConfig -> (структура)
Указывает конфигурацию TLS для интеграции.
insecureSkipVerification -> (логическое значение)
Указывает, пропускает ли API Gateway проверку того, выдан ли сертификат для конечной точки интеграции авторитетным центром сертификации. Это не рекомендуется, но позволяет использовать сертификаты, подписанные частными центрами сертификации, или самоподписанные сертификаты. Если включено, API Gateway по-прежнему выполняет основную проверку сертификата, включая проверку даты окончания срока действия сертификата, имени хоста и наличия корневого сертификата авторитета. Поддерживается только для интеграций HTTP и HTTP_PROXY.
Предупреждение
ВключениеinsecureSkipVerification не рекомендуется, особенно для интеграций с общедоступными HTTPS-конечными точками. Если вы включите insecureSkipVerification, вы увеличиваете риск атак «человек посередине».authorizationScopes -> (список)
Список областей авторизации, настроенных в методе. Области используются с авторизатором COGNITO_USER_POOLS для авторизации вызова метода. Авторизация работает путем сопоставления областей метода с областями, извлеченными из маркера доступа в входящем запросе. Вызов метода авторизуется, если любая область метода соответствует заявленной области в марке доступа. В противном случае вызов не авторизуется. При настройке области метода клиент должен предоставить маркер доступа вместо маркера идентификации для целей авторизации.
(строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.