AWS Lambda 함수에서 boto3 버전을 다운 그레이드하는 방법

ChumiestBucket :

Lambda (Python 3.7) 내에서 자체 버전의 boto3을 사용해야합니다. Lambda 기본 Python 3.7 env (1.9.42)에 포함 된 버전은 어떤 이유로 든 Textract 사용을 지원하지 않습니다.

이를 위해 가이드를 기반으로 다음을 수행했습니다 .

  1. 다음 명령을 사용하여 사용자 정의 패키지를 작성하십시오.
    • pip freeze > requirements.txt 이 파일을 생성합니다 :
# requirements.txt
boto3==1.9.138
botocore==1.12.138
docutils==0.14
jmespath==0.9.4
python-dateutil==2.8.0
s3transfer==0.2.0
six==1.12.0
urllib3==1.24.2
  • mkdir build
  • pip3 install -r requirements.txt -t build/
  • cd build
  • zip -r ../boto3_layer.zip .

그런 다음 GUI를 사용하여 새 Lambda 레이어 (boto3Layer)를 업로드했습니다. 그런 다음 Lambda 함수에 레이어를 성공적으로 추가했습니다.

문제는 인라인 코드 편집기를 사용하여 해당 레이어를 코드로 가져 오는 방법을 알 수 없다는 것입니다.

다음 코드가 있습니다.

...
from boto3_layer as boto3
...
log.info(boto3)

오류가 발생합니다 "errorMessage": "Unable to import module 'lambda_function': No module named 'boto3_layer'"

또한 가져 오기를 시도했지만 boto3잘못된 버전 (Lamda에서 사용하는 버전)임을 확인 했으므로 가져 오기가 재정의하지 않았습니다.

내 사용자 지정 레이어를 코드로 가져 오는 방법을 간단히 알고 싶습니다! 감사

편집 : 제안 시도 :

동일한 작업을 수행하려는 다른 사용자의 경우 :

  1. virtualenv python --python=python3.7
  2. source python/bin/activate 그리고 pip3 install boto3
  3. zip -r boto3_layer.zip python/lib/
  4. boto3_layer.zipLambda 함수를 사용 하여 새 Lambda 레이어 생성 레이어 추가
  5. 위의 코드를 저장하려고했습니다. "errorMessage": "Unable to import module 'lambda_function': No module named 'boto3_layer'",

이것은 boto3내 사용자 지정 이름 대신 가져 오기로 작동했습니다 .

import boto3

def lambda_handler(event, context):
  textract = boto3.client('textract')
안티 하 팔라 :

디렉토리는 모듈 / 패키지가 아닙니다. 사용중인 접근 방식이 작동하지 않습니다.

이 모든 것 대신 원하는 Python 버전을 사용하여 가상 환경을 작성하십시오. 가능하면 도커 내에서 패키지를 설치하십시오. 그런 다음 lib압축을 풀 때 레이어가 디렉토리 구조를 생성하도록 가상 환경에서 폴더를 압축해야합니다.

python/
    lib/
        pythonx.y/
            site-packages/
                ...

python이것이 작동 하려면 최상위 디렉토리의 이름 지정해야합니다 .

이 작업을 올바르게 수행하면 boto3정상적으로 버전을 가져올 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

zip 파일을 업로드하지 않고 AWS Lambda에서 boto3 인증을 얻는 방법

AWS Lambda : boto3 invoke를 사용하여 다른 AWS Lambda에서 함수 호출

boto3를 사용하여 API Gateway에서 Lambda 함수의 버전을 업데이트하는 방법은 무엇입니까?

JSON 객체에 Boto3 응답을 작성하고 AWS Lambda 함수의 S3에 업로드

먼저 다운로드하지 않고 AWS Lambda 함수에서 S3 파일을 조회하는 방법은 무엇입니까?

boto3 RDS 클라이언트 Python을 사용하여 AWS Lambda에서 RDS SQL Server 선택 쿼리를 실행하는 방법은 무엇입니까?

