HTTP POST에서 API Gateway를 통해 SQS에 대기열
3431 단어 sqsAPIGatewayserverlessAWS
이미지
client ==HttpPost(json)==> API Gateway ==AwsServiceProxy==> SQS
ServerlessFreamwork를 사용한다면
API Gateway -> Lambda -> SQS
라는 방법도 취할 수 있지만 API Gateway의 AWS Service Proxy를 사용하면 Lambda를 사이에 만들 필요가 없습니다. 자작 API에 대한 요청 증가하면 Lambda 개입하지 않는 것이 압도적으로 저렴합니다. 복잡한 인증 등 필요하지 않다면 AWS Service Proxy를 사용하는 것이 좋습니다.AWS Service Proxy의 난점으로서는 설정 항목을 알기 어려운 곳입니까.
설정
serverless의 도입이나 serverless를 두드리는 iam 주위는 생략합니다.
serverless.yml
거의 CloudFormation입니다. yml은 Gist에 넣었습니다.
APIGateway->SQS · GitHub
deploy
$ serverless deploy
말할 필요도 없다.
테스트
기기에서 API 끝점으로 POST에서 JSON 문자열을 보내 확인
request(post)
$ curl -i -X POST -d "{"message":"test"}" \
-H "Content-Type: application/json" \
https://<apigateway-endpint>/dev/send
response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 276
Connection: keep-alive
Date: Sun, 06 May 2018 17:17:22 GMT
......
略
......
{"SendMessageResponse":{"ResponseMetadata":{"RequestId":"50238bdd-aa56-55b7-9675-d8b490b428b5"},"SendMessageResult":{"MD5OfMessageAttributes":null,"MD5OfMessageBody":"098f6bcd4621d373cade4e832627b4f6","MessageId":"ac3b9630-cd8c-4ae5-89db-5699c7874fda","SequenceNumber":null}}}
메시지 도달 확인
관리 콘솔에서
와요. OK입니다.
끝
비동기로 SQS를 폴링하고 뭔가하는 구조는 별도 준비하는 느낌으로.
ServerlessFreamwork용 AWS ServiceProxy (2018/05)
2018/5 현재 ServerlessFreamwork 표준으로 Lambda를 만들지 않고 AWS Service Proxy를 사용하는 방법은 현재 무사합니다. ( 관련 이슈 )
이번에 거의 CloudFormation 밖에 사용하지 않고, 같은 일을 하는 경우에 감히 Serverless를 사용할 필요는 없다고 생각합니다. 지금은 Serverless에서 이미 작성하고 있는 API와 같은 엔드포인트를 이용하고 싶은 경우, 코드 관리에서 방식 통일하고 싶을 때 등에는 Serverless를 사용하는 이점이 있을지도 모릅니다.
참고
$ curl -i -X POST -d "{"message":"test"}" \
-H "Content-Type: application/json" \
https://<apigateway-endpint>/dev/send
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 276
Connection: keep-alive
Date: Sun, 06 May 2018 17:17:22 GMT
......
略
......
{"SendMessageResponse":{"ResponseMetadata":{"RequestId":"50238bdd-aa56-55b7-9675-d8b490b428b5"},"SendMessageResult":{"MD5OfMessageAttributes":null,"MD5OfMessageBody":"098f6bcd4621d373cade4e832627b4f6","MessageId":"ac3b9630-cd8c-4ae5-89db-5699c7874fda","SequenceNumber":null}}}
비동기로 SQS를 폴링하고 뭔가하는 구조는 별도 준비하는 느낌으로.
ServerlessFreamwork용 AWS ServiceProxy (2018/05)
2018/5 현재 ServerlessFreamwork 표준으로 Lambda를 만들지 않고 AWS Service Proxy를 사용하는 방법은 현재 무사합니다. ( 관련 이슈 )
이번에 거의 CloudFormation 밖에 사용하지 않고, 같은 일을 하는 경우에 감히 Serverless를 사용할 필요는 없다고 생각합니다. 지금은 Serverless에서 이미 작성하고 있는 API와 같은 엔드포인트를 이용하고 싶은 경우, 코드 관리에서 방식 통일하고 싶을 때 등에는 Serverless를 사용하는 이점이 있을지도 모릅니다.
참고
Reference
이 문제에 관하여(HTTP POST에서 API Gateway를 통해 SQS에 대기열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shiru/items/d4b908b7df3c0442f126텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)