2017-05-16 3 views
0

S3에서 AWS에 람다 함수를 배포하려고합니다.S3 버킷 하위 디렉토리에 람다 함수를 배포하십시오.

내 조직에서는 현재 S3 버킷의 루트에 파일을 업로드 할 수 없지만 폴더 (예 : s3 : // application-code-bucket/Application1 /)에만 파일을 업로드 할 수있는 기능을 제공합니다.

S3를 통해 람다 기능 코드를 버킷 루트가 아닌 다른 디렉토리에서 배포 할 수있는 방법이 있습니까? 나는 Lambda의 CreateFunction AWS 명령에 대한 문서를 확인했는데 아무 것도 발견하지 못했습니다.

+0

람다 문서에 언급 된 이유가 없습니다. 인수는 파일 이름이 아니며 [객체 키]입니다 (http://docs.aws.amazon.com/lambda/latest/dg/API_FunctionCode.html#SSS-Type-FunctionCode-S3Key). 어떤 "폴더"에있을 수 있다는 사실은이 사실에 함축되어 있어야합니다. –

+0

Michael- 답변을 만드시겠습니까? 당신이 올바른지. S3Key가 '객체 키'라는 것을 인식하지 못했습니다. 감사 –

답변

0
  1. 람다 패키지를 지우고 모든 폴더의 S3에 업로드해야합니다.
  2. 그러면 람다 기능에 업로드 할 파일의 https S3 URL을 제공 할 수 있습니다.
  3. S3 버킷은 람다 기능과 동일한 영역에 있어야합니다.
  4. 폴더가 압축되어 있는지 확인하십시오. 패키지 압축이 풀린 경우 파일을 압축 해제 디렉토리 과 동일한 디렉토리에 추출해야하며 내용에 대한 새 디렉토리를 생성해서는 안됩니다.
0

나는 람다 배치를 자동화하는 데 사용한이 오래된 스크립트를 가지고 있습니다. 조금 리팩토링해야하지만 여전히 사용 가능해야합니다.

PC에 로컬로있는 람다 이름과 zip 파일 경로를 입력으로받습니다.

S3에 업로드하고 AWS Lambda에 게시합니다.

  • 당신은 할 수 있습니다 IAM 역할과 AWS 자격 증명을 설정해야합니다
    • S3 업로드 권한
  • 당신은 버킷 이름과 경로를 수정해야
  • AWS 람다 업데이트 권한 우편 번호를 업로드하고 싶습니다. (라인 36-37).

그게 전부입니다.