Fastly 객체 스토리지 가져오기
Fastly 객체 스토리지 가져오기
Fastly Object Storage는 S3 호환 API를 제공해서, DuckDB의 S3 지원을 그대로 이용해 Fastly 버킷에서 데이터를 읽고 쓸 수 있어요. 별도 드라이버 없이 httpfs 확장만 설치하면 S3로 작업하듯 Fastly에 접근할 수 있어요.
출처: 공식문서
사전 준비
Fastly Object Storage는 S3 호환 API를 제공해서, DuckDB의 S3 지원을 이용해 Fastly 버킷에서 읽고 쓸 수 있어요.
이를 위해 httpfs 확장이 필요하고, INSTALL SQL 명령으로 설치할 수 있어요. 이 설치는 한 번만 실행하면 돼요.
자격 증명과 구성
S3 인증 토큰을 생성한 뒤 DuckDB에서 S3 시크릿을 만들어야 해요:
CREATE SECRET my_secret (
TYPE s3,
KEY_ID '⟨«redacted:AKIA…»⟩',
SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩',
URL_STYLE 'path',
REGION '⟨us-east⟩',
ENDPOINT '⟨us-east⟩.object.fastlystorage.app' -- see note below
);
ENDPOINT는 사용하려는 리전의 Fastly 엔드포인트를 가리켜야 해요 (예:eu-central.object.fastlystorage.app).REGION은ENDPOINT에 언급된 리전과 같아야 해요.URL_STYLE은path를 사용해야 해요.
쿼리하기
Fastly Object Storage 자격 증명을 설정한 뒤에는 read_csv나 read_parquet 같은 DuckDB 내장 메서드로 그곳의 데이터를 쿼리할 수 있어요:
SELECT * FROM 's3://⟨fastly-bucket-name⟩/(file).csv';
SELECT * FROM read_parquet('s3://⟨fastly-bucket-name⟩/⟨file⟩.parquet');