본문 바로가기

AWS Lambda ƛ/Lambda & Python

(3)
Lambda Layers 를 활용해 공통 라이브러리 관리하기 # 기존 방식처럼 lambda 라이브러리를 zip 파일로 생성하여 AWS Lambda에 업로드 하게 되면 함수를 매번 생성할 때마다 업로드를 라이브러리를 업로드 해야하는 불편함이 있다. AWS Lambda의 새롭게 추가된 기능을 보면 Layers 계층이라는 기능이 있다. 해당 Layers를 신규로 추가하여 공통된 라이브러리를 올릴수 있다. 1. 레이어 생성 계층을 클릭하여 하나의 레이어를 생성한다. 2. 계층 생성 옵션에서 아래와 같이 구성내용을 입력하여 구성을 진행한다. 여기서 주의할 점은 파이썬 라이브러리 파일의 이름이 이전에는 bs4.zip으로 저장 되었지만, AWS Lambda에서 라이브러리를 인식 하는 위치 조건에는 최상위 폴더가 Library가 되어야 하고, 해당 폴더안에 python이라는 폴..
AWS Lambda를 활용하여 크롤링 봇 만들기 파이참에서 bs4 라이브러리의 BeautifulSoup 을 통해 구글의 메인 페이지의 a 태그값들을 모두 가져온다. import urllib.request from bs4 import BeautifulSoup url = "https://www.google.com" soup = BeautifulSoup(urllib.request.urlopen(url).read(), "html.parser") a_tags = soup.find_all('a') request_list = [] for i in a_tags: request_list.append((i.get_text())) print(request_list) 그렇다면 파이참에서 실행하는것과 같이 AWS 람다에서도 실행이 가능할까? AWS 람다에서 실행하기 위해서는..
S3 버킷의 폴더를 삭제 후 새폴더를 생성 및 파일을 업로드 하는 방법 # 작업 구성도 # 람다 코드 #--------------------------------------------------------------------------------- # 특정 S3 버킷의 폴더를 삭제 후 특정 폴더를 생성과 동시에 파일을 업로드 하는 방법 # 해당 버킷의 Prefix에 1개의 파일만 존재하도록 유지하기 위함 # → 아테나나 퀵사이트에서 1개의 파일을 읽어야만 하는 경우가 생기는 경우 # → → S3 버킷에 1개의 파일만 존재해야 하는 경우...!! #--------------------------------------------------------------------------------- import time import boto3 # query = 'SELECT * F..