Haxe로 AWS Lambda 함수 생성
4403 단어 gamedevawsserverlesshaxe
이미지 출처: Haxe Foundation
매우 실용적입니까? 난별로 확신이 들지 않아. Haxe는 Python이나 JavaScript만큼 대중적이지 않기 때문에 제3자 지원이 많지 않으며 Haxe는 직접 실행되지 않고 선택한 언어로 내보내집니다. 그러나 Haxe 상점이거나 AWS에서 원활하고 쉽게 실행될 수 있는 강력한 유형의 언어를 원하는 경우 간단히 살펴볼 가치가 있습니다.
Bellow, 저는 Lambda에서 Haxe를 시작하는 방법에 대한 빠른 가이드를 작성했습니다.
간단한 Haxe Lambda 함수 만들기
먼저 Haxe 프로젝트를 설정해야 합니다. 이 가이드에서는 Handler를 기본 클래스로 사용하고 JavaScript로 export/handler.js로 내보낼 것입니다.
내 구조는 다음과 같습니다.
├── compile.hxml
├── export // Note: Directory won't exist until compile
│ └── handler.js
└── src
└── Handler.hx
여기 내 compile.hxml이 있습니다.
-cp src
--js export/handler.js
--main Handler
이제 Haxe 코드로 넘어가겠습니다. 다음은 내 src/Handler.hx의 시작 부분입니다.
class Handler {
static function main() {}
}
As a note here, while Handler.main is not executed by the Lambda function, it is still required to property export your Haxe project.
실제로 매우 간단합니다. 먼저 Handler 클래스를 노출해야 합니다. @:expose를 추가하여 JavaScript 파일에서 액세스할 수 있습니다.
@:expose
class Handler {
static function main() {}
}
그런 다음 람다 처리기 함수를 추가할 수 있습니다.
class Handler {
static function main() {}
static function handler() : String {
return "Hello from Haxe!"
}
}
이제 프로젝트 디렉토리에서 haxe compile.hxml을 호출하여 코드를 컴파일하십시오.
이제 함수를 호출하는 큰 비결은 함수를 람다 함수에 전달하는 것입니다. 이는 내보낸 Javascript를 가져오고 비동기 메서드에서 함수를 호출하여 달성할 수 있습니다. 이 파일은 Lambda 함수의 진입점이 됩니다. 제 경우에는 export/index.js입니다.
const handler = require("handler");
exports.handler = async function(event, context, callback) {
return handler.Handler.handler(event,context,callback);
}
이제 내보내기 디렉토리를 압축하여 람다 함수에 업로드하면…
읽기 입력 사용
이전 부분에서 눈치챘다면 이벤트, 컨텍스트 및 콜백 객체를 모두 index.js의 함수에 전달합니다. 실제로 해당 개체를 AnonType으로 참조하고 액세스하려는 속성을 참조할 수 있기 때문입니다. 다음은 이벤트 개체를 사용하는 예입니다.
@:expose
class Handler {
static function main() {}
static function handler(event : {source : String}) : String {
// Run your Haxe code
var eventSource: String = event.source;
// Return response
return 'Hello to $eventSource from Haxe!';
}
}
이제 컨텍스트 개체를 사용하여:
@:expose
class Handler {
static function main() {}
static function handler(event : {source : String}, context : {functionName : String}) : String {
// Run your Haxe code
var eventSource : String = event.source;
var lambdaName : String = context.functionName;
// Return response
return 'Hello to $eventSource from $lambdaName!';
}
}
관련된 링크들
GitHub 소스: https://github.com/josephbmanley/haxe-lambda-example
공식 Haxe 웹사이트: https://haxe.org/
Reference
이 문제에 관하여(Haxe로 AWS Lambda 함수 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/creating-a-aws-lambda-function-with-haxe-1ei2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)