[ aws . apigatewayv2 ]
создать-интеграцию
Описание
Создаёт интеграцию.
См. также: AWS API документацию
Синтаксис
create-integration
--api-id <value>
[--connection-id <value>]
[--connection-type <value>]
[--content-handling-strategy <value>]
[--credentials-arn <value>]
[--description <value>]
[--integration-method <value>]
[--integration-subtype <value>]
--integration-type <value>
[--integration-uri <value>]
[--passthrough-behavior <value>]
[--payload-format-version <value>]
[--request-parameters <value>]
[--request-templates <value>]
[--response-parameters <value>]
[--template-selection-expression <value>]
[--timeout-in-millis <value>]
[--tls-config <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]
Параметры
--api-id (строка)
--connection-id (строка)
--connection-type (строка)
Тип сетевого подключения к точке интеграции. Укажите INTERNET для подключений через общедоступный маршрутизируемый интернет или VPC_LINK для частных подключений между API Gateway и ресурсами в VPC. По умолчанию используется INTERNET.
Возможные значения:
INTERNETVPC_LINK
--content-handling-strategy (строка)
Поддерживается только для WebSocket API. Указывает, как обрабатывать преобразования типов содержимого полезной нагрузки ответа. Поддерживаемые значения — CONVERT_TO_BINARY и CONVERT_TO_TEXT, с соответствующим поведением:
CONVERT_TO_BINARY: Преобразует полезную нагрузку ответа из Base64-кодированной строки в соответствующий двоичный фрагмент.
CONVERT_TO_TEXT: Преобразует полезную нагрузку ответа из двоичного фрагмента в Base64-кодированную строку.
Если этот параметр не определен, полезная нагрузка ответа будет передана от ответа интеграции к ответу маршрута или методу без изменений.
Возможные значения:
CONVERT_TO_BINARYCONVERT_TO_TEXT
--credentials-arn (строка)
--description (строка)
--integration-method (строка)
--integration-subtype (строка)
--integration-type (строка)
Тип интеграции. Один из следующих:
AWS: для интеграции запроса маршрута или метода с действием службы AWS, включая действие вызова функции Lambda. В случае действия вызова функции Lambda это называется Lambda custom интеграция. В случае любого другого действия службы AWS это называется AWS интеграция. Поддерживается только для WebSocket API.
AWS_PROXY: для интеграции запроса маршрута или метода с функцией Lambda или другим действием службы AWS. Эта интеграция также называется Lambda proxy интеграция.
HTTP: для интеграции запроса маршрута или метода с HTTP-точкой. Эта интеграция также называется HTTP custom интеграция. Поддерживается только для WebSocket API.
HTTP_PROXY: для интеграции запроса маршрута или метода с HTTP-точкой, при этом запрос клиента передается как есть. Также называется HTTP proxy интеграция. Для частных интеграций HTTP API используйте интеграцию HTTP_PROXY.
MOCK: для интеграции запроса маршрута или метода с API Gateway в качестве конечной точки «петли обратной связи» без вызова любого бэкэнда. Поддерживается только для WebSocket API.
Возможные значения:
AWSHTTPMOCKHTTP_PROXYAWS_PROXY
--integration-uri (строка)
Для интеграции Lambda укажите URI функции Lambda.
Для HTTP-интеграции укажите полную URL-адрес.
Для частной интеграции HTTP API укажите ARN слушателя Application Load Balancer, Network Load Balancer или службы AWS Cloud Map. Если вы укажете ARN службы AWS Cloud Map, API Gateway использует DiscoverInstances для идентификации ресурсов. Вы можете использовать параметры запроса для указания конкретных ресурсов. Дополнительную информацию см. в разделе DiscoverInstances. Для частных интеграций все ресурсы должны принадлежать одному и тому же аккаунту AWS.
--passthrough-behavior (строка)
Указывает поведение прохождения входящих запросов на основе заголовка Content-Type в запросе и доступных шаблонов отображения, указанных в свойстве requestTemplates ресурса Integration. Существует три допустимых значения: WHEN_NO_MATCH, WHEN_NO_TEMPLATES и NEVER. Поддерживается только для WebSocket API.
WHEN_NO_MATCH пропускает тело запроса для типов содержимого без сопоставления в бэкэнд интеграции без преобразования.
NEVER отклоняет несопоставленные типы содержимого с ответом HTTP 415 Unsupported Media Type.
WHEN_NO_TEMPLATES позволяет прохождение, когда у интеграции нет типов содержимого, сопоставленных с шаблонами. Однако, если определен хотя бы один тип содержимого, несопоставленные типы содержимого будут отклонены с тем же ответом HTTP 415 Unsupported Media Type.
Возможные значения:
WHEN_NO_MATCHNEVERWHEN_NO_TEMPLATES
--payload-format-version (строка)
--request-parameters (массив)
Для WebSocket API представляет собой карту ключ-значение, задающую параметры запроса, которые передаются из запроса метода в бэкэнд. Ключ — имя параметра запроса интеграции, а связанное значение — значение параметра запроса метода или статическое значение, которое должно быть заключено в одинарные кавычки и предварительно закодировано в соответствии с требованиями бэкэнда. Значение параметра запроса метода должно соответствовать шаблону method.request.{location}.{name}, где {location} — querystring, path или header; а {name} — допустимое и уникальное имя параметра запроса метода.
Для HTTP API-интеграций со специфицированным integrationSubtype параметры запроса — карта ключ-значение, задающая параметры, которые передаются в интеграции AWS_PROXY. Вы можете предоставить статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые вычисляются во время выполнения. Дополнительную информацию см. в разделе Работа с интеграциями служб AWS для HTTP API.
Для HTTP API-интеграций без указанного integrationSubtype параметры запроса представляют собой карту ключ-значение, определяющую, как преобразовать HTTP-запросы перед отправкой их в бэкэнд. Ключ должен соответствовать шаблону <action>:<header|querystring|path>.<location>, где действие может быть append, overwrite или remove. Для значений вы можете предоставить статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые вычисляются во время выполнения. Дополнительную информацию см. в разделе Преобразование запросов и ответов API.
ключ -> (строка)
значение -> (строка)
Сокращенная запись:
KeyName1=string,KeyName2=string
Формат JSON:
{"string": "string"
...}
--request-templates (массив)
Представляет собой карту шаблонов Velocity, которые применяются к полезной нагрузке запроса в зависимости от значения заголовка Content-Type, отправленного клиентом. Значение типа содержимого является ключом в этой карте, а шаблон (как строка) — значением. Поддерживается только для WebSocket API.
ключ -> (строка)
значение -> (строка)
Сокращенная запись:
KeyName1=string,KeyName2=string
Формат JSON:
{"string": "string"
...}
--response-parameters (массив)
Поддерживается только для HTTP API. Используйте параметры ответа для преобразования HTTP-ответа от бэкэнд-интеграции перед возвращением ответа клиентам. Укажите карту ключ-значение из ключа выбора к параметрам ответа. Ключ выбора должен быть допустимым кодом HTTP-статуса в диапазоне от 200 до 599. Параметры ответа — это карта ключ-значение. Ключ должен соответствовать шаблону <action>:<header>.<location> или overwrite.statuscode. Действие может быть append, overwrite или remove. Значение может быть статическим значением или сопоставлено с данными ответа, переменными стадии или переменными контекста, которые вычисляются во время выполнения. Дополнительную информацию см. в разделе Преобразование запросов и ответов API.
ключ -> (строка)
значение -> (массив)
Для WebSocket API представляет собой карту ключ-значение, задающую параметры запроса, которые передаются из запроса метода в бэкэнд. Ключ — имя параметра запроса интеграции, а связанное значение — значение параметра запроса метода или статическое значение, которое должно быть заключено в одинарные кавычки и предварительно закодировано в соответствии с требованиями бэкэнда. Значение параметра запроса метода должно соответствовать шаблону method.request.{location}.{name}, где {location} — querystring, path или header; а {name} — допустимое и уникальное имя параметра запроса метода.
Для HTTP API-интеграций со специфицированным integrationSubtype параметры запроса — карта ключ-значение, задающая параметры, которые передаются в интеграции AWS_PROXY. Вы можете предоставить статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые вычисляются во время выполнения. Дополнительную информацию см. в разделе Работа с интеграциями служб AWS для HTTP API.
Для HTTP API-интеграций без указанного integrationSubtype параметры запроса представляют собой карту ключ-значение, определяющую, как преобразовать HTTP-запросы перед отправкой их в бэкэнд. Ключ должен соответствовать шаблону <action>:<header|querystring|path>.<location>, где действие может быть append, overwrite или remove. Для значений вы можете предоставить статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые вычисляются во время выполнения. Дополнительную информацию см. в разделе Преобразование запросов и ответов API.
ключ -> (строка)
значение -> (строка)
Сокращенная запись:
KeyName1=KeyName1=string,KeyName2=string,KeyName2=KeyName1=string,KeyName2=string
Формат JSON:
{"string": {"string": "string"
...}
...}
--template-selection-expression (строка)
--timeout-in-millis (целое число)
--tls-config (структура)
Конфигурация TLS для частной интеграции. Если вы укажете конфигурацию TLS, трафик частной интеграции использует протокол HTTPS. Поддерживается только для HTTP API.
ServerNameToVerify -> (строка)
Сокращенная запись:
ServerNameToVerify=string
Формат JSON:
{
"ServerNameToVerify": "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 команды на предоставленный.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет стандартное поведение проверки SSL-сертификатов.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI сделает только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования вывода команды.
- json
- текст
- таблица
- 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 версии 1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, соответствующего двоичному блоку, 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.
Для создания WebSocket API интеграции
Следующий create-integration пример создает эмуляцию интеграции для WebSocket API.
aws apigatewayv2 create-integration \
--api-id aabbccddee \
--passthrough-behavior WHEN_NO_MATCH \
--timeout-in-millis 29000 \
--connection-type INTERNET \
--integration-type MOCK
Вывод:
{
"ConnectionType": "INTERNET",
"IntegrationId": "0abcdef",
"IntegrationResponseSelectionExpression": "${integration.response.statuscode}",
"IntegrationType": "MOCK",
"PassthroughBehavior": "WHEN_NO_MATCH",
"PayloadFormatVersion": "1.0",
"TimeoutInMillis": 29000
}
Для получения более подробной информации см. Настройка запроса интеграции WebSocket API в API Gateway в руководстве разработчика Amazon API Gateway.
Для создания HTTP API интеграции
Следующий create-integration пример создает AWS Lambda интеграцию для HTTP API.
aws apigatewayv2 create-integration \
--api-id a1b2c3d4 \
--integration-type AWS_PROXY \
--integration-uri arn:aws:lambda:us-west-2:123456789012:function:my-function \
--payload-format-version 2.0
Вывод:
{
"ConnectionType": "INTERNET",
"IntegrationId": "0abcdef",
"IntegrationMethod": "POST",
"IntegrationType": "AWS_PROXY",
"IntegrationUri": "arn:aws:lambda:us-west-2:123456789012:function:my-function",
"PayloadFormatVersion": "2.0",
"TimeoutInMillis": 30000
}
Для получения более подробной информации см. Настройка интеграций для HTTP API в руководстве разработчика Amazon API Gateway.
Вывод
ApiGatewayManaged -> (boolean)
ConnectionId -> (string)
ConnectionType -> (string)
ContentHandlingStrategy -> (string)
Поддерживается только для WebSocket API. Указывает, как обрабатывать преобразования типов содержимого полезной нагрузки ответа. Поддерживаемые значения — CONVERT_TO_BINARY и CONVERT_TO_TEXT, с соответствующим поведением:
CONVERT_TO_BINARY: Преобразует полезную нагрузку ответа из Base64-строки в соответствующий двоичный блок.
CONVERT_TO_TEXT: Преобразует полезную нагрузку ответа из двоичного блока в Base64-строку.
Если этот параметр не определён, полезная нагрузка ответа будет передана из ответа интеграции в ответ маршрута или метод ответа без изменений.
CredentialsArn -> (string)
Description -> (string)
IntegrationId -> (string)
IntegrationMethod -> (string)
IntegrationResponseSelectionExpression -> (string)
IntegrationSubtype -> (string)
IntegrationType -> (string)
Тип интеграции интеграции. Один из следующих:
AWS: для интеграции запроса маршрута или метода с действием службы AWS, включая действие вызова функции Lambda. С действием вызова функции Lambda это называется Lambda пользовательской интеграцией. С любым другим действием службы AWS это называется интеграцией AWS. Поддерживается только для WebSocket API.
AWS_PROXY: для интеграции запроса маршрута или метода с функцией Lambda или другим действием службы AWS. Эта интеграция также называется Lambda прокси-интеграцией.
HTTP: для интеграции запроса маршрута или метода с конечной точкой HTTP. Эта интеграция также называется HTTP пользовательской интеграцией. Поддерживается только для WebSocket API.
HTTP_PROXY: для интеграции запроса маршрута или метода с HTTP конечной точкой, при этом запрос клиента передаётся как есть. Это также называется HTTP прокси-интеграцией.
MOCK: для интеграции запроса маршрута или метода с API Gateway в качестве конечной точки «обратной связи» без вызова какого-либо бэкенда. Поддерживается только для WebSocket API.
IntegrationUri -> (string)
Для интеграции Lambda укажите URI функции Lambda.
Для HTTP интеграции укажите полный URL.
Для приватной интеграции HTTP API укажите ARN слушателя Application Load Balancer, Network Load Balancer или службы AWS Cloud Map. Если вы указываете ARN службы AWS Cloud Map, API Gateway использует DiscoverInstances для идентификации ресурсов. Вы можете использовать параметры запроса для выбора конкретных ресурсов. Чтобы узнать больше, см. DiscoverInstances. Для приватных интеграций все ресурсы должны принадлежать одному и тому же аккаунту AWS.
PassthroughBehavior -> (string)
Указывает поведение прохода для входящих запросов, основываясь на заголовке Content-Type в запросе и доступных шаблонах сопоставления, указанных как свойство requestTemplates в ресурсе Integration. Существует три допустимых значения: WHEN_NO_MATCH, WHEN_NO_TEMPLATES и NEVER. Поддерживается только для WebSocket API.
WHEN_NO_MATCH пропускает тело запроса для несопоставленных типов содержимого в бэкенд интеграции без преобразования.
NEVER отклоняет несопоставленные типы содержимого с ответом HTTP 415 Unsupported Media Type.
WHEN_NO_TEMPLATES допускает проход, когда у интеграции нет типов содержимого, сопоставленных с шаблонами. Однако, если определён хотя бы один тип содержимого, несопоставленные типы содержимого будут отклонены с тем же ответом HTTP 415 Unsupported Media Type.
PayloadFormatVersion -> (string)
RequestParameters -> (map)
Для WebSocket API — карта ключ-значение, определяющая параметры запроса, передаваемые от запроса метода к бэкенду. Ключ — имя параметра запроса интеграции, связанное значение — значение параметра запроса метода или статическое значение, которое должно быть заключено в одинарные кавычки и предварительно закодировано в соответствии с требованиями бэкенда. Значение параметра запроса метода должно соответствовать шаблону method.request.{location}.{name}, где {location} — querystring, path или header; а {name} — допустимое и уникальное имя параметра запроса метода.
Для HTTP API интеграций со специфическим integrationSubtype, параметры запроса — карта ключ-значение, определяющая параметры, передаваемые в AWS_PROXY интеграции. Вы можете указать статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые оцениваются во время выполнения. Чтобы узнать больше, см. Работа с интеграциями служб AWS для HTTP API.
Для HTTP API интеграций без указанного integrationSubtype параметры запроса — карта ключ-значение, определяющая, как преобразовать HTTP запросы перед отправкой в бэкенд интеграции. Ключ должен следовать шаблону <действие>:<header|querystring|path>.<местоположение>. Действие может быть append, overwrite или remove. Для значений можно указать статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые оцениваются во время выполнения. Чтобы узнать больше, см. Преобразование API запросов и ответов.
key -> (string)
value -> (string)
RequestTemplates -> (map)
Представляет карту Velocity шаблонов, которые применяются к полезной нагрузке запроса на основе значения заголовка Content-Type, отправленного клиентом. Значение типа содержимого — ключ в этой карте, а шаблон (как строка) — значение. Поддерживается только для WebSocket API.
key -> (string)
value -> (string)
ResponseParameters -> (map)
Поддерживается только для HTTP API. Используйте параметры ответа для преобразования HTTP ответа от бэкенд интеграции перед возвращением ответа клиентам. Укажите карту ключ-значение из ключа выбора в параметры ответа. Ключ выбора должен быть допустимым кодом HTTP статуса в диапазоне 200-599. Параметры ответа — карта ключ-значение. Ключ должен соответствовать шаблону <действие>:<заголовок>.<местоположение> или overwrite.statuscode. Действие может быть append, overwrite или remove. Значение может быть статическим значением или сопоставляться с данными ответа, переменными стадии или переменными контекста, которые оцениваются во время выполнения. Чтобы узнать больше, см. Преобразование API запросов и ответов.
key -> (string)
value -> (map)
Для WebSocket API, карта ключ-значение, определяющая параметры запроса, которые передаются от запроса метода к бэкенду. Ключ - имя параметра запроса интеграции, а связанное значение - значение параметра запроса метода или статическое значение, которое должно быть заключено в одинарные кавычки и предварительно закодировано, как требуется бэкендом. Значение параметра запроса метода должно соответствовать шаблону method.request.{location}.{name}, где {location} это querystring, path, или header; и {name} — это допустимое и уникальное имя параметра запроса метода.
Для HTTP API интеграций со специфическим integrationSubtype, параметры запроса — карта ключ-значение, определяющая параметры, передаваемые в AWS_PROXY интеграции. Вы можете указать статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые оцениваются во время выполнения. Чтобы узнать больше, см. Работа с интеграциями служб AWS для HTTP API.
Для HTTP API интеграций без указанного integrationSubtype параметры запроса — это карта ключ-значение, определяющая, как преобразовать HTTP запросы перед отправкой их в бэкенд. Ключ должен соответствовать шаблону <действие>:<header|querystring|path>.<location>, где действие может быть append, overwrite или remove. Для значений можно указать статические значения или сопоставить данные запроса, переменные стадии или переменные контекста, которые оцениваются во время выполнения. Чтобы узнать больше, см. Преобразование API запросов и ответов.
key -> (string)
value -> (string)
TemplateSelectionExpression -> (string)
TimeoutInMillis -> (integer)
TlsConfig -> (structure)
Конфигурация TLS для приватной интеграции. Если вы указываете конфигурацию TLS, трафик приватной интеграции использует протокол HTTPS. Поддерживается только для HTTP API.
ServerNameToVerify -> (string)
© Copyright 2025, Amazon Web Services. Created using Sphinx.