2023년 Snowflake Connector for Python 릴리스 정보

이 문서에는 Snowflake Connector for Python 에 대한 릴리스 정보가 있는데, 해당되는 경우 다음을 포함합니다.

  • 동작 변경 사항

  • 새로운 기능

  • 고객이 직면한 버그 수정

Snowflake는 Snowflake Connector for Python 업데이트에 의미 체계 버전 관리를 사용합니다.

버전 3.6.0(2023년 12월 7일)

새로운 기능과 업데이트

  • 벡터 유형에 대한 지원을 추가했습니다.

  • private_key_fileprivate_key_file_pwd 연결 매개 변수에 대한 지원을 추가했습니다.

  • 연결의 마스터 토큰이 만료되었는지 여부를 추적하는 SnowflakeConnection 클래스에 새 expired 플래그를 추가했습니다.

  • 3.10보다 낮은 Python 버전에만 영향을 미치도록 urlib3 버전 핀을 변경했습니다.

버그 수정 사항

  • 날짜 형식을 설정하고 qmark 스타일 바인딩을 사용할 때 날짜 삽입에 실패하는 버그를 수정했습니다.

버전 3.5.0(2023년 11월 13일)

새로운 기능과 업데이트

  • Snowflake Connector for Python 는 이제 apache arrow-nanoarrow 프로젝트에만 구축되었습니다.

    • 휠 크기를 1MB까지 줄이고 설치 크기를 5MB까지 줄였습니다.

    • 특정 버전의 pyarrow에 대한 엄격한 종속성을 제거했습니다.

  • nanoarrow 변환기를 지원하고자 다음의 사용을 중단했습니다.

    • snowflake.connector.cursor.NanoarrowUsage 클래스.

    • NANOARROW_USAGE 환경 변수.

    • snowflake.connector.cursor.NANOARROW_USAGE 모듈 변수.

버그 수정 사항

  • 없습니다.

버전 3.4.1(2023년 11월 9일)

새로운 기능과 업데이트

  • 다음 라이브러리를 업데이트했습니다.

    • 벤더 지원을 받는 urlib3 을 버전 1.26.18로 업데이트했습니다.

    • 벤더 지원을 받는 requests 를 버전 2.31.0으로 업데이트했습니다.

버그 수정 사항

  • 없습니다.

버전 3.4.0(2023년 11월 3일)

새로운 기능과 업데이트

  • write_pandas 에서 use_logical_type 에 대한 지원을 추가했습니다.

  • 실패한 요청의 재시도 간에 구성 가능한 백오프 정책을 허용하는 snowflake.connector.connectbackoff_policy 인자를 추가했습니다. backoff_policies 모듈에서 사용 가능한 구현을 확인하십시오.

  • 소켓 읽기 및 연결 시간 제한을 지정하는 snowflake.connector.connectsocket_timeout 인자를 추가했습니다.

  • pycryptodomex 및 oscrypto에 대한 종속성을 제거했습니다. 이제 모든 연결은 이미 종속성이었던 암호화 라이브러리를 통해 OpenSSL을 통과합니다.

버그 수정 사항

  • login_timeoutnetwork_timeout 동작을 수정했습니다. 이제 이러한 제한 시간이 만료된 후 로그인 및 네트워크 요청 재시도가 올바르게 중지됩니다.

  • 벤더의 공급을 받는 urllib3/urllib3#1878 문제의 버그를 수정했습니다.

  • 80GB 이상의 파일을 S3으로 수집하는 문제를 수정했습니다.

버전 3.3.1(2023년 10월 18일)

새로운 기능과 업데이트

  • Windows가 아닌 플랫폼의 경우 구성 파일의 충분하지 않은 파일 권한에 대해 명령 제안(chown 또는 chmod)을 추가했습니다.

버그 수정 사항

  • 연결 진단이 인증서 확인을 완료하지 못하는 문제를 수정했습니다.

  • C 확장 프로그램이 컴파일되지 않았을 때 arrow 반복기가 ImportError 를 발생시키는 문제를 수정했습니다.

버전 3.3.0(2023년 10월 12일)

