유형 오류가 있는 sqs에 의해 트리거된 golang의 aws 람다
Feb 09, 2024 pm 01:46 PMphp 편집자 Baicao가 이번에는 golang의 AWS Lambda에 대한 질문을 가져왔습니다. AWS SQS를 사용하여 Lambda 함수를 트리거할 때 유형 오류가 발생할 수 있습니다. 이 문제로 인해 Lambda 함수가 SQS 메시지를 정상적으로 처리할 수 없게 되어 개발자에게 불필요한 문제가 발생할 수 있습니다. 이 기사에서는 이 문제의 원인을 살펴보고 개발자가 이러한 유형 오류 딜레마를 성공적으로 해결하는 데 도움이 되는 솔루션을 제공할 것입니다.
질문 내용
API 게이트웨이와 SQS로 트리거되는 람다를 개발 중입니다.
으아악하지만 sqs 또는 apigateway 이벤트를 사용할 때 내 스위치 유형이 인식되지 않습니다. 이는 항상 기본 문에 속합니다. 예를 들어 sqs의 경우 다음 이벤트를 사용합니다.
으아악다음 메시지를 받았습니다:
으아악내가 뭘 잘못했는지 아세요? 나는 golang을 처음 사용하기 때문에 여기서 길을 잃었습니다.
그리고 regcode.handlersqs
에 직접 이벤트를 보내려고 했는데 유형 변환 오류가 발생했습니다. 이렇게:
sqsevent가 비어 있습니다.
Solution
내가 뭘 잘못했는지 아시나요?
AWS 람다 핸들러는 func
中参数的类型,然后创建与您的签名匹配的 event
유형을 반영합니다.
그러면 func
的第二个参数声明为 event events.SQSEvent
,AWS 将获取其类型 events.SQSEvent
이런 객체를 생성하여 전달하세요.
마찬가지로, func
中使用 event events.APIGatewayProxyRequest
,AWS 将反映 event
应该是 events.APIGatewayProxyRequest
만들면 됩니다.
즉, AWS는 수신 요청이 SQS에서 오는지 API에서 오는지 확인하지 않습니다. 이는 핸들러의 서명에 따라서만 결정됩니다. 따라서 당신이 func
中使用 event 接口{}
,AWS 将准确创建您指定要创建的内容,即 interface{}
에 있고 다른 유형이 아닌 경우.
이것이 스위치가 작동하지 않는 이유입니다. 이 문제를 해결하는 가장 쉬운 방법은 두 개의 람다 함수(SQS용과 API용)를 사용하는 것입니다.
위 내용은 유형 오류가 있는 sqs에 의해 트리거된 golang의 aws 람다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go Language Pack 가져 오기 : 밑줄과 밑줄이없는 밑줄의 차이점은 무엇입니까?

Beego 프레임 워크에서 페이지간에 단기 정보 전송을 구현하는 방법은 무엇입니까?

이동 중에 테스트를 위해 모의 개체와 스터브를 작성하려면 어떻게합니까?

MySQL 쿼리 결과 목록을 GO 언어로 사용자 정의 구조 슬라이스로 변환하는 방법은 무엇입니까?

GO에서 제네릭에 대한 사용자 정의 유형 제약 조건을 어떻게 정의 할 수 있습니까?

추적 도구를 사용하여 GO 응용 프로그램의 실행 흐름을 이해하려면 어떻게해야합니까?