Boto3 시간 초과를 사용하는 AWS Lambda 함수

boto3를 사용하여 AWS Lambda 함수 생성

AWS s3 boto3에서 "GetObject 작업을 호출 할 때 AuthorizationHeaderMalformed"오류를 수정하는 방법

Laravel에서 jquery 버전을 다운그레이드하는 방법

Python 버전을 3.8에서 3.7로 다운 그레이드하는 방법 (Mac)

AWS Lambda Python Rest API에서 파일을 다운로드하는 방법

Python AWS Boto3 : S3 버킷에서 파일을 읽는 방법은 무엇입니까?

AWS boto3 생성 서명 된 URL에서 다운로드 할 수 없음

boto3을 사용하여 AWS S3 버킷에서 파일을 다운로드하면 ClientError : An error generated (403) : Forbidden이 발생합니다.

CloudFormation에서 S3 버킷에 저장된 AWS Lambda 함수로 파라미터를 전달하는 방법

Lambda 함수에서 AWS S3 파일을 구문 분석하는 방법

boto3를 사용하여 Python에서 AWS S3 버킷에 액세스하는 방법

boto3 aws botocore.exceptions.NoCredentialsError를 수정하는 방법:

AWS Lambda : Java를 사용하여 Lambda 함수에서 S3 버킷에 액세스하는 방법

이전 버전의 AWS Lambda로 다운 그레이드

Python은 boto3 오류가있는 코드에서 AWS Lambda를 호출합니다.

람다 함수와 boto3를 사용하여 s3 버킷에서 csv 파일을 읽는 방법은 무엇입니까?

AWS boto3의 완성된 컨테이너에서 파일을 복사하는 방법

Github Actions에서 Boto3(AWS SDK) 명령을 실행하는 방법이 있습니까?

boto3을 사용하여 AWS S3 버킷에서 다운로드 - 잘못된 타임스탬프 형식

AWS Lambda 계층을 다운로드하는 방법

Boto3 get_query_results 방법을 사용하여 AWS Athena에서 데이터 프레임을 생성하는 방법

boto3를 사용하여 모든 AWS 서브넷의 이름을 나열하는 방법

TOP 리스트

  1. 1

    Matlab의 반복 Sortino 비율

  2. 2

    ImageJ-히스토그램 빈을 변경할 때 최대, 최소 값이 변경되는 이유는 무엇입니까?

  3. 3

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  4. 4

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  5. 5

    원-사각형 충돌의 충돌 측면을 찾는 문제

  6. 6

    Oracle VirtualBox-설치를 위해 게스트를 부팅 할 때 호스트 시스템이 충돌 함

  7. 7

    어떻게 아무리 "나쁜", ANY의 SSL 인증서와 HttpClient를 사용하지합니다

  8. 8

    Ubuntu는 GUI에서 암호로 사용자를 만듭니다.

  9. 9

    잘못된 상태 예외를 발생시키는 Apache PoolingHttpClientConnectionManager

  10. 10

    Python 사전을 사용하는 동안 "ValueError : could not convert string to float :"발생

  11. 11

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  12. 12

    Vuetify 다중 선택 구성 요소에서 클릭 한 항목의 값 가져 오기

  13. 13

    C ++ VSCode에서 같은 줄에 중괄호 서식 지정

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    JQuery datepicker 기능이 인식되지 않거나 새 프로젝트에서 작동하지 않음

  16. 16

    cuda 11.1에서 Pytorch를 사용할 때 PyTorch가 작동하지 않음: Dataloader

  17. 17

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  18. 18

    상황에 맞는 메뉴 색상

  19. 19

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  20. 20

    매개 변수에서 쿼리 객체를 선언하는 방법은 무엇입니까?

  21. 21

    Maven은 아이 프로젝트 대상 폴더를 청소하지

뜨겁다태그

보관