이론, Cloud9 사용하기
<1> 구성확인
<2> 람다 생성
<3> API GateWay
<4> 이미지 올리기
<5> SNS로 Email 수신 하기
<6> 디지털 앨범 만들기
<7> 확인하기
<1> 구성확인
구성1
사용자 --- API GateWay -------람다 ----- 다이나모 DB
구성2
사용자 --- API GateWay -------람다 ----- AWS 스텝 함수 ----------- SQS / SNS
구성3
사용자 ---- S3 ----- AWS 스텝 함수 -------- SQS / SNS
구성1
사용자 --- API GateWay -------람다 ----- 다이나모 DB
람다부터 생성한다.
API Gateway는 이벤트로 존재한다.
람다는 다이나모 DB로 넣는다.
<2> 람다 생성
1
서비스 > 람다 > 함수생성 > 새로 작성
seo-function1
파이썬 3.8 > 존재하는 롤 밴앤드 람다 함수 > 함수 만들기
// 백앤드-role
2
람다 > 작업 > S3 로부터 업로드 // 별도 코드 필요
3
환경 변수> 편집 > 환경 변수 추가
키
imageMetadataTableName
값 // 이미지 메타 테이블
qls-16459391-13e8bf7fd5833144-ImageMetadataDDBTable-1J9SIPHCACFQS
키
s3BucketName
값
qls-16459391-13e8bf7fd5833144-userimagess3bucket-rr7z36r3xfdo
저장
4
기본 설정
30초
저장
<3> API GateWay
1
서비스 > API GateWay > xxxxxxx--API > 작업 > 리소스 생성하기
리소스 이름
presigned
/presigned (자동 생성)
> 리소스 생성
2
/presigned 선택 > 작업 > 메소드 생성 > POST
/presigned - POST - 설정 > 람다함수
람다 프록시 통합 사용 체크하기
람다함수
seo-function1
저장
3
작업 > API 배포하기 > stage 선택 > 배포하기
4.
스테이지에서 URL 호출 링크 복사하기
https://13ixvq4q8a.execute-api.us-west-2.amazonaws.com/stage
<4> 이미지 올리기
1
서비스 > 클라우드9 > Open IDE
2
cd ~/environment
unzip sample-images.zip
cd sample-images
3
curl -d '{"userName":"(USER NAME)","albumName":"(ALBUM NAME)","message":"(CUSTOM MESSAGE)","numberOfImages":"(INTEGER VALUE)"}' -H "Content-Type: application/json" -X POST https://13ixvq4q8a.execute-api.us-west-2.amazonaws.com/stage | python -m json.tool
4
올리기
curl -X PUT -T (PATH_TO_IMAGE_NAME) "(PRE_SIGNED_URL)"
curl -X PUT -T backlit-bonding-casual.jpg "https://13ixvq4q8a.execute-api.us-west-2.amazonaws.com/stage"
4
서비스 > S3 > 이미지 s3 버킷
확인
<5> SNS로 Email 수신 하기
1
서비스 > SNS > 주제 > 선택 > 구독 생성 > 이메일 >
<6> 디지털 앨범 만들기
1
cloud9 에서
curl -d '{"userName":"(USER NAME)","albumName":"(ALBUM NAME)"}' -H "Content-Type: application/json" -X POST \ (CreateBookBindingUrl)
curl -d '{"userName":"(USER NAME)","albumName":"(ALBUM NAME)"}' -H "Content-Type: application/json" -X POST \ https://13ixvq4q8a.execute-api.us-west-2.amazonaws.com/stage/bookprint
2
서비스 > S3
3
서비스 > Step Functions
// role 필요 Lambda / SQS
4
서비스 > SQS
<7> 확인하기
1
서비스 > Step Functions > 상태 머신 생성 > 표준 >
// 정의 함수 입력
// Printvendor lambda arn 수정하기
다음 >
만들기
BookprintStateMachine
만들기
2
서비스 > 람다
환경변수
https://13ixvq4q8a.execute-api.us-west-2.amazonaws.com/stage/bookprint
저장하기
3
서비스 > SQS > sqs 선택 > 람다 함수 트리거 구성 >
저장하기
감사합니다.