[ aws . apigateway ]
put-method
Описание
Добавление метода к существующему ресурсу.
См. также: Документация AWS API
Синтаксис
put-method
--rest-api-id <value>
--resource-id <value>
--http-method <value>
--authorization-type <value>
[--authorizer-id <value>]
[--api-key-required | --no-api-key-required]
[--operation-name <value>]
[--request-parameters <value>]
[--request-models <value>]
[--request-validator-id <value>]
[--authorization-scopes <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 (строка)
--authorization-type (строка)
NONE для открытого доступа, AWS_IAM для использования разрешений AWS IAM, CUSTOM для использования пользовательского авторизатора или COGNITO_USER_POOLS для использования пула пользователей Cognito.--authorizer-id (строка)
--api-key-required | --no-api-key-required (логическое значение)
--operation-name (строка)
operationName значение ListPets для метода GET /pets в примере PetStore.--request-parameters (массив)
Ключевое-значение массив, определяющий обязательные или необязательные параметры запроса метода, которые могут быть приняты API Gateway. Ключ определяет имя параметра запроса метода, соответствующее шаблону method.request.{location}.{name} , где location — querystring , path или header, а name — допустимое и уникальное имя параметра. Значение, связанное с ключом, является логическим флагом, указывающим, является ли параметр обязательным (true) или необязательным (false). Имена параметров запроса метода, определенные здесь, доступны в интеграции для сопоставления с параметрами запроса интеграции или шаблонами сопоставления тела.
ключ -> (строка)
значение -> (логическое значение)
Краткая запись:
KeyName1=boolean,KeyName2=boolean
Синтаксис JSON:
{"string": true|false
...}
--request-models (массив)
Указывает ресурсы модели, используемые для типа содержимого запроса. Модели запроса представляются как карта ключ/значение, где тип содержимого — ключ, а имя модели — значение.
ключ -> (строка)
значение -> (строка)
Краткая запись:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--request-validator-id (строка)
--authorization-scopes (список)
Список областей авторизации, настроенных для метода. Области используются с авторизатором COGNITO_USER_POOLS для авторизации вызова метода. Авторизация выполняется путем сопоставления областей метода с областями, полученными из маркера доступа в входящем запросе. Вызов метода авторизуется, если любая область метода совпадает с заявленной областью в марке доступа. В противном случае вызов не авторизуется. При настройке области метода клиент должен предоставить маркер доступа вместо маркера идентификатора для целей авторизации.
(строка)
Синтаксис:
"string" "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
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/окружения.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/выключить вывод в цвете.
- on
- off
- auto
--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-like. Эти примеры необходимо адаптировать к правилам кавычек вашей терминальной среды. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Для создания метода для ресурса в API без авторизации, без API key и с пользовательским заголовком запроса метода
Команда:
aws apigateway put-method --rest-api-id 1234123412 --resource-id a1b2c3 --http-method PUT --authorization-type "NONE" --no-api-key-required --request-parameters "method.request.header.custom-header=false"
Вывод
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 для быстрого поиска имени хоста. Для API, основанных на действиях служб Amazon Web Services, можно использовать действие, используя строку запроса Action={name}&{p1}={v1}&p2={v2}… . Последующее {service_api} относится к поддерживаемому действию {name} плюс все необходимые входные параметры. В качестве альтернативы, для 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.