일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Route53
- react-hook-form
- react DOM
- react-xml-parser
- 가상 DOM
- signIn
- yml
- 프로그래머스
- icrawler
- API Gateway
- zerocho
- domtoimage
- timeinput
- node
- AWS
- readableStream
- react
- window.postMessage
- jimp
- react-admin
- dynamodb
- gitignore
- electron
- xlsx
- TypeScript
- axios
- JavaScript
- electron-builder
- cognito
- react-sortable-hoc
- Today
- Total
꾸준히 공부하는 개발자
[AWS] Lambda, API Gateway, DynamoDB 연결 - 2 본문
저번에 dynamo db를 연결하여 lambda까지 연결하는 것을 해보았다.
이번에는 실제로 web에서 api 를 받아오는 것 까지 해보겠다.
일단 웹에서 코드를 생성하였다.
웹에서 테스트하기 힘들다면,
아래 구글확장프로그램을 설치해도 좋다.
https://chrome.google.com/webstore/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm
const doc = require('dynamodb-doc');
const dynamo = new doc.DynamoDB();
exports.handler = (event, context, callback) => {
console.log('Received event:', JSON.stringify(event, null, 2));
const operation = event.httpMethod;
const payload = {
TableName: 'ourHealth'
}
switch (operation) {
case 'POST':
dynamo.putItem(payload, callback);
break;
case 'PATCH':
dynamo.updateItem(payload, callback);
break;
case 'DELETE':
dynamo.deleteItem(payload, callback);
break;
case 'GET':
dynamo.scan(payload, (err, data) => {
callback(null, {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Origin': '*'
},
'body': JSON.stringify(data)
});
});
break;
default:
callback(new Error(`Unrecognized operation "${operation}"`));
}
};
일단 lambda function 을 변경해준다.
웹에서 사용할려면 CORS 문제를 해결해주기위해 header에 내용을 첨부해준다.
이제 api gateway 로 가서 api키 탭에서 api 키 표시를 눌러 아까 전 코드에 넣어준다.
그리고 cors 활성화를 누르고 api를 배포하면 끝이다.
이제 돌아와서 코드를 실행해보면 작동한다.
'AWS' 카테고리의 다른 글
[AWS] Cognito 로 로그인(sign in) 하는 방법 (0) | 2019.12.19 |
---|---|
[AWS] Lambda, API Gateway, DynamoDB 연결 - 1 (0) | 2019.11.17 |
[AWS] EC2(Elastic Compute Cloud) 설명 및 생성 (0) | 2019.11.09 |
[AWS] Route53 (ec2와 연결) (0) | 2019.11.09 |