Spanner용 Python 클라이언트 라이브러리는 Spanner와 마찬가지로 Spanner Omni와 함께 작동합니다. 이 문서에서는 Python 클라이언트 라이브러리를 구성하여 Spanner Omni에 보안 연결을 설정하는 방법을 보여줍니다. 클라이언트를 만들 때 클라이언트 옵션을 설정하여 이러한 연결을 설정합니다.
Python 클라이언트 라이브러리는 일반 텍스트, TLS, 사용자 인증 정보가 있는 TLS, mTLS 연결을 지원합니다.
자세한 내용은 Spanner 문서의 Python에서 Spanner 시작하기를 참고하세요.
시작하기 전에
Spanner Omni와 함께 Python 클라이언트 라이브러리를 사용하려면 Python 클라이언트 라이브러리 버전 3.72.0 이상을 사용하세요.
Spanner Omni Python 패키지를 설치하려면 다음 명령어를 실행합니다.
pip install google-cloud-spanner>=3.72.0
Client 객체 구성
Client 객체를 구성할 때 client_options에 Spanner Omni 엔드포인트를 지정하고 instance_type=InstanceType.OMNI을 지정합니다.
다음 예에서는 지원되는 각 보안 구성에 대해 Client 객체를 구성하는 방법을 보여줍니다.
일반 텍스트
일반 텍스트 연결을 설정하려면 instance_type=InstanceType.OMNI 및 use_plain_text=True를 지정하세요.
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
use_plain_text=True,
)
다음을 바꿉니다.
ENDPOINT: Spanner Omni 인스턴스의 엔드포인트입니다.
TLS
TLS 연결을 설정하려면 ca_certificate를 사용하여 CA 인증서의 경로를 지정합니다.
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
ca_certificate="PATH_TO_CA_CERT",
)
다음을 바꿉니다.
ENDPOINT: Spanner Omni 인스턴스의 엔드포인트입니다.PATH_TO_CA_CERT: CA 인증서 파일의 경로입니다.
사용자 인증 정보가 있는 TLS
사용자 이름 및 비밀번호 인증으로 TLS 연결을 설정하려면 CA 인증서와 함께 username 및 password 매개변수를 지정합니다.
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
ca_certificate="PATH_TO_CA_CERT",
username="USERNAME",
password="PASSWORD",
)
다음을 바꿉니다.
ENDPOINT: Spanner Omni 인스턴스의 엔드포인트입니다.PATH_TO_CA_CERT: CA 인증서 파일의 경로입니다.USERNAME: Spanner Omni 사용자의 사용자 이름입니다.PASSWORD: Spanner Omni 사용자의 비밀번호입니다.
mTLS
상호 TLS (mTLS) 연결을 설정하려면 CA 인증서, 클라이언트 인증서, 비공개 클라이언트 키를 지정합니다.
from google.cloud import spanner
from google.cloud.spanner_v1 import InstanceType
spanner_client = spanner.Client(
client_options={"api_endpoint": "ENDPOINT"},
instance_type=InstanceType.OMNI,
ca_certificate="PATH_TO_CA_CERT",
client_certificate="PATH_TO_CLIENT_CERT",
client_key="PATH_TO_CLIENT_KEY",
)
다음을 바꿉니다.
ENDPOINT: Spanner Omni 인스턴스의 엔드포인트입니다.PATH_TO_CA_CERT: CA 인증서 파일의 경로입니다.PATH_TO_CLIENT_CERT: 클라이언트 인증서 파일의 경로입니다.PATH_TO_CLIENT_KEY: 클라이언트 비공개 키 파일의 경로입니다.
데이터베이스 가져오기
Client 객체를 구성한 후 데이터베이스를 가져올 수 있습니다. Spanner Omni는 Google Cloud 프로젝트 또는 인스턴스 ID를 사용하지 않으므로 Instance를 만들 때 인스턴스 ID에 default를 지정합니다.
instance = spanner_client.instance("default")
database = instance.database("DATABASE_ID")
다음을 바꿉니다.
DATABASE_ID: Spanner Omni 데이터베이스의 ID입니다.