TL;DR
- Google Cloud API 클라이언트 라이브러리가 Swift 6.2~6.4를 지원하고 Linux 서버 환경에서 정식 출시(GA) 상태에 도달했으며, 0.4.0부터 프로덕션 사용이 가능함.
GoogleCloudStorage의StorageControlClient를 사용해 프로젝트와 버킷 설정을 지정하고 스토리지 버킷을 생성하는 비동기 Swift 예제를 제공함.- Swift Package Manager(SPM)에서 패키지 버전 0.3.0 이상을 추가하고
GoogleCloudStorage타깃 의존성을 연결하는 절차를 안내함. - Linux는 Ubuntu 24.04 및 호환 배포판에서 별도
Package.swift플랫폼 설정 없이 지원되며, macOS는 15 이상이 필요함. - 1.0 이전에는 일부 소규모 호환성 중단 변경이 가능하며, 1.0 이후에는 시맨틱 버전 관리와 Google의 오픈소스 라이브러리 호환성 정책을 따름.
Google Cloud API 클라이언트 라이브러리 for Swift
- Google Cloud Platform 서비스용으로 관용적인 Swift 클라이언트 라이브러리를 제공함.
빠른 시작
GoogleCloudStorage의StorageControlClient를 사용해 프로젝트 ID와 버킷 ID를 지정하고, 표준 스토리지 클래스와 미국 리전을 설정해 버킷을 생성하는 비동기 예제를 제공함.- Swift Package Manager에서
swift-google-cloud-storage패키지를 버전 0.3.0 이상으로 추가한 뒤, 대상에GoogleCloudStorage의존성을 추가하는 방식임. - 패키지 주소: https://github.com/googleapis/swift-google-cloud-storage.git
- 인증 및 프로젝트 설정을 포함한 단계별 안내는 시작 가이드에서 확인할 수 있음.
문서
- 사용자 가이드와 호스팅 문서에서 인증, 오류 처리, 재시도, 장기 실행 작업, 페이지네이션, 패키지 트레이트 및 서비스별 사용법을 다룸.
- 저장소의
guide/디렉터리에 로컬 DocC 문서 소스가 포함됨.
요구 사항
최소 지원 Swift 버전
- 현재 Swift 6.2, 6.3, 6.4를 포함한 최신 마이너 버전 3개를 지원하고 테스트함.
- 새로운 Swift 버전이 제공되면 최소 지원 버전을 주기적으로 갱신함.
지원 플랫폼
- Linux는 서버 사이드 환경에서 완전히 지원되며, Ubuntu 24.04 및 호환 배포판에서 테스트됨.
Package.swift에 플랫폼 설정을 추가할 필요가 없음. - macOS는 로컬 개발과 배포를 위해 macOS 15 이상에서 지원되며, macOS에서 빌드할 때
Package.swift에.macOS(.v15)플랫폼을 설정해야 함.
상태 및 안정성
- 이 프로젝트는 0.4.0 릴리스부터 정식 출시(GA) 상태임.
- 0.x 릴리스는 프로덕션 사용을 지원하고 필요한 수정 사항을 제공하지만, 1.0 출시 전까지 소규모 호환성 중단 변경을 도입할 수 있음.
시맨틱 버전 관리
- 라이브러리가 1.0에 도달한 뒤에는 호환성 중단 변경을 피하기 위해 모든 노력을 기울임.
- 프로젝트 내 여러 패키지는 서비스 명세에서 자동 생성되며, 서비스 명세에 호환성 중단 변경이 포함될 수 있음.
- 호환성 중단 변경을 감지하기 위해 합리적인 수준의 노력을 기울이고 도구를 사용함. 감지된 경우 메이저 버전을 올리며, 0.x 패키지는 마이너 버전을 올림.
swift-tools-version변경은 호환성 중단 변경으로 간주하지 않음.- 의존성 변경이나 의존성에서 활성화되는 패키지 트레이트 변경도 호환성 중단 변경으로 간주하지 않음.
- 애플리케이션에서 필요한 의존성을 직접 추가하고, 해당 의존성의 기본값이 아닌 패키지 트레이트를 명시적으로 활성화해야 함.
공개 API 및 안정성
- Google의 오픈소스 라이브러리 호환성 중단 변경 정책을 따름.
- 공개 API는 각 패키지의
Package.swift에 선언된 라이브러리 제품과 해당 제품이 내보내는public및open심볼로 구성됨. _로 시작하거나@_spi(GoogleCloudInternal)이 지정된 심볼, 또는 내보내지 않는 타깃에 포함된 심볼은 내부 구현 세부 사항이며 사전 고지 없이 변경될 수 있음.- 자세한 내용과 사용 지침은 공개 API 정책에서 확인할 수 있음.
기여
- 라이브러리 기여를 언제나 환영하며 적극 권장함.
- 시작 방법은
CONTRIBUTING문서에서 확인할 수 있으며, 개발 환경 설정 가이드도 참고할 수 있음.
라이선스
- Apache 2.0 라이선스를 적용하며 자세한 내용은
LICENSE에서 확인할 수 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요