What is @aws-sdk/client-amplify?
@aws-sdk/client-amplify is a part of the AWS SDK for JavaScript, which allows developers to interact with AWS Amplify, a service for building and deploying mobile and web applications. This package provides methods to manage Amplify apps, branches, domains, and webhooks.
What are @aws-sdk/client-amplify's main functionalities?
Create an Amplify App
This feature allows you to create a new Amplify app by specifying the app name, repository, and platform. The code sample demonstrates how to use the CreateAppCommand to create an app.
const { AmplifyClient, CreateAppCommand } = require('@aws-sdk/client-amplify');
const client = new AmplifyClient({ region: 'us-west-2' });
const createApp = async () => {
const params = {
name: 'MyAmplifyApp',
repository: 'https://github.com/my-repo',
platform: 'WEB'
};
const command = new CreateAppCommand(params);
const response = await client.send(command);
console.log(response);
};
createApp();
List Amplify Apps
This feature allows you to list all the Amplify apps in your account. The code sample demonstrates how to use the ListAppsCommand to retrieve and print the list of apps.
const { AmplifyClient, ListAppsCommand } = require('@aws-sdk/client-amplify');
const client = new AmplifyClient({ region: 'us-west-2' });
const listApps = async () => {
const command = new ListAppsCommand({});
const response = await client.send(command);
console.log(response.apps);
};
listApps();
Create a Branch
This feature allows you to create a new branch in an existing Amplify app. The code sample demonstrates how to use the CreateBranchCommand to create a branch.
const { AmplifyClient, CreateBranchCommand } = require('@aws-sdk/client-amplify');
const client = new AmplifyClient({ region: 'us-west-2' });
const createBranch = async () => {
const params = {
appId: 'd1e2f3g4h5',
branchName: 'new-feature-branch'
};
const command = new CreateBranchCommand(params);
const response = await client.send(command);
console.log(response);
};
createBranch();
Delete an Amplify App
This feature allows you to delete an existing Amplify app. The code sample demonstrates how to use the DeleteAppCommand to delete an app by specifying its appId.
const { AmplifyClient, DeleteAppCommand } = require('@aws-sdk/client-amplify');
const client = new AmplifyClient({ region: 'us-west-2' });
const deleteApp = async () => {
const params = {
appId: 'd1e2f3g4h5'
};
const command = new DeleteAppCommand(params);
const response = await client.send(command);
console.log(response);
};
deleteApp();
Other packages similar to @aws-sdk/client-amplify
aws-amplify
The aws-amplify package is a comprehensive library that provides a declarative interface for interacting with AWS services, including Amplify. It offers higher-level abstractions and is designed to be used in front-end applications, making it easier to integrate AWS services without deep knowledge of the underlying APIs.
serverless
The serverless package is a framework for building and deploying serverless applications on AWS and other cloud providers. While it is not specific to Amplify, it provides tools for managing AWS resources, including Lambda functions, API Gateway, and DynamoDB, which can be used in conjunction with Amplify for a full-stack serverless application.
aws-cdk
The aws-cdk (AWS Cloud Development Kit) is a framework for defining cloud infrastructure using code. It allows you to define AWS resources using familiar programming languages like TypeScript, Python, and Java. While it is more focused on infrastructure as code, it can be used to define and manage Amplify resources as part of a larger infrastructure setup.
@aws-sdk/client-amplify
Description
AWS SDK for JavaScript Amplify Client for Node.js, Browser and React Native.
Amplify enables developers to develop and deploy cloud-powered mobile and web apps.
Amplify Hosting provides a continuous delivery and hosting service for web applications.
For more information, see the Amplify Hosting User Guide. The
Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation
for client app development. For more information, see the Amplify Framework.
Installing
To install this package, simply type add or install @aws-sdk/client-amplify
using your favorite package manager:
npm install @aws-sdk/client-amplify
yarn add @aws-sdk/client-amplify
pnpm add @aws-sdk/client-amplify
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the AmplifyClient
and
the commands you need, for example ListAppsCommand
:
const { AmplifyClient, ListAppsCommand } = require("@aws-sdk/client-amplify");
import { AmplifyClient, ListAppsCommand } from "@aws-sdk/client-amplify";
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 AmplifyClient({ region: "REGION" });
const params = {
};
const command = new ListAppsCommand(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-amplify";
const client = new AWS.Amplify({ region: "REGION" });
try {
const data = await client.listApps(params);
} catch (error) {
}
client
.listApps(params)
.then((data) => {
})
.catch((error) => {
});
client.listApps(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-amplify
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)
CreateApp
Command API Reference / Input / Output
CreateBackendEnvironment
Command API Reference / Input / Output
CreateBranch
Command API Reference / Input / Output
CreateDeployment
Command API Reference / Input / Output
CreateDomainAssociation
Command API Reference / Input / Output
CreateWebhook
Command API Reference / Input / Output
DeleteApp
Command API Reference / Input / Output
DeleteBackendEnvironment
Command API Reference / Input / Output
DeleteBranch
Command API Reference / Input / Output
DeleteDomainAssociation
Command API Reference / Input / Output
DeleteJob
Command API Reference / Input / Output
DeleteWebhook
Command API Reference / Input / Output
GenerateAccessLogs
Command API Reference / Input / Output
GetApp
Command API Reference / Input / Output
GetArtifactUrl
Command API Reference / Input / Output
GetBackendEnvironment
Command API Reference / Input / Output
GetBranch
Command API Reference / Input / Output
GetDomainAssociation
Command API Reference / Input / Output
GetJob
Command API Reference / Input / Output
GetWebhook
Command API Reference / Input / Output
ListApps
Command API Reference / Input / Output
ListArtifacts
Command API Reference / Input / Output
ListBackendEnvironments
Command API Reference / Input / Output
ListBranches
Command API Reference / Input / Output
ListDomainAssociations
Command API Reference / Input / Output
ListJobs
Command API Reference / Input / Output
ListTagsForResource
Command API Reference / Input / Output
ListWebhooks
Command API Reference / Input / Output
StartDeployment
Command API Reference / Input / Output
StartJob
Command API Reference / Input / Output
StopJob
Command API Reference / Input / Output
TagResource
Command API Reference / Input / Output
UntagResource
Command API Reference / Input / Output
UpdateApp
Command API Reference / Input / Output
UpdateBranch
Command API Reference / Input / Output
UpdateDomainAssociation
Command API Reference / Input / Output
UpdateWebhook
Command API Reference / Input / Output