새로운 기능과 업데이트

  • 결과 arrow 데이터 변환을 위해 Apache arrow-nanoarrow 프로젝트로 업데이트했습니다.

  • Nanoarrow 변환기와 Arrow 변환기 사이를 전환할 수 있도록 NANOARROW_USAGE 환경 변수를 도입했습니다. 다음과 같은 값이 유효한 값입니다.

    • 서버에서 구성된 변환기를 사용하는 FOLLOW_SESSION_PARAMETER.

    • Arrow 변환기를 사용하여 서버 설정을 재정의하는 DISABLE_NANOARROW.

    • Nanoarrow 변환기를 사용하여 서버 설정을 재정의하는 ENABLE_NANOARROW.

  • 멤버에 다음을 포함하는 snowflake.connector.cursor.NanoarrowUsage 열거형을 도입했습니다.

    • 서버에서 구성된 변환기를 사용하는 NanoarrowUsage.FOLLOW_SESSION_PARAMETER.

    • Arrow 변환기를 사용하여 서버 설정을 재정의하는 NanoarrowUsage.DISABLE_NANOARROW.

    • Nanoarrow 변환기를 사용하여 서버 설정을 재정의하는 NanoarrowUsage.ENABLE_NANOARROW.

  • Nanoarrow 변환기와 Arrow 변환기 사이를 전환할 수 있도록 snowflake.connector.cursor.NANOARROW_USAGE 모듈 변수를 도입했습니다. 이는 snowflake.connector.cursor.NanoarrowUsage enum과 함께 작동합니다.

참고

새로 도입된 환경 변수 enum과 모듈 변수는 임시 변수입니다. 데이터 변환을 위해 Arrow에서 Nanoarrow로 전환이 완료되면 향후 릴리스에서 제거할 예정입니다.

버그 수정 사항

  • 없습니다.

버전 3.2.1(2023년 10월 3일)

새로운 기능과 업데이트

  • 여러 연결을 동시에 인스턴스화할 때 원격 분석에 스레드 안전을 추가했습니다.

  • 인증 변경 사항 처리의 견고성을 개선했습니다.

  • urllib3 라이브러리에서 urllib3.contrib.pyopenssl 지원 중단 경고를 삭제했습니다.

  • platformdirs 종속성을 버전 2.6.0부터 3.9.0까지에서 버전 2.6.0부터 4.0.0까지로 업데이트했습니다.

버그 수정 사항

  • AWS PrivateLink OCSP 재시도에서 URL, 포트, 경로가 무시되는 버그를 수정했습니다.

버전 3.2.0(2023년 9월 7일)

새로운 기능과 업데이트

  • snowflake.connector.config_manager 모듈에서 parser -> manager 이름 바꾸기의 일관성을 높였습니다.

  • ConfigOptions 의 기본값에 대한 지원을 추가했습니다.

  • config.toml 파일에 default_connection_name 을 추가했습니다.

버그 수정 사항

  • 없습니다.

버전 3.1.1(2023년 8월 28일)

새로운 기능과 업데이트

  • 원시 바이트 외에 AuthByKeyPair 를 생성할 때 RSAPublicKey를 위한 지원을 추가했습니다.

버그 수정 사항

  • 토큰 새로 고침에 대한 OKTA 인증 재시도 논리의 버그를 수정했습니다.

  • SOCKS5 프록시를 통해 연결할 때 SOCKSProxyManager 에서 proxy_header 특성이 누락되는 버그를 수정했습니다.

버전 3.1.0(2023년 7월 31일)

새로운 기능과 업데이트

  • connections.toml 구성 파일에 연결 정의를 추가할 수 있는 기능을 추가했습니다. 예를 들어 《prod》라는 연결을 정의하려는 경우 연결 정의는 연결 매개 변수 모음을 참조합니다.

    [prod]
    account = "my_account"
    user = "my_user"
    password = "my_password"
    
    Copy

    기본적으로, SNOWFLAKE_HOME 환경 변수에 지정된 위치에서 connections.toml 파일을 찾습니다(기본값: ~/.snowflake). 이 폴더가 존재하지 않는 경우 Python 커넥터는 다음과 같이 platformdirs 위치에서 파일을 찾습니다.

    • Linux: ~/.config/snowflake/. 단, XDG 설정을 따름

    • Mac: ~/Library/Application Support/snowflake/

    • Windows: %USERPROFILE%\AppData\Local\snowflake\

    다음 명령을 실행하여 사용되는 파일을 확인할 수 있습니다.

    python -c "from snowflake.connector.constants import CONNECTIONS_FILE; print(str(CONNECTIONS_FILE))"
    
    Copy
  • 암호화 종속성을 <41.0.0,>=3.1.0에서 >=3.1.0,<42.0.0으로 높였습니다.

  • Windows에서 tmp 캐시 파일을 제거하도록 OCSP 응답 캐싱을 개선했습니다.

  • 디스크 쓰기 시간을 줄이도록 OCSP 응답 캐싱을 개선했습니다.

  • 클라이언트 연결 종료 시 SnowflakeConnection 에서 세션 삭제를 건너뛰는 매개 변수 server_session_keep_alive 를 추가했습니다.

  • 새 릴리스로 인해 커넥터의 새 버전이 중단되는 것을 방지하기 위해 platformdirs 고정을 강화했습니다.

  • type_mapperfetch_pandas_batches()fetch_pandas_all() 에 전달할 수 있도록 했습니다.

  • 인증이 제한되는 경우 토큰을 새로 고치기 위한 okta 인증의 재시도 논리를 개선했습니다.

  • 클라이언트가 재시도하는 쿼리에 대한 재시도 이유를 추가했습니다.

  • Python 3.7 지원을 제거했습니다.

  • 연결 재설정 오류의 오류 처리를 개선했습니다.

