Lambda 와 Aurora 연동
How to connect your Lambda function securely to your private RDS instances in your VPC!
A guide to Lambda + VPC + RDS, with common issues and some explanations!
medium.com
Amazon S3 버킷의 텍스트 파일에서 Amazon Aurora MySQL DB 클러스터로 데이터 로드 - Amazon Aurora
Amazon S3 버킷의 텍스트 파일에서 Amazon Aurora MySQL DB 클러스터로 데이터 로드 LOAD DATA FROM S3 또는 LOAD XML FROM S3 문을 사용하여 Amazon S3 버킷에 저장된 파일에서 데이터를 로드할 수 있습니다. 참고 Amazon Aurora MySQL 1.8 및 이후 버전에서는 Amazon S3 버킷에서는 데이터를 텍스트 파일에서 테이블로 로드할 수 있습니다. Aurora MySQL 버전에 대한 자세한 내용
docs.aws.amazon.com
https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/vpc-rds.html
자습서: Amazon VPC에서 Amazon RDS에 액세스하도록 Lambda 함수 구성 - AWS Lambda
자습서: Amazon VPC에서 Amazon RDS에 액세스하도록 Lambda 함수 구성 이 자습서에서는 다음 작업을 수행합니다. 기본 Amazon VPC에서 Amazon RDS MySQL 데이터베이스 엔진 인스턴스를 시작합니다. MySQL 인스턴스에서 샘플 테이블(Employee)이 포함된 데이터베이스(ExampleDB)를 생성합니다. Amazon RDS에 대한 자세한 내용은 Amazon RDS를 참조하십시오. ExampleDB 데이터베이스를 액세스하기
docs.aws.amazon.com
* Load Data Files into Aurora RDS from S3 Bucket
SET @file_name = 'file_name'
SET @s3_path = CONCAT('s3://bucket-name/folder-name/', @file_name);
SET @q = CONCAT('
SELECT *
FROM table
INTO OUTFILE S3 ''', @s3_path, ''' ;
CHARACTER SET utf8
FIELDS TERMINATED BY '',''
OPTIONALLY ENCLOSED BY ''"''
LINES TERMINATED BY ''\\r\\n''
OVERWRITE ON;');
PREPARE stmt FROM @q;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
* load data import DB
query = """ LOAD DATA FROM S3 PREFIX '######/'
INTO TABLE TBL_SA_DATA
CHARACTER SET utf8
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\\n'
IGNORE 1 LINES
(CAMPAIGN_TYPE, CAMPAIGN_NAME, REG_DT, URL, MEDIA_NAME)
"""
CREATE FUNCTION `split`( str VARCHAR(500), del VARCHAR(2), idx INT ) RETURNS varchar(500)
BEGIN
/**
문자열에서 특정값으로 배열을 잘라주는 함수 (없으면 빈문자열을 리턴함)
str: 해당 문자열
del: 구분자
idx: 구분자로 구분한 위치 (1부터 시작함)
**/
RETURN SUBSTR(SUBSTRING_INDEX(str, del, idx),LENGTH(SUBSTRING_INDEX(str, del, idx-1))+IF(idx > 1, 2, 1));
END