본문 바로가기
WIKI 기술 지식 베이스

High-Level SDK 시작하기

원문 보기 위키 갱신

High-Level SDK는 lakeFS를 파이썬다운(Pythonic) 인터페이스로 다룰 수 있게 해줘요. 이 문서에서는 SDK의 설치, 초기화, 그리고 설정 방법을 다룹니다.

출처: High-Level SDK 시작하기

본문

설치

High-Level SDK는 pip으로 설치해요:

pip install lakefs

또는 최신 버전으로 업그레이드하려면 이렇게 해요:

pip install --upgrade lakefs

초기화

High-Level SDK는 기본적으로 환경에서 인증 파라미터를 수집해 기본 클라이언트 생성을 시도해요. lakectl이 설정된 환경에서 작업할 때는 lakeFS 클라이언트를 직접 인스턴스화하거나, lakeFS 객체를 만들 때 클라이언트를 넘겨줄 필요가 없어요.

인증 파라미터가 없는 경우에는 lakeFS 클라이언트를 명시적으로 생성할 수도 있어요.

기본 클라이언트 초기화

클라이언트를 인스턴스화하는 방법은 다음과 같아요:

from lakefs.client import Client

clt = Client(
    host="http://localhost:8000",
    username="«redacted:AKIA…»",
    password="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
)

Info

AWS 역할로 Python에서 로그인하는 방법은 여기를 참고하세요. 엔터프라이즈 사용자에게 해당되는 내용이에요.

SSL 설정

호스트가 신뢰하지 않는 CA로 TLS를 사용하려면, CA 인증서 번들 파일로 클라이언트를 설정하면 돼요. 이 파일에는 PEM 형식의 CA 인증서들이 이어 붙여진(concatenated) 형태로 들어가야 해요:

clt = Client(
    host="https://lakefs.example.io",
    username="«redacted:AKIA…»",
    password="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
    # Customize the CA certificates used to verify the peer.
    ssl_ca_cert="path/to/concatenated_CA_certificates.PEM",
)

검증 없이 보안 엔드포인트에 연결하려면(테스트 환경용) 이렇게 해요:

clt = Client(
    host="https://lakefs.example.io",
    username="«redacted:AKIA…»",
    password="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
    verify_ssl=False,
)

Warning

이 설정은 잘 알려진 "중간자(man-in-the-middle)" 공격, 사칭 공격, 자격 증명 탈취 공격을 허용해요. 어떤 프로덕션 환경에서도 절대 사용하지 마세요.

프록시 설정

프록시를 통한 통신을 활성화하려면 프록시 설정을 추가해요:

clt = Client(
    host="https://lakefs.example.io",
    username="«redacted:AKIA…»",
    password="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
    ssl_ca_cert="(if needed)",
    proxy="<proxy server URL>",
)

다음 단계

SDK를 초기화했다면 다양한 연산들을 살펴보세요:

  • 브랜치 & 머지 - 기능 개발과 실험을 위해 브랜치를 활용해요

  • 레퍼런스, 커밋 & 태그 - 커밋 히스토리를 탐색하고, 커밋을 다루고, 태그를 관리해요

  • 트랜잭션 - 원자적(atomic) 연산을 수행해요

  • 데이터 연산 - 객체를 업로드, 다운로드하고 관리해요

더 알아보기 (Learn more)

공식 문서의 원문은 https://docs.lakefs.io/reference/python/getting-started/ 에서 확인할 수 있어요.