목록lambda (4)
without haste but without rest
참조 - www.youtube.com/watch?v=vXiZO1c5Sk0 단계 요약 1. aws lambda 함수 생성 2. IAM 롤 부여 3. S3 버킷 생성 4. lambda 환경에서 스크립트 작성 5. 테스트 및 배포 참조한 영상에서는 IAM을 먼저 생성하고 람다 함수를 작성하는데, 굳이 순서를 따라하지 않아도 된다. 본 포스팅은 람다를 이용해서 s3에 파일 저장하는 방법을 정리했다. 1. 람다 함수 생성 적당한 이름으로 람다 함수를 하나 생성한다. 랭귀지는 파이썬을 선택했다. 편한 언어로 선택하도록 하자 권한은 기본으로 설정한다. 추후에 해당 롤에 권한을 추가 해준다. 람다 함수를 생성하면 이와 같은 화면으로 넘어간다. 권한 카테고리를 눌러서 IAM의 권한을 추가 해줘야 한다. 권한 카테고리의 ..
tft 데이터를 적재하기 위한 파이프라인을 구축하던 중에 람다를 사용하기로 결정했다. 람다는 서버리스 솔루션이고 트리거가 작동하면 미리 지정해둔 스크립트로 반응을 한다. 내가 구현하고자 하는 파이프라인은 데이터가 스트림으로 들어와서 카프카가 필요하지 않지만 그렇다고 배치처리라고 하기엔 애매하다. 대략 20분마다 데이터를 수집해서 저장해야하므로 람다를 사용하면 효율적으로 리소스를 사용할 수 있을 것이라고 판단했다. tft_data_transport가 트리거 작동하면 실행할 스크립트다. 왼쪽은 API GATEWAY고 얘도 솔루션이다. 엔드포인트 및 프로토콜 방식을 지정해준다. 정리하면 api 게이트웨이는 네트워크 연결 방식을 결정하고 람다는 해당 서버에 요청이 들어오면 어떻게 반응할 것인지에 관해 결정한다...
import random def make_score(a=30, b=99, dup=True): names = [chr(name) for name in range(ord('a'), ord('z'))] random.shuffle(names) if dup == True: scores = [[random.randint(a, b) for _ in range(5)] for _ in range(8)] res = list(zip(names, scores)) return res else: scores = [random.sample(range(10, 100), 5) for _ in range(8)] res = list(zip(names, scores)) return res def print_list(score_list, n..
# input data mylist = [ ('a', [1, 2, 3]), ('b', [2, 3, 4]), ('c', [5, 6, 7]) ] mylist.sort(key=lambda x: max(x[1])) 과제 하다가 람다식까지 찾을 줄 상상도 못했다. 근데 이건 나중에 코테에서 요긴하게 써먹을 것 같다. sort나 sorted 함수의 키 옵션에 lambda 를 써서 위처럼 정렬을 시킬 수가 있다. 위 코드 같은 경우에는 정렬시킬 기준이 리스트의 각 요소의 1번째 요소들 중에서 최대 값을 찾고 이를 기준으로 정렬시키라는 의미다. 즉 mylist의 각 요소(인자)에서의 1번째는 리스트 형태인 [1, 2, 3] , [2, 3, 4], [5, 6, 7] 이며 각각 최대 값인 3 4 7을 기준으로 정렬시킨다...