High-Level SDK 시작하기
High-Level SDK는 lakeFS를 파이썬다운(Pythonic) 인터페이스로 다룰 수 있게 해줘요. 이 문서에서는 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/ 에서 확인할 수 있어요.