6월, 2016의 게시물 표시

AWS를 이용한 Serverless 환경 구축 3 - AWS API Gateway를 통해 기존 DynamoDB 접근

이미지
Lambda와 DynamoDB를 연결한 상태에서 외부에서 접근하여 쓰기 및 읽기를 할 수 있도록 AWS API Gateway를 추가 해보자. 이번에 해 볼 것은 API 생성 및 설정이다. API 설정(GET, POST) 1. API Gateway를 생성한다. 2. OK 버튼 클릭 후 "New API" 선택, API name 기입, 생성 한다. 3. Resource 항목의 Actions를 pull-down하여 Create Resource를 선택한다. Get, Post를 위한 각각 Resource를 만든다. 4. 각 Resource 아래 "Create Method" 통해 GET, POST를 생성함.(v 표 클릭해서 완성) 5. GET, POST method를 클릭하여 세부설정을 해 준다. 각각 DynamoDB에 GET, POST 한 Lambda 함수를 지역과 이름을 지정해 준다. 6. GET method를 선택하고 오른쪽에 있는 Method Execution에서 Method Request를 선택한다. "URL Query String Parameters"에 "id"를 추가 해 준다. 7. Method Execution에서 Integration Request를 선택한다. 하단의 "Body Mapping Templates"을 펼 친후 Content-Type에 "application/json"을 추가 한다. 아래 소스를 붙여 넣어 준다. #set($inputRoot = $input.path('$')) { "id": "$input.params('id')" } 8. Method Execution의 첫 화면으로 돌아 가서 "Test'를 클릭한다. 9. Query String "id"에  전 화...

AWS를 이용한 Serverless 환경 구축 2 - Lambda로 DynamoDB 쓰고 읽기

이미지
지난 번에 Lamda로 hello_world만 찍기만 하여 demo의 성격 이었다면 이번은 실제로 DynamoDB에 쓰고 읽기를 해보자. 순서는 아래와 같다. DynamoDB table 생성 후 IAM 권한 추가(Access DynamoDB) Lambda 함수의 쓰기, 읽기를 만들 것이다. DynamoDB table 생성 1. "Create table"을 선택한다.   2. "Table name", "Primary key"에 값을 입력한 후 "Create"를 클릭한다.(예 Table name: Page, Primary key: id) 3. DynamoDB table이 간단하게 생성 되었다. IAM DynamoDB 접근권한 추가 기존 Role에는 DynamoDB 접근권한이 없으므로 권한을 추가해야 한다. 1. 기존에 사용하던 " lambda_basic_execution" Role에 Jason을 추가 해 주면 된다.("Statement"[]안에 추가) { "Sid": "Stmt1428341300017", "Action": [ "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Query", "dynamodb:Scan", "dynamodb:UpdateItem" ], "Effect": "Allow", "Resource": "*" } Lambda 쓰기 함수 만들기 이번에는 L...