Spec-Zone.ru › AWS CLI v2

[ 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 (строка)

Строковый идентификатор связанного RestApi.

--resource-id (строка)

Идентификатор ресурса для нового ресурса метода.

--http-method (строка)

Указывает тип HTTP метода запроса.

--authorization-type (строка)

Тип авторизации метода. Допустимые значения: NONE для открытого доступа, AWS_IAM для использования разрешений AWS IAM, CUSTOM для использования пользовательского авторизатора или COGNITO_USER_POOLS для использования пула пользователей Cognito.

--authorizer-id (строка)

Указывает идентификатор авторизатора, который необходимо использовать для этого метода, если тип — CUSTOM или COGNITO_USER_POOLS. Идентификатор авторизатора генерируется API Gateway при создании авторизатора.

--api-key-required | --no-api-key-required (логическое значение)

Указывает, требуется ли для метода действительный ApiKey.

--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 (строка)

Идентификатор RequestValidator для проверки запроса метода.

--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 -> (строка)

HTTP-глагол метода.

authorizationType -> (строка)

Тип авторизации метода. Допустимые значения — NONE для открытого доступа, AWS_IAM для использования разрешений AWS IAM, CUSTOM для использования пользовательского авторизатора или COGNITO_USER_POOLS для использования пула пользователей Cognito.

authorizerId -> (строка)

Идентификатор авторизатора, используемого в этом методе. authorizationType должен быть CUSTOM .

apiKeyRequired -> (логическое значение)

Логический флаг, указывающий, требуется ли для вызова этого метода действительный ApiKey.

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 -> (строка)

Код HTTP-статуса ответа метода.

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 -> (строка)

Указывает тип HTTP-метода интеграции. Для свойства Type, если вы укажете 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 -> (строка)

Идентификатор VpcLink, используемый для интеграции, когда connectionType=VPC_LINK и неопределено, в противном случае.

credentials -> (строка)

Указывает необходимые учетные данные для интеграции, если таковые имеются. Для интеграций AWS доступны три варианта. Для указания роли IAM, которую должен принять API Gateway, используйте Amazon Resource Name (ARN) роли. Чтобы потребовать, чтобы идентификатор вызывающего передавался из запроса, укажите строку 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 -> (целое число)

Настраиваемая задержка от 50 до 29000 миллисекунд. Значение по умолчанию — 29000 миллисекунд или 29 секунд.

cacheNamespace -> (строка)

Указывает группу связанных кэшированных параметров. По умолчанию API Gateway использует идентификатор ресурса в качестве cacheNamespace . Можно указать один и тот же cacheNamespace для ресурсов, чтобы возвращать одинаковые кэшированные данные для запросов к различным ресурсам.

cacheKeyParameters -> (список)

Список параметров запроса, значения которых кэшируются API Gateway. Чтобы быть допустимыми значениями для cacheKeyParameters , эти параметры также должны быть указаны для метода requestParameters .

(строка)

integrationResponses -> (массив)

Указывает ответы интеграции.

key -> (строка)

value -> (структура)

Представляет ответ интеграции. Код состояния должен соответствовать существующему MethodResponse, и параметры и шаблоны могут использоваться для преобразования ответа бэкенда.

statusCode -> (строка)

Указывает код состояния, используемый для сопоставления ответа интеграции с существующим MethodResponse.

selectionPattern -> (строка)

Указывает регулярное выражение (regex), используемое для выбора ответа интеграции на основе ответа от бэкенда. Например, если ответ об успехе не возвращает ничего, а ответ об ошибке возвращает какую-то строку, можно использовать регулярное выражение .+ для соответствия ответу об ошибке. Однако в таких случаях убедитесь, что ответ об ошибке не содержит символа новой строки (\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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API