Docker 개발 환경 for Lambda Rust runtime
시험해 보다
Docker를 설치할 환경을 준비하십시오.거기에 딘 명령을 설치하고 PATH도 통과한다.
$ curl -o ~/.local/bin/din https://raw.githubusercontent.com/anyakichi/docker-buildenv/master/din.sh
$ PATH=$HOME/.local/bin:$PATH
그러면 샘플용 lambda-rust-sample을 만들어 보세요.lambda-rust-sample는 받은 데이터를 직접 반환하는 프로그램입니다.
$ mkdir workspace && cd workspace
$ din anyakichi/lambda-rust-builder
[builder@workspace build]$ extract
[builder@workspace build]$ setup
[builder@workspace lambda-rust-sample]$ build
[builder@workspace lambda-rust-sample]$ echo '{"data":"test"}' \
| DOCKER_LAMBDA_USE_STDIN=1 /var/runtime/init -bootstrap target/release/lambda-rust-sample
네, 움직였어요.계속해서 AWS로 실제 운행해 보자.
[builder@workspace lambda-rust-sample]$ package
lambda-rust-sample.zip 이 파일은 잘 만들어야 하기 때문에 aws 명령이든 웹 컨트롤러든 상관없습니다. 업로드하십시오. (role 매개 변수의 관계로 aws 명령 예시를 표시하기 어렵습니다.)실행 환경이 provided(Amazon Linux1)인 환경입니다.컨테이너에서 빼내도 서류는 그대로 놔둬야 한다.업로드 후 실행(콘솔에서도 가능).
$ aws lambda invoke --function-name lambda-rust-sample \
--payload '{"data":"test"}' /dev/stdout
네, 끝났습니다.간단하네.컨테이너 외부에서 액세스
Docker 컨테이너는 Lambda의 운행 환경(실제로 아까도 표준 입력에서 데이터를 전달하는 형식으로 실행되었기 때문)이기 때문에 다음에 호스트 측에서 요청을 해보도록 하겠습니다.
워크스페이스에서 이번에는 런 명령을 직접 실행해보자(9001 포트도 공개).
$ cd workspace
$ din -p 9001:9001 anyakichi/lambda-rust-builder run
이렇게 Lambda가 API 모드(?)이동, 다른 터미널 창에서$ curl -d '{"data":"test"}' http://localhost:9001/2015-03-31/functions/myfunction/invocations
이렇게 하면 테스트할 수 있어요.사소한 일
Amazon Linux2의 환경에서 Pkg-config의 상태가 좋지 않은 것 같고 Openssl-Sys 등의 구축이 실패했습니다.그래서 Docker 환경도 Amazon Linux1로 바뀌었고, AWS 측도 이에 협조하고 있다.
딘을 사용하는 이 시스템은 Docker 개발 환경이라고 불리며 삽입식 펌웨어(Yocto와 AOSP 등)를 구축하기 위해 제작됐으나 대체로 무엇이든 사용할 수 있다.
Reference
이 문제에 관하여(Docker 개발 환경 for Lambda Rust runtime), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/anyakichi/articles/71a24fef849b64텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)