Lambda Layers로 공통 패키지 만들기 (로깅 예제)
4737 단어 Python3람다파이썬CloudWatchAWS
이 즐거움을 시험하기 위해 예를 들어 어떤 Lambda에서 호출하여 사용할 것 같은 CloudWatch Logs에 고정 형식으로 로그 출력하는 패키지(명명:
cwlogging
)를 Layer화해 보겠습니다.이번 전제는 Python3.6입니다.
cwlogging 만들기
만들기. 흔한 사람입니다. logStr에서 로그 형식을 결정합니다.
cwlogging.pyimport datetime
# Lambdaログ出力(CloudWatch Logs)関数
def logging(errorLv, lambdaName, errorMsg):
loggingDateStr=(datetime.datetime.now()).strftime('%Y/%m/%d %H:%M:%S')
logStr = loggingDateStr + " [" + errorLv + "] " + lambdaName + " " + errorMsg
# CloudWatch Logsに出力
print(logStr)
# ログ文字列を返却
return logStr
cwlogging을 zip화
제작법을 따라야합니다.
공식 문서를 읽으면 파이썬의 경우 'python'디렉토리를 만들고 그 아래에 .py를 저장해야합니다.
방금 만든 cwlogging.py를 아래와 같이 zip화하여 s3에 업로드합니다.
$ mkdir python
$ mv cwlogging.py python/
$ zip -r cwlogging.zip python/
$ aws s3 cp cwlogging.zip s3://lambdalayertest/
Lambda Layers 만들기
Lambda의 관리 화면으로 가면 왼쪽에 "Layers"가 증가하고 있습니다.
Layers 관리 화면에서 s3의 .zip 경로를 지정하여 업로드하면 Layer가 완성됩니다.
이번 업로드한 Layer는 import cwlogging
로 하는 것으로 호출할 수 있습니다.
Lambda 함수에서 레이어 가져 오기
Lambda 함수의 코드는 테스트이므로 쉽게 갈 것입니다.
잊지 말고 import cwlogging
를 작성하여 이전 레이어를 가져옵니다.
lambda_function.pyimport cwlogging
# lambda_handler
def lambda_handler(event, context):
# TODO implement
cwlogging.logging("INFO", "LambdaLayerTest", "This is test.")
return ''
Lambda 함수에서 레이어 참조
Lambda 함수 아래에는 레이어의 참조 상태를 보여주는 화면이 있습니다.
여기에서 "레이어 추가"를 눌러 Lambda 함수와 레이어를 연결합니다.
Lambda 실행
Lambda 함수에서 Layer를 참조할 수 있게 한 후, Lambda 함수를 실행하면 다음과 같은 결과가 됩니다.
Lambda 함수에서 Layer를 호출하여 처리할 수 있음을 알 수 있습니다.
다른 Lambda 함수에서 cwlogging
마찬가지로 Lambda 함수에서 Layer를 참조할 수 있도록 하고, 코드내에서 import cwlogging
해 주는 것만으로 좋다.
Lambda Layers의 등장으로, 어느 Lambda 함수에서도 실행하는 공통 처리가 있으면,
그 처리를 Layer화하는 것으로, 간편하게 재이용할 수 있게 되었습니다. 편리합니다.
참고문헌
AWS Lambda Layers - AWS 공식
Reference
이 문제에 관하여(Lambda Layers로 공통 패키지 만들기 (로깅 예제)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nasuvitz/items/0037f1329c231d582344
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import datetime
# Lambdaログ出力(CloudWatch Logs)関数
def logging(errorLv, lambdaName, errorMsg):
loggingDateStr=(datetime.datetime.now()).strftime('%Y/%m/%d %H:%M:%S')
logStr = loggingDateStr + " [" + errorLv + "] " + lambdaName + " " + errorMsg
# CloudWatch Logsに出力
print(logStr)
# ログ文字列を返却
return logStr
제작법을 따라야합니다.
공식 문서를 읽으면 파이썬의 경우 'python'디렉토리를 만들고 그 아래에 .py를 저장해야합니다.
방금 만든 cwlogging.py를 아래와 같이 zip화하여 s3에 업로드합니다.
$ mkdir python
$ mv cwlogging.py python/
$ zip -r cwlogging.zip python/
$ aws s3 cp cwlogging.zip s3://lambdalayertest/
Lambda Layers 만들기
Lambda의 관리 화면으로 가면 왼쪽에 "Layers"가 증가하고 있습니다.
Layers 관리 화면에서 s3의 .zip 경로를 지정하여 업로드하면 Layer가 완성됩니다.
이번 업로드한 Layer는 import cwlogging
로 하는 것으로 호출할 수 있습니다.
Lambda 함수에서 레이어 가져 오기
Lambda 함수의 코드는 테스트이므로 쉽게 갈 것입니다.
잊지 말고 import cwlogging
를 작성하여 이전 레이어를 가져옵니다.
lambda_function.pyimport cwlogging
# lambda_handler
def lambda_handler(event, context):
# TODO implement
cwlogging.logging("INFO", "LambdaLayerTest", "This is test.")
return ''
Lambda 함수에서 레이어 참조
Lambda 함수 아래에는 레이어의 참조 상태를 보여주는 화면이 있습니다.
여기에서 "레이어 추가"를 눌러 Lambda 함수와 레이어를 연결합니다.
Lambda 실행
Lambda 함수에서 Layer를 참조할 수 있게 한 후, Lambda 함수를 실행하면 다음과 같은 결과가 됩니다.
Lambda 함수에서 Layer를 호출하여 처리할 수 있음을 알 수 있습니다.
다른 Lambda 함수에서 cwlogging
마찬가지로 Lambda 함수에서 Layer를 참조할 수 있도록 하고, 코드내에서 import cwlogging
해 주는 것만으로 좋다.
Lambda Layers의 등장으로, 어느 Lambda 함수에서도 실행하는 공통 처리가 있으면,
그 처리를 Layer화하는 것으로, 간편하게 재이용할 수 있게 되었습니다. 편리합니다.
참고문헌
AWS Lambda Layers - AWS 공식
Reference
이 문제에 관하여(Lambda Layers로 공통 패키지 만들기 (로깅 예제)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nasuvitz/items/0037f1329c231d582344
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Lambda 함수의 코드는 테스트이므로 쉽게 갈 것입니다.
잊지 말고
import cwlogging
를 작성하여 이전 레이어를 가져옵니다.lambda_function.py
import cwlogging
# lambda_handler
def lambda_handler(event, context):
# TODO implement
cwlogging.logging("INFO", "LambdaLayerTest", "This is test.")
return ''
Lambda 함수에서 레이어 참조
Lambda 함수 아래에는 레이어의 참조 상태를 보여주는 화면이 있습니다.
여기에서 "레이어 추가"를 눌러 Lambda 함수와 레이어를 연결합니다.
Lambda 실행
Lambda 함수에서 Layer를 참조할 수 있게 한 후, Lambda 함수를 실행하면 다음과 같은 결과가 됩니다.
Lambda 함수에서 Layer를 호출하여 처리할 수 있음을 알 수 있습니다.
다른 Lambda 함수에서 cwlogging
마찬가지로 Lambda 함수에서 Layer를 참조할 수 있도록 하고, 코드내에서 import cwlogging
해 주는 것만으로 좋다.
Lambda Layers의 등장으로, 어느 Lambda 함수에서도 실행하는 공통 처리가 있으면,
그 처리를 Layer화하는 것으로, 간편하게 재이용할 수 있게 되었습니다. 편리합니다.
참고문헌
AWS Lambda Layers - AWS 공식
Reference
이 문제에 관하여(Lambda Layers로 공통 패키지 만들기 (로깅 예제)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nasuvitz/items/0037f1329c231d582344
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Lambda 함수에서 Layer를 참조할 수 있게 한 후, Lambda 함수를 실행하면 다음과 같은 결과가 됩니다.
Lambda 함수에서 Layer를 호출하여 처리할 수 있음을 알 수 있습니다.
다른 Lambda 함수에서
cwlogging
마찬가지로 Lambda 함수에서 Layer를 참조할 수 있도록 하고, 코드내에서 import cwlogging
해 주는 것만으로 좋다.Lambda Layers의 등장으로, 어느 Lambda 함수에서도 실행하는 공통 처리가 있으면,
그 처리를 Layer화하는 것으로, 간편하게 재이용할 수 있게 되었습니다. 편리합니다.
참고문헌
AWS Lambda Layers - AWS 공식
Reference
이 문제에 관하여(Lambda Layers로 공통 패키지 만들기 (로깅 예제)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nasuvitz/items/0037f1329c231d582344
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Lambda Layers로 공통 패키지 만들기 (로깅 예제)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nasuvitz/items/0037f1329c231d582344텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)