버그 수정 사항

  • SFPlatformDirs 가 해당 경로에 application_name/version을 잘못 추가하는 버그를 수정했습니다.

  • 사용자에게 대상 스키마에서 스테이지 또는 파일 형식을 생성할 권한은 없지만 현재 스키마에 알맞은 권한이 있는 경우 write_pandas 가 실패하는 버그를 수정했습니다.

  • 다중 스레드 시나리오에서 캐시 직렬화 중에 가끔 발생하는 세분화 장애를 해결했습니다.

  • PUT 명령을 실행할 때 발생하는 임시 파일 삭제 관련 버그를 수정했습니다.

  • 다중 스레드 시나리오에서 캐시 직렬화 중에 pickle.dump 세분화 장애가 발생하는 버그를 수정했습니다.

버전 3.0.4(2023년 5월 25일)

새로운 기능과 업데이트

  • 결과 형식이 JSON일 때 utf-8 형식의 JSON 콘텐츠를 강제로 디코딩하도록 json_result_force_utf8_decoding 연결 매개 변수를 추가했습니다.

  • 번들로 포함된 라이브러리 urllib3을 1.26.15로 높였습니다.

  • 번들로 포함된 Requests 라이브러리를 2.29.0으로 높였습니다.

  • Pandas 종속성을 <1.6.0,>=1.0.0에서 >=1.0.0,<2.1.0으로 높였습니다.

  • 기하학 유형을 위한 지원을 추가했습니다.

버그 수정 사항

  • 다중 문 쿼리 실행 시 cursor.execute() 가 인자 statement_params 사전 오브젝트를 수정할 수 있는 버그를 수정했습니다.

  • 커서가 비동기 다중 문 쿼리를 실행하는 경우 첫 번째 쿼리 결과를 가져오기 전에 SnowflakeCursor.nextset 를 호출하지 못하는 버그를 수정했습니다.

  • execute_async() 의 결과를 산출하기 전에 _prefetch_hook() 이 호출되지 않는 버그를 수정했습니다.

  • 일부 ResultMetadata 필드가 선택 사항인데 필수 사항으로 표시되는 버그를 수정했습니다.

  • 대량 삽입 시 날짜가 잘못 변환되는 버그를 수정했습니다.

버전 3.0.3(2023년 4월 20일)

새로운 기능과 업데이트

  • 스테이지에 파일이 존재하고 파일 내용이 일치하는 경우 사용자가 파일 업로드를 스테이지로 건너뛸 수 있게 해주는 매개 변수를 추가했습니다.

  • SnowflakeCursor.execute 메서드의 유형 힌트를 개선했습니다.

  • 이름이 동일한 여러 파일을 다운로드할 때 경고하도록 GET 로깅을 개선했습니다.

버그 수정 사항

  • GCS의 GET 명령에 대한 로그에 오류를 인쇄하는 버그를 수정했습니다.

  • 스테이지에 파일이 존재하고 파일 내용이 일치하는 경우 사용자가 파일 업로드를 스테이지로 건너뛸 수 있게 해주는 매개 변수를 추가했습니다.

  • snowflake.connector.pandas_tool.write_pandas 에 큰따옴표가 포함된 열 이름으로 Pandas DataFrame을 작성할 때 발생하는 버그를 수정했습니다.

  • snowflake.connector.pandas_tool.write_pandas 에 이진 데이터로 Pandas DataFrame을 작성할 때 발생하는 버그를 수정했습니다.

