해결: AWS CDK 내에서 Python 앱을 번들로 묶는 방법

3356 단어 pythonawsdockercdk
안녕하세요 👋

💡 마지막에 해결책 🙈

그래서 cdk init app --language=typescript 를 실행하여 AWS-CDK로 기본 TypeScript 프로젝트를 설정했습니다. 이제 Python으로 작성된 람다 함수를 사용하고 싶습니다. 수학 🤓

다음과 같이 이러한 함수를 선언하기 위해 @aws-cdk/aws-lambda-python를 사용하고 있습니다.

import * as cdk from "@aws-cdk/core"
import * as lambdaPython from "@aws-cdk/aws-lambda-python"

export class MyStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props)

    new lambdaPython.PythonFunction(this, "MyFunction", {
      entry: "lib/lambda/my_function",
    })
  }
}


그리고 lib/lambda/my_function 폴더 안에는 index.py 기능이 있는 handler which are both the defaults for the package 가 있습니다.

그러나 실행cdk synth하면 다음과 같은 결과가 나타납니다.

$ cdk synth
[Status 1] stdout:


stderr: Cannot connect to the Docker daemon. Is the docker daemon running on this host?


Docker를 설정하는 방법에 대해 전혀 모릅니다. 안타깝게도 AWS 설명서에서 이에 대한 정보를 찾을 수 없습니다. (정확한? 😅) Docker 컨테이너를 실행하기 위해 내가 무엇을 해야 하는지 아는 사람이 있습니까?

해결책



최신 Docker 버전을 사용하시겠습니까? 😅 아주 오래된 것( 1.11.XX )이 실행 중이었으며 이제 최신 Docker Desktop( 19.X.X )을 설치하여 작동합니다. 🤷

전반적으로: 이것은 정말 좋습니다. 이러한 설정에서 TypeScript와 Python을 매우 쉽게 혼합할 수 있습니다. 대박! 🚀 😄

좋은 웹페이지 즐겨찾기