more notes on AWS SAM
This commit is contained in:
parent
fe0528be0e
commit
dee01c5424
2 changed files with 48 additions and 1 deletions
|
@ -113,3 +113,50 @@ It also lists the `get` event that we can use to call API Gateway and trigger th
|
||||||
The full template is below:
|
The full template is below:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## Adding our own code
|
||||||
|
|
||||||
|
We will create our own function and API Gateway trigger.
|
||||||
|
|
||||||
|
We will place our function after the existing `HelloWorldFunction`
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
ClockFunction:
|
||||||
|
Type: AWS::Serverless::Function
|
||||||
|
Properties:
|
||||||
|
CodeUri: clock/
|
||||||
|
Handler: handler.clock
|
||||||
|
Runtime: nodejs16.x
|
||||||
|
Events:
|
||||||
|
ClockApi:
|
||||||
|
Type: Api
|
||||||
|
Properties:
|
||||||
|
Path: /clock
|
||||||
|
Method: get
|
||||||
|
```
|
||||||
|
|
||||||
|
Just like with `HelloWorld`, we will create a directory for this function: `clock` and we will initialise it as an `npm` project.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
mkdir clock
|
||||||
|
cd clock
|
||||||
|
npm init
|
||||||
|
```
|
||||||
|
|
||||||
|
We will use `handler.js` as our root, handler function.
|
||||||
|
|
||||||
|
We have said in the template file that our `Handler: handler.clock`, therefore the main function in the `handler` module should be `clock`:
|
||||||
|
|
||||||
|
```js
|
||||||
|
const moment = require("moment");
|
||||||
|
|
||||||
|
exports.clock = async (event) => {
|
||||||
|
console.log("Clock function run");
|
||||||
|
const message = moment().format();
|
||||||
|
const response = {
|
||||||
|
statusCode: 200,
|
||||||
|
body: JSON.stringify(message),
|
||||||
|
};
|
||||||
|
return response;
|
||||||
|
};
|
||||||
|
```
|
|
@ -12,4 +12,4 @@ To develop AWS projects locally the following core tools can be used to set up a
|
||||||
- Interact with AWS services from your local machine
|
- Interact with AWS services from your local machine
|
||||||
- AWS SDK
|
- AWS SDK
|
||||||
- Integrate AWS services into your given programming language and application code
|
- Integrate AWS services into your given programming language and application code
|
||||||
- [AWS SAM](/DevOps/AWS/AWS_SAM/AWS_SAM.md)
|
- [AWS SAM](/DevOps/AWS/AWS_SAM.md)
|
||||||
|
|
Loading…
Add table
Reference in a new issue