Table: aws_api_gatewayv2_integration - Query AWS API Gateway Integrations using SQL
The AWS API Gateway Integrations is a feature within the Amazon API Gateway service that allows you to integrate backend operations such as Lambda functions, HTTP endpoints, and other AWS services into your API. These integrations enable your API to interact with these services, processing incoming requests and returning responses to the client. This functionality aids in creating efficient, scalable, and secure APIs.
Table Usage Guide
The aws_api_gatewayv2_integration
table in Steampipe provides you with information about each integration within AWS API Gateway. This table allows you as a DevOps engineer to query integration-specific details, including the integration type, API Gateway ID, integration method, and more. You can utilize this table to gather insights on integrations, such as integration protocols, request templates, and connection type. The schema outlines the various attributes of the integration for you, including the integration ID, integration response selection expression, integration subtype, and associated tags.
Examples
Basic info
Determine the areas in which specific integrations are being used within AWS API Gateway. This can help in understanding the scope and purpose of these integrations, aiding in efficient system management and optimization.Explore the different types of integrations within your AWS API Gateway and understand their respective roles and characteristics. This can help you manage and optimize your API configurations effectively.
select integration_id, api_id, integration_type, integration_uri, descriptionfrom aws_api_gatewayv2_integration;
select integration_id, api_id, integration_type, integration_uri, descriptionfrom aws_api_gatewayv2_integration;
Count of integrations per API
Explore which APIs have the most integrations to identify potential areas of complexity or high usage. This can help in managing resources and planning future developments.Analyze the distribution of integrations across different APIs to understand the extent of their utilization. This can help identify heavily used APIs, potentially indicating areas for performance optimization or resource allocation.
select api_id, count(integration_id) as integration_countfrom aws_api_gatewayv2_integrationgroup by api_id;
select api_id, count(integration_id) as integration_countfrom aws_api_gatewayv2_integrationgroup by api_id;
Query examples
Schema for aws_api_gatewayv2_integration
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
account_id | text | =, !=, ~~, ~~*, !~~, !~~* | The AWS Account ID in which the resource is located. |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
api_gateway_managed | boolean | Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it. | |
api_id | text | = | Represents the identifier of an API. |
arn | text | The Amazon Resource Name (ARN) specifying the integration. | |
connection_id | text | The ID of the VPC link for a private integration. Supported only for HTTP APIs. | |
connection_type | text | Represents a connection type. | |
content_handling_strategy | text | Specifies how to handle response payload content type conversions. Supported only for WebSocket APIs. | |
credentials_arn | text | Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). | |
description | text | Represents the description of an integration. | |
integration_id | text | = | Represents the identifier of an integration. |
integration_method | text | Specifies the integration's HTTP method type. | |
integration_response_selection_expression | text | An expression used to extract information at runtime. See Selection Expressions(https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions for more information. | |
integration_subtype | text | A string with a length between [1-128]. | |
integration_type | text | Represents an API method integration type. | |
integration_uri | text | A string representation of a URI with a length between [1-2048]. For a Lambda integration, specify the URI of a Lambda function. For an HTTP integration, specify a fully-qualified URL. | |
partition | text | The AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov). | |
passthrough_behavior | text | Represents passthrough behavior for an integration response. Supported only for WebSocket APIs. | |
payload_format_version | text | Specifies the format of the payload sent to an integration. Required for HTTP APIs. | |
region | text | The AWS Region in which the resource is located. | |
request_parameters | jsonb | For HTTP API itegrations, without a specified integrationSubtype request parameters are a key-value map specifying how to transform HTTP requests before sending them to backend integrations. The key should follow the pattern <action>:<header|querystring|path>.<location>. The action can be append, overwrite or remove. For values, you can provide static values, or map request data, stage variables, or context variables that are evaluated at runtime. To learn more, see Transforming API requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html). | |
request_templates | jsonb | Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs. | |
response_parameters | jsonb | API requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html). | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
template_selection_expression | text | The template selection expression for the integration. Supported only for WebSocket APIs. | |
timeout_in_millis | bigint | Indicates custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. | |
title | text | Title of the resource. | |
tls_config | jsonb | The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs. |
Export
This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.
You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh
script:
/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws
You can pass the configuration to the command with the --config
argument:
steampipe_export_aws --config '<your_config>' aws_api_gatewayv2_integration