버전 3.0.2(2023년 3월 23일)

새로운 기능과 업데이트

  • 없습니다.

버그 수정 사항

  • SnowflakeCursor.fetch_arrow_allSnowflakeCursor.fetchall 의 잘못된 유형 힌트 버그를 수정했습니다.

  • 오류가 발생하는 경우 토큰을 마스킹하도록 로깅을 개선했습니다.

  • 줄 사이에 공백이 없는 경우에 snowflake.connector.util_text.split_statements 가 마지막 줄 바꿈을 삼키는 버그를 수정했습니다.

  • Cython 확장의 로깅 모듈에서 메모리 누수 문제를 수정했습니다.

  • 여러 부분으로 구성된 파일을 업로드할 때 AWS의 put 명령이 AttributeError 를 발생시키는 버그를 수정했습니다.

  • AWS의 put 명령이 200MB보다 큰 파일 크기에 대해 AttributeError 를 발생시키는 버그를 수정했습니다.

버전 3.0.1(2023년 3월 1일)

새로운 기능과 업데이트

  • 직렬화 및 역직렬화가 발생하는 경우 오류를 처리하기 위해 OCSP 응답 캐싱의 견고성을 개선했습니다.

  • 패키징을 위해 setuptools 에 대한 종속성을 대체했습니다.

  • async_executes 메서드의 문서 문자열을 업데이트했습니다.

  • 이제 발생한 오류에는 해당 오류를 발생시킨 SQL 쿼리가 포함된 쿼리 필드가 있습니다(사용 가능한 경우).

버그 수정 사항

  • AuthByKeyPair.prepare 를 호출할 때 AuthByKeyPair.handle_timeout 이 위치 인자 대신 키워드 인자를 전달해야 하는 버그를 수정했습니다.

  • 재인증하는 대신 다시 시작할 때까지 MFA 토큰 캐싱이 작동을 거부하는 버그를 수정했습니다.

버전 3.0.0(2023년 1월 27일)

BCR(동작 변경 릴리스) 변경 사항

  • write_pandas가 중간 오브젝트를 생성하기 위해 사용자 지정 스키마와 데이터베이스를 사용하지 않는 버그를 수정했습니다.

    이전에는 write_pandas 함수가 현재 사용되는 데이터베이스와 스키마에 임시 오브젝트를 생성하고, 사용자가 지정한 데이터베이스와 스키마에 (생성되거나 추가된) 최종 테이블만 넣었습니다. 이 버전에서는 write_pandas 의 데이터베이스 또는 스키마 매개 변수가 현재 선택된 매개 변수와 다른 경우 write_pandas 를 실행하는 사용자에게 임시 스테이지, 파일 형식, write_pandas 함수에서 참조하는 스키마가 있는 테이블을 생성/삭제할 수 있는 액세스 권한이 있는지 확인해야 합니다.

    프리 프로덕션 환경에서 새 드라이버 버전을 테스트한 후 프로덕션 환경에 배포하는 것이 좋습니다. 이러한 동작 변경으로 인해, 위에 나열된 시나리오(즉, 현재 컨텍스트와 다른 데이터베이스 또는 스키마 매개 변수가 있는 write_pandas)에 특별히 주의해야 합니다.

새로운 기능과 업데이트

  • PyArrow 종속성을 >=8.0.0,<8.1.0에서 >=10.0.1,<10.1.0으로 높였습니다.

  • pyOpenSSL 종속성을 <23.0.0에서 <24.0.0으로 높였습니다.

  • 브라우저 기반 인증 중에 이제는 SSO URL이 인쇄된 후에 브라우저에서 이 URL을 엽니다.

  • ArrowResult를 가져올 수 없는 경우에 대한 로그 수준을 높였습니다.

  • C 확장을 컴파일할 때 최소 MacOS 버전 확인을 추가했습니다.

버그 수정 사항

  • write_pandas 가 중간 오브젝트를 생성하기 위해 사용자 지정 스키마와 데이터베이스를 사용하지 않는 버그를 수정했습니다.

  • 429의 HTTP 응답 코드를 재시도하지 않는 버그를 수정했습니다.

  • MFA 토큰 캐싱이 작동하지 않는 버그를 수정했습니다.