> 웹 프론트엔드 > JS 튜토리얼 > Javascript/Node.js를 사용하여 로컬에서 람다 실행

Javascript/Node.js를 사용하여 로컬에서 람다 실행

Mary-Kate Olsen
풀어 주다: 2025-01-04 06:23:45
원래의
687명이 탐색했습니다.

Running lambdas locally using Javascript/Node.js

AWS Lambda를 테스트하기 위해 클라우드에 배포하는 데 지치셨나요? 이는 단지 교정을 위해 자신에게 편지를 보내는 것과 같습니다. 느리고, 비용이 많이 들고, 완전히 불필요합니다.

JavaScript 애플리케이션에서 바로 로컬로 Lambda를 호출할 수 있다면 어떨까요? 클라우드 왕복도 없고 대기도 없으며 즉각적인 피드백만 제공됩니다. AWS SAM(서버리스 애플리케이션 모델)과 Node.JS/JavaScript를 함께 사용하면 머신에서 Lambda를 테스트하고 디버그하여 시간과 비용을 절약할 수 있습니다.

전제 조건:

저는 Windows PC를 사용하고 있으며 계속 진행하기 전에 다음 사항을 설정했습니다.

  • AWS SDK
aws --version
로그인 후 복사
로그인 후 복사
  • 샘 CLI
sam --version
로그인 후 복사
로그인 후 복사
  • 도커
docker --version
로그인 후 복사
  • Node.js
node --version
로그인 후 복사

시작해 봅시다!

init 명령을 사용하여 데모 애플리케이션을 생성한 후 애플리케이션 코드(Nodejs) 내에서 람다 호출을 계속 진행하겠습니다.

1> 프로젝트를 설정하려는 폴더로 이동합니다.

sam init --runtime nodejs
로그인 후 복사

이렇게 하면 기본적인 Hello World 애플리케이션이 생성됩니다. 이 애플리케이션에는 이벤트를 받아 Hello World 메시지와 함께 특정 URL에서 받은 데이터를 반환하는 간단한 Lambda 핸들러가 있습니다.

파일이 구현하는 내용과 코드 작동 방식을 자세히 살펴보겠습니다.

  • SAM 템플릿 (template.js) -> Hello World SLASH로 설정된 코드 URI 속성을 사용하는 HelloWorld 함수를 구현합니다. 이는 Lambda 핸들러 코드가 Hello World 폴더 내에 있음을 의미합니다.
    • app.js -> 이는 SAM 템플릿의 Handler 속성에서 참조되며, Lambda Handler라는 내보낸 함수를 포함합니다.

package.json에서 'axios'라는 종속성을 확인할 수 있습니다. 이 모듈은 단순히 지정된 URL에 대한 HTTP 요청을 만드는 데 사용된다는 점에 유의하세요.

2> 파일이 있는 폴더로 이동하여 package.json에서 종속성을 설치한 후 다음 명령을 사용하세요.

npm install
로그인 후 복사

3> 이제 명령을 실행하여 로컬에서 Lambda 서비스를 시작합니다.

sam local start-lambda
로그인 후 복사

이제 로컬 Lambda 서비스가 포트 3001에서 실행되고 있습니다.

4> AWS SDK를 사용하여 애플리케이션 코드 내에서 람다 함수를 호출하겠습니다. 이를 위해 샘플 node.js 프로젝트를 만들어 보겠습니다. 새 폴더를 만들고 해당 폴더로 이동한 후 명령을 입력하세요.

npm init
npm install aws-sdk --save
로그인 후 복사

5> 이제 test.js 파일을 생성하고 AWS SDK를 참조하고, AWS 리전을 구성하고, Lambda 객체를 인스턴스화합니다.

aws --version
로그인 후 복사
로그인 후 복사

여기서 매개변수 객체는 Lambda 함수를 호출하고 애플리케이션 코드에 따라 함수 이름을 바꿉니다. 엔드포인트는 로컬 람다 서비스가 시작되는 엔드포인트를 나타냅니다.

6> 이제 새 터미널에서 다음 명령을 실행하세요.

sam --version
로그인 후 복사
로그인 후 복사

7> 확인 및 테스트: AWS SAM powershell로 다시 이동하면 먼저 Docker 컨테이너에 함수를 로드하고 입력 이벤트 데이터로 실행합니다.
이제 다른 터미널로 다시 이동하면 상태 코드 200 ✅, 메시지 Hello World 및 위치 IP 주소?와 함께 Lambda 함수의 응답을 볼 수 있습니다.

마무리

여기서 편리한 로컬 설정을 벗어나지 않고도 AWS Lambda 기능을 테스트할 수 있는 더 빠르고 스마트한 방법이 생겼습니다. JavaScript 및 NodeJS를 사용하여 로컬에서 Lambda를 호출하면 완전히 새로운 수준의 효율성을 얻을 수 있습니다. 이제 클라우드 비용을 낮게 유지하면서 더 빠르게 반복하고, 더 스마트하게 디버깅하고, 더 멋진 앱을 구축할 수 있습니다.

코딩을 즐기시기 바랍니다. Lambda가 클라우드에서처럼 로컬에서도 항상 원활하게 실행되기를 바랍니다! ?

위 내용은 Javascript/Node.js를 사용하여 로컬에서 람다 실행의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