steampipe plugin install aws

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,
description
from
aws_api_gatewayv2_integration;
select
integration_id,
api_id,
integration_type,
integration_uri,
description
from
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_count
from
aws_api_gatewayv2_integration
group by
api_id;
select
api_id,
count(integration_id) as integration_count
from
aws_api_gatewayv2_integration
group by
api_id;

Schema for aws_api_gatewayv2_integration

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form, e.g. connection_name.
account_idtextThe AWS Account ID in which the resource is located.
akasjsonbArray of globally unique identifier strings (also known as) for the resource.
api_gateway_managedbooleanSpecifies 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_idtext=Represents the identifier of an API.
arntextThe Amazon Resource Name (ARN) specifying the integration.
connection_idtextThe ID of the VPC link for a private integration. Supported only for HTTP APIs.
connection_typetextRepresents a connection type.
content_handling_strategytextSpecifies how to handle response payload content type conversions. Supported only for WebSocket APIs.
credentials_arntextSpecifies 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).
descriptiontextRepresents the description of an integration.
integration_idtext=Represents the identifier of an integration.
integration_methodtextSpecifies the integration's HTTP method type.
integration_response_selection_expressiontextAn 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_subtypetextA string with a length between [1-128].
integration_typetextRepresents an API method integration type.
integration_uritextA 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.
partitiontextThe AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov).
passthrough_behaviortextRepresents passthrough behavior for an integration response. Supported only for WebSocket APIs.
payload_format_versiontextSpecifies the format of the payload sent to an integration. Required for HTTP APIs.
regiontextThe AWS Region in which the resource is located.
request_parametersjsonbFor 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_templatesjsonbRepresents 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_parametersjsonbAPI requests and responses (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html).
template_selection_expressiontextThe template selection expression for the integration. Supported only for WebSocket APIs.
timeout_in_millisbigintIndicates 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.
titletextTitle of the resource.
tls_configjsonbThe 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