serverless/docs/getting-started.md

117 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
title: Setting Up Serverless Framework With AWS
layout: Doc
-->
# Setting Up Serverless Framework With AWS
Get started with Serverless Frameworks open-source CLI and AWS in minutes.
## Installation
Install the `serverless` CLI via NPM:
```bash
npm install -g serverless
```
Note: If you dont already have Node on your machine, [install it first](https://nodejs.org/). If you don't want to install Node or NPM, you can [install `serverless` as a standalone binary](./install-standalone.md).
### Upgrade
You can upgrade the CLI later by running the same command: `npm install -g serverless`.
To upgrade to a specific major version, specify it like this: `npm install -g serverless@2`. If you installed `serverless` as a standalone binary, [read this documentation instead](./install-standalone.md).
## Getting started
To create your first project, run the command below and follow the prompts:
```bash
# Create a new serverless project
serverless
# Move into the newly created directory
cd your-service-name
```
The `serverless` command will guide you to:
1. create a new project
2. configure [AWS credentials](https://serverless.com/framework/docs/providers/aws/guide/credentials/)
3. optionally set up a free [Serverless Dashboard](https://www.serverless.com/monitoring) account to monitor and troubleshoot your project
_Note: users based in China get a setup centered around the chinese [Tencent](https://intl.cloud.tencent.com/) provider. To use AWS instead, set the following environment variable: `SERVERLESS_PLATFORM_VENDOR=aws`._
Your new serverless project should contain a `serverless.yml` file. This file defines what will be deployed to AWS: functions, events, resources and more. You can learn more about this in the [Core Concepts documentation](./providers/aws/guide/intro.md).
If the templates proposed by `serverless` do not fit your needs, check out the [project examples from Serverless Inc. and our community](https://www.serverless.com/examples/). You can install any example by passing a GitHub URL using the `--template-url` option:
```sh
serverless --template-url=https://github.com/serverless/examples/tree/v3/...
```
### Deploying
If you haven't done so already within the `serverless` command, you can deploy the project at any time by running:
```bash
serverless deploy
```
The deployed functions, resources and URLs will be displayed in the command output.
[Learn more about deploying](./providers/aws/guide/deploying.md).
### Invoking function
If you deployed an API, querying its URL will trigger the associated Lambda function. You can find that URL in the `serverless deploy` output, or retrieve it later via `serverless info`.
If you deployed a function that isn't exposed via a URL, you can invoke it via:
```bash
serverless invoke -f hello
# Invoke and display logs:
serverless invoke -f hello --log
```
### Fetching function logs
All logs generated by a function's invocation are automatically stored in AWS CloudWatch. Retrieve those logs in the CLI via:
```bash
serverless logs -f hello
# Tail logs
serverless logs -f hello --tail
```
### Monitoring
You can monitor and debug Lambda functions and APIs via the [Serverless Dashboard](https://www.serverless.com/monitoring).
To set it up, run the following command in an existing project and follow the prompts:
```bash
serverless
```
### Remove your service
If you want to delete your service, run `serverless remove`. This will delete all the AWS resources created by your project and ensure that you don't incur any unexpected charges. It will also remove the service from Serverless Dashboard.
```bash
serverless remove
```
## What's next
Now that Serverless Framework is installed, here is what you can do next:
- Follow the [tutorial to create an example HTTP API with Node](./tutorial.md)
- Learn about the [core concepts in Serverless Framework](./providers/aws/guide/intro.md)
- [Redeploy a single function](./providers/aws/guide/deploying.md#deploy-function) for iterating faster while developing
- Discover all the [events that can trigger Lambda functions](https://www.serverless.com/framework/docs/providers/aws/guide/events)
- Check out the [plugins registry](https://www.serverless.com/plugins)