What is @aws-sdk/client-api-gateway?
@aws-sdk/client-api-gateway is a part of the AWS SDK for JavaScript, which allows developers to interact with the Amazon API Gateway service. This package provides a set of tools to create, deploy, and manage APIs at any scale.
What are @aws-sdk/client-api-gateway's main functionalities?
Create a new API
This feature allows you to create a new REST API in Amazon API Gateway. The code sample demonstrates how to create a new API named 'MyAPI' using the APIGatewayClient and CreateRestApiCommand.
const { APIGatewayClient, CreateRestApiCommand } = require('@aws-sdk/client-api-gateway');
const client = new APIGatewayClient({ region: 'us-west-2' });
const command = new CreateRestApiCommand({ name: 'MyAPI' });
client.send(command).then(
(data) => console.log(data),
(error) => console.error(error)
);
Deploy an API
This feature allows you to deploy an API to a specific stage. The code sample demonstrates how to deploy an API to the 'prod' stage using the APIGatewayClient and CreateDeploymentCommand.
const { APIGatewayClient, CreateDeploymentCommand } = require('@aws-sdk/client-api-gateway');
const client = new APIGatewayClient({ region: 'us-west-2' });
const command = new CreateDeploymentCommand({ restApiId: 'your-rest-api-id', stageName: 'prod' });
client.send(command).then(
(data) => console.log(data),
(error) => console.error(error)
);
Create a resource
This feature allows you to create a new resource under an existing API. The code sample demonstrates how to create a new resource named 'myresource' under a specified parent resource using the APIGatewayClient and CreateResourceCommand.
const { APIGatewayClient, CreateResourceCommand } = require('@aws-sdk/client-api-gateway');
const client = new APIGatewayClient({ region: 'us-west-2' });
const command = new CreateResourceCommand({ restApiId: 'your-rest-api-id', parentId: 'your-parent-id', pathPart: 'myresource' });
client.send(command).then(
(data) => console.log(data),
(error) => console.error(error)
);
Create a method
This feature allows you to create a new method for a resource. The code sample demonstrates how to create a GET method with no authorization for a specified resource using the APIGatewayClient and PutMethodCommand.
const { APIGatewayClient, PutMethodCommand } = require('@aws-sdk/client-api-gateway');
const client = new APIGatewayClient({ region: 'us-west-2' });
const command = new PutMethodCommand({ restApiId: 'your-rest-api-id', resourceId: 'your-resource-id', httpMethod: 'GET', authorizationType: 'NONE' });
client.send(command).then(
(data) => console.log(data),
(error) => console.error(error)
);
Other packages similar to @aws-sdk/client-api-gateway
serverless
The Serverless Framework is a popular open-source framework for building and deploying serverless applications. It supports multiple cloud providers, including AWS, and provides a higher-level abstraction for managing API Gateway resources. Compared to @aws-sdk/client-api-gateway, Serverless Framework offers more features and simplifies the deployment process but may not provide the same level of granular control.
aws-cdk
The AWS Cloud Development Kit (CDK) is an open-source software development framework for defining cloud infrastructure in code and provisioning it through AWS CloudFormation. It allows you to define API Gateway resources using higher-level constructs. Compared to @aws-sdk/client-api-gateway, AWS CDK provides a more abstracted and code-centric approach to managing infrastructure, making it easier to define and deploy complex architectures.
claudia
Claudia.js is a tool for deploying Node.js projects to AWS Lambda and API Gateway. It automates many of the deployment tasks and provides a simple way to create and manage APIs. Compared to @aws-sdk/client-api-gateway, Claudia.js focuses on simplifying the deployment process and is particularly well-suited for developers who want to quickly deploy serverless applications without dealing with the intricacies of API Gateway.
@aws-sdk/client-api-gateway
Description
AWS SDK for JavaScript APIGateway Client for Node.js, Browser and React Native.
Amazon API Gateway
Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.
Installing
To install the this package, simply type add or install @aws-sdk/client-api-gateway
using your favorite package manager:
npm install @aws-sdk/client-api-gateway
yarn add @aws-sdk/client-api-gateway
pnpm add @aws-sdk/client-api-gateway
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the APIGatewayClient
and
the commands you need, for example GetAccountCommand
:
const { APIGatewayClient, GetAccountCommand } = require("@aws-sdk/client-api-gateway");
import { APIGatewayClient, GetAccountCommand } from "@aws-sdk/client-api-gateway";
Usage
To send a request, you:
- Initiate client with configuration (e.g. credentials, region).
- Initiate command with input parameters.
- Call
send
operation on client with command object as input. - If you are using a custom http handler, you may call
destroy()
to close open connections.
const client = new APIGatewayClient({ region: "REGION" });
const params = {
};
const command = new GetAccountCommand(params);
Async/await
We recommend using await
operator to wait for the promise returned by send operation as follows:
try {
const data = await client.send(command);
} catch (error) {
} finally {
}
Async-await is clean, concise, intuitive, easy to debug and has better error handling
as compared to using Promise chains or callbacks.
Promises
You can also use Promise chaining
to execute send operation.
client.send(command).then(
(data) => {
},
(error) => {
}
);
Promises can also be called using .catch()
and .finally()
as follows:
client
.send(command)
.then((data) => {
})
.catch((error) => {
})
.finally(() => {
});
Callbacks
We do not recommend using callbacks because of callback hell,
but they are supported by the send operation.
client.send(command, (err, data) => {
});
v2 compatible style
The client can also send requests using v2 compatible style.
However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post
on modular packages in AWS SDK for JavaScript
import * as AWS from "@aws-sdk/client-api-gateway";
const client = new AWS.APIGateway({ region: "REGION" });
try {
const data = await client.getAccount(params);
} catch (error) {
}
client
.getAccount(params)
.then((data) => {
})
.catch((error) => {
});
client.getAccount(params, (err, data) => {
});
Troubleshooting
When the service returns an exception, the error will include the exception information,
as well as response metadata (e.g. request id).
try {
const data = await client.send(command);
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
}
Getting Help
Please use these community resources for getting help.
We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.
To test your universal JavaScript code in Node.js, browser and react-native environments,
visit our code samples repo.
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-api-gateway
package is updated.
To contribute to client you can check our generate clients scripts.
License
This SDK is distributed under the
Apache License, Version 2.0,
see LICENSE for more information.
Client Commands (Operations List)
CreateApiKey
Command API Reference / Input / Output
CreateAuthorizer
Command API Reference / Input / Output
CreateBasePathMapping
Command API Reference / Input / Output
CreateDeployment
Command API Reference / Input / Output
CreateDocumentationPart
Command API Reference / Input / Output
CreateDocumentationVersion
Command API Reference / Input / Output
CreateDomainName
Command API Reference / Input / Output
CreateModel
Command API Reference / Input / Output
CreateRequestValidator
Command API Reference / Input / Output
CreateResource
Command API Reference / Input / Output
CreateRestApi
Command API Reference / Input / Output
CreateStage
Command API Reference / Input / Output
CreateUsagePlan
Command API Reference / Input / Output
CreateUsagePlanKey
Command API Reference / Input / Output
CreateVpcLink
Command API Reference / Input / Output
DeleteApiKey
Command API Reference / Input / Output
DeleteAuthorizer
Command API Reference / Input / Output
DeleteBasePathMapping
Command API Reference / Input / Output
DeleteClientCertificate
Command API Reference / Input / Output
DeleteDeployment
Command API Reference / Input / Output
DeleteDocumentationPart
Command API Reference / Input / Output
DeleteDocumentationVersion
Command API Reference / Input / Output
DeleteDomainName
Command API Reference / Input / Output
DeleteGatewayResponse
Command API Reference / Input / Output
DeleteIntegration
Command API Reference / Input / Output
DeleteIntegrationResponse
Command API Reference / Input / Output
DeleteMethod
Command API Reference / Input / Output
DeleteMethodResponse
Command API Reference / Input / Output
DeleteModel
Command API Reference / Input / Output
DeleteRequestValidator
Command API Reference / Input / Output
DeleteResource
Command API Reference / Input / Output
DeleteRestApi
Command API Reference / Input / Output
DeleteStage
Command API Reference / Input / Output
DeleteUsagePlan
Command API Reference / Input / Output
DeleteUsagePlanKey
Command API Reference / Input / Output
DeleteVpcLink
Command API Reference / Input / Output
FlushStageAuthorizersCache
Command API Reference / Input / Output
FlushStageCache
Command API Reference / Input / Output
GenerateClientCertificate
Command API Reference / Input / Output
GetAccount
Command API Reference / Input / Output
GetApiKey
Command API Reference / Input / Output
GetApiKeys
Command API Reference / Input / Output
GetAuthorizer
Command API Reference / Input / Output
GetAuthorizers
Command API Reference / Input / Output
GetBasePathMapping
Command API Reference / Input / Output
GetBasePathMappings
Command API Reference / Input / Output
GetClientCertificate
Command API Reference / Input / Output
GetClientCertificates
Command API Reference / Input / Output
GetDeployment
Command API Reference / Input / Output
GetDeployments
Command API Reference / Input / Output
GetDocumentationPart
Command API Reference / Input / Output
GetDocumentationParts
Command API Reference / Input / Output
GetDocumentationVersion
Command API Reference / Input / Output
GetDocumentationVersions
Command API Reference / Input / Output
GetDomainName
Command API Reference / Input / Output
GetDomainNames
Command API Reference / Input / Output
GetExport
Command API Reference / Input / Output
GetGatewayResponse
Command API Reference / Input / Output
GetGatewayResponses
Command API Reference / Input / Output
GetIntegration
Command API Reference / Input / Output
GetIntegrationResponse
Command API Reference / Input / Output
GetMethod
Command API Reference / Input / Output
GetMethodResponse
Command API Reference / Input / Output
GetModel
Command API Reference / Input / Output
GetModels
Command API Reference / Input / Output
GetModelTemplate
Command API Reference / Input / Output
GetRequestValidator
Command API Reference / Input / Output
GetRequestValidators
Command API Reference / Input / Output
GetResource
Command API Reference / Input / Output
GetResources
Command API Reference / Input / Output
GetRestApi
Command API Reference / Input / Output
GetRestApis
Command API Reference / Input / Output
GetSdk
Command API Reference / Input / Output
GetSdkType
Command API Reference / Input / Output
GetSdkTypes
Command API Reference / Input / Output
GetStage
Command API Reference / Input / Output
GetStages
Command API Reference / Input / Output
GetTags
Command API Reference / Input / Output
GetUsage
Command API Reference / Input / Output
GetUsagePlan
Command API Reference / Input / Output
GetUsagePlanKey
Command API Reference / Input / Output
GetUsagePlanKeys
Command API Reference / Input / Output
GetUsagePlans
Command API Reference / Input / Output
GetVpcLink
Command API Reference / Input / Output
GetVpcLinks
Command API Reference / Input / Output
ImportApiKeys
Command API Reference / Input / Output
ImportDocumentationParts
Command API Reference / Input / Output
ImportRestApi
Command API Reference / Input / Output
PutGatewayResponse
Command API Reference / Input / Output
PutIntegration
Command API Reference / Input / Output
PutIntegrationResponse
Command API Reference / Input / Output
PutMethod
Command API Reference / Input / Output
PutMethodResponse
Command API Reference / Input / Output
PutRestApi
Command API Reference / Input / Output
TagResource
Command API Reference / Input / Output
TestInvokeAuthorizer
Command API Reference / Input / Output
TestInvokeMethod
Command API Reference / Input / Output
UntagResource
Command API Reference / Input / Output
UpdateAccount
Command API Reference / Input / Output
UpdateApiKey
Command API Reference / Input / Output
UpdateAuthorizer
Command API Reference / Input / Output
UpdateBasePathMapping
Command API Reference / Input / Output
UpdateClientCertificate
Command API Reference / Input / Output
UpdateDeployment
Command API Reference / Input / Output
UpdateDocumentationPart
Command API Reference / Input / Output
UpdateDocumentationVersion
Command API Reference / Input / Output
UpdateDomainName
Command API Reference / Input / Output
UpdateGatewayResponse
Command API Reference / Input / Output
UpdateIntegration
Command API Reference / Input / Output
UpdateIntegrationResponse
Command API Reference / Input / Output
UpdateMethod
Command API Reference / Input / Output
UpdateMethodResponse
Command API Reference / Input / Output
UpdateModel
Command API Reference / Input / Output
UpdateRequestValidator
Command API Reference / Input / Output
UpdateResource
Command API Reference / Input / Output
UpdateRestApi
Command API Reference / Input / Output
UpdateStage
Command API Reference / Input / Output
UpdateUsage
Command API Reference / Input / Output
UpdateUsagePlan
Command API Reference / Input / Output
UpdateVpcLink
Command API Reference / Input / Output