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).
  • REGIONENDPOINT에 언급된 리전과 같아야 해요.
  • URL_STYLEpath를 사용해야 해요.

쿼리하기

Fastly Object Storage 자격 증명을 설정한 뒤에는 read_csvread_parquet 같은 DuckDB 내장 메서드로 그곳의 데이터를 쿼리할 수 있어요:

SELECT * FROM 's3://⟨fastly-bucket-name⟩/(file).csv';
SELECT * FROM read_parquet('s3://⟨fastly-bucket-name⟩/⟨file⟩.parquet');

더 알아보기 (Learn more)