Google 클라우드 플랫폼 C ++ 클라이언트 라이브러리
이 저장소에는 다음 Google Cloud 플랫폼 서비스에 대한 관용 C ++ 클라이언트 라이브러리가 포함되어 있습니다.
중요한 발표 및 다가오는 변경 사항은 ChangElog를 확인하십시오.
QuickStart
각 라이브러리 (아래 참조)에는 quickstart/
라는 디렉토리가 포함되어 있습니다. 이 quickstart/
Directory에는 CMAKE 및 BAZEL과 같은 일반적인 빌드 시스템을위한 최소한의 빌드 파일과 함께 라이브러리 사용 방법을 보여주는 최소한의 "Hello World"프로그램이 포함되어 있습니다.
예를 들어, Google Cloud Storage에서 가져온 다음 코드 스 니펫은 이러한 C ++ 라이브러리 중 하나를 사용하는 것이 어떤 것인지에 대한 감각을 제공해야합니다.
# include " google/cloud/storage/client.h "
# include < iostream >
# include < string >
int main ( int argc, char * argv[]) {
if (argc != 2 ) {
std::cerr << " Missing bucket name. n " ;
std::cerr << " Usage: quickstart <bucket-name> n " ;
return 1 ;
}
std::string const bucket_name = argv[ 1 ];
// Create a client to communicate with Google Cloud Storage. This client
// uses the default configuration for authentication and project id.
auto client = google::cloud::storage::Client ();
auto writer = client. WriteObject (bucket_name, " quickstart.txt " );
writer << " Hello World! " ;
writer. Close ();
if (!writer. metadata ()) {
std::cerr << " Error creating object: " << writer. metadata (). status ()
<< " n " ;
return 1 ;
}
std::cout << " Successfully created object: " << *writer. metadata () << " n " ;
auto reader = client. ReadObject (bucket_name, " quickstart.txt " );
if (!reader) {
std::cerr << " Error reading object: " << reader. status () << " n " ;
return 1 ;
}
std::string contents{std::istreambuf_iterator< char >{reader}, {}};
std::cout << contents << " n " ;
return 0 ;
}
GA 라이브러리
다음에 대한 자세한 내용은 각 라이브러리의 README.md
파일을 참조하십시오.
- 도서관과 서비스 문서를 찾을 수있는 곳.
- 도서관을 사용하기 시작하는 방법.
- 라이브러리를 빌드 시스템에 통합하는 방법.
- 일반적으로 사용할 수없는 경우 라이브러리의 지원 상태 (GA); 도서관의
README.md
에 언급되지 않는 한,이 라이브러리는 모두 GA이며 Google에서 지원합니다.
GA 라이브러리의 전체 목록을 확인하십시오
- 액세스 승인 API [QuickStart] [참조]
- 액세스 컨텍스트 관리자 API [QuickStart] [참조]
- 자문 알림 API [QuickStart] [참조]
- Vertex AI API [QuickStart] [참조]
- Alloydb API [QuickStart] [참조]
- API 게이트웨이 API [QuickStart] [참조]
- Apigee Connect API [QuickStart] [참조]
- API 키 API [QuickStart] [참조]
- 앱 엔진 관리 API [QuickStart] [참조]
- App Hub API [QuickStart] [참조]
- 아티팩트 레지스트리 API [QuickStart] [참조]
- 클라우드 자산 API [QuickStart] [참조]
- 보장 된 워크로드 API [QuickStart] [참조]
- Cloud Automl API [QuickStart] [참조]
- 백업 및 DR 서비스 API [QuickStart] [참조]
- 베어 메탈 솔루션 API [QuickStart] [참조]
- 배치 API [QuickStart] [참조]
- BeyondCorp API [QuickStart] [참조]
- Google Cloud BigQuery [QuickStart] [참조]
- Google Cloud BigTable [QuickStart] [참조]
- 클라우드 청구 예산 API [QuickStart] [참조]
- 이진 인증 API [QuickStart] [참조]
- 인증서 관리자 API [QuickStart] [참조]
- 클라우드 채널 API [QuickStart] [참조]
- 클라우드 빌드 API [QuickStart] [참조]
- 클라우드 컨트롤 파트너 API [QuickStart] [참조]
- 클라우드 할당량 API [QuickStart] [참조]
- 클라우드 커머스 소비자 조달 API [QuickStart] [참조]
- 클라우드 작곡가 [QuickStart] [참조]
- 컴퓨팅 엔진 API [QuickStart] [참조]
- 기밀 컴퓨팅 API [QuickStart] [참조]
- 인프라 관리자 API [QuickStart] [참조]
- 커넥터 API [QuickStart] [참조]
- Contact Center AI Insights API [QuickStart] [참조]
- Kubernetes Engine API [QuickStart] [참조]
- 컨테이너 분석 API [QuickStart] [참조]
- 문서 AI 창고 API [QuickStart] [참조]
- Google Cloud Data Catalog API [QuickStart] [참조]
- 클라우드 데이터 퓨전 API [QuickStart] [참조]
- 데이터베이스 마이그레이션 API [QuickStart] [참조]
- Cloud Dataplex API [QuickStart] [참조]
- 클라우드 Dataproc API [QuickStart] [참조]
- 클라우드 데이터 스토어 API [QuickStart] [참조]
- Datastream API [QuickStart] [참조]
- Google Cloud 배포 API [QuickStart] [참조]
- 개발자 Connect API [QuickStart] [참조]
- DialogFlow CX API [QuickStart] [참조]
- Dialogflow es api [QuickStart] [참조]
- Discovery Engine API [QuickStart] [참조]
- 클라우드 데이터 손실 예방 (DLP) API [QuickStart] [참조]
- 클라우드 문서 AI API [QuickStart] [참조]
- 클라우드 도메인 API [QuickStart] [참조]
- 분산 클라우드 에지 컨테이너 API [QuickStart] [참조]
- 분산 클라우드 에지 네트워크 API [QuickStart] [참조]
- 필수 연락처 API [QuickStart] [참조]
- EventArc API [QuickStart] [참조]
- Cloud Filestore API [QuickStart] [참조]
- 클라우드 기능 API [QuickStart] [참조]
- GKE API의 백업 [QuickStart] [참조]
- Gateway API를 연결 [QuickStart] [참조]
- GKE 허브 [QuickStart] [참조]
- Anthos Multi-Cloud API [QuickStart] [참조]
- Google Cloud IAM [QuickStart] [참조]
- 클라우드 ID 인식 프록시 API [QuickStart] [참조]
- 클라우드 IDS API [QuickStart] [참조]
- 클라우드 키 관리 서비스 (KMS) API [QuickStart] [참조]
- 클라우드 자연 언어 API [QuickStart] [참조]
- Google 클라우드 로깅 [QuickStart] [참조]
- Microsoft Active Directory API를위한 관리 서비스 [QuickStart] [참조]
- Apache Kafka API를위한 관리 서비스 [QuickStart] [참조]
- memcached API 용 Cloud MemoryStore [QuickStart] [참조]
- Dataproc Metastore API [QuickStart] [참조]
- 마이그레이션 센터 API [QuickStart] [참조]
- 클라우드 모니터링 API [QuickStart] [참조]
- NetApp API [QuickStart] [참조]
- 네트워크 연결 API [QuickStart] [참조]
- 네트워크 관리 API [QuickStart] [참조]
- 네트워크 보안 API [QuickStart] [참조]
- 네트워크 서비스 API [QuickStart] [참조]
- 노트북 API [QuickStart] [참조]
- OAUTH2 액세스 토큰 생성 [QuickStart] [참조]
- 클라우드 최적화 API [QuickStart] [참조]
- 조직 정책 API [QuickStart] [참조]
- OS 구성 API [QuickStart] [참조]
- 클라우드 OS 로그인 API [QuickStart] [참조]
- ParallelStore API [QuickStart] [참조]
- 정책 시뮬레이터 API [QuickStart] [참조]
- 정책 문제 해결사 API [QuickStart] [참조]
- 인증 기관 API [QuickStart] [참조]
- 권한이있는 액세스 관리자 API [QuickStart] [참조]
- 클라우드 프로파일러 API [QuickStart] [참조]
- 공개 인증 기관 API [QuickStart] [참조]
- Google Cloud Pub/Sub [QuickStart] [참조]
- 빠른 마이그레이션 평가 API [QuickStart] [참조]
- Recaptcha Enterprise API [QuickStart] [참조]
- 추천인 [QuickStart] [참조]
- Redis API 용 Google Cloud MemoryStore [QuickStart] [참조]
- 클라우드 리소스 관리자 API [QuickStart] [참조]
- 리소스 설정 API [QuickStart] [참조]
- 소매 API [QuickStart] [참조]
- 클라우드 실행 관리자 API [QuickStart] [참조]
- 클라우드 스케줄러 API [QuickStart] [참조]
- 비밀 관리자 API [QuickStart] [참조]
- 보안 소스 관리자 API [QuickStart] [참조]
- 보안 명령 센터 API [QuickStart] [참조]
- 보안 센터 관리 API [QuickStart] [참조]
- 서비스 제어 API [QuickStart] [참조]
- 서비스 디렉토리 API [QuickStart] [참조]
- 서비스 건강 API [QuickStart] [참조]
- 서비스 관리 API [QuickStart] [참조]
- 서비스 사용 API [QuickStart] [참조]
- Cloud Shell API [QuickStart] [참조]
- Google Cloud Spanner [QuickStart] [참조]
- 클라우드 연설-텍스트 API [QuickStart] [참조]
- 클라우드 SQL 관리자 API [QuickStart] [참조]
- Google Cloud Storage [QuickStart] [참조]
- 스토리지 제어 API [QuickStart] [참조]
- 스토리지 통찰력 API [QuickStart] [참조]
- 스토리지 전송 API [QuickStart] [참조]
- Google 클라우드 지원 API [QuickStart] [참조]
- 클라우드 인재 솔루션 API [QuickStart] [참조]
- 클라우드 작업 API [QuickStart] [참조]
- 통신 자동화 API [QuickStart] [참조]
- 클라우드 텍스트 음성 API [QuickStart] [참조]
- TimesSeries Insights API [QuickStart] [참조]
- Cloud TPU API [QuickStart] [참조]
- 클라우드 트레이스 API [QuickStart] [참조]
- 클라우드 번역 API [QuickStart] [참조]
- 비디오 서비스 [QuickStart] [참조]
- 클라우드 비디오 인텔리전스 API [QuickStart] [참조]
- 클라우드 비전 API [QuickStart] [참조]
- VM 마이그레이션 API [QuickStart] [참조]
- VMware Engine API [QuickStart] [참조]
- 서버리스 VPC 액세스 API [QuickStart] [참조]
- 웹 리스크 API [QuickStart] [참조]
- 웹 보안 스캐너 API [QuickStart] [참조]
- 워크 플로 실행 API [QuickStart] [참조]
- 클라우드 워크 스테이션 API [QuickStart] [참조]
건축 및 설치
라이브러리를 컴파일하고 라이브러리에 포함 된 예제를 실행하려는 개발자를위한 빠른 스타트 가이드입니다.
- 고정 디렉토리 (예 :
/usr/local
또는 /opt
)에 라이브러리를 설치하는 것을 선호하는 포장 관리자 또는 개발자는 포장 안내서를 참조해야합니다. - VCPKG 또는 Conda와 같은 패키지 관리자를 선호하는 개발자는 패키지 관리자의 지침을 따라야합니다.
- 더 큰 CMAKE 또는 BAZEL 프로젝트의 일부로 라이브러리를 사용하려는 개발자는 사용하려는 라이브러리 또는 라이브러리의 QuickStart 안내서를 참조해야합니다.
- 몇 가지 예 또는 테스트를 실행하기 위해 도서관을 컴파일하려는 개발자는 현재 문서를 읽어야합니다.
-
google-cloud-cpp
의 기고자 및 개발자는 가이드를 참조하여 개발 워크 스테이션을 설정해야합니다.
바젤이있는 건물
이 라이브러리에는 바젤> = 6.0이 필요합니다. 최상위 디렉토리에서 일반적인 명령을 실행하십시오.
cmake로 건물
이 라이브러리에는 cmake> = 3.10이 필요합니다. 라이브러리를 설치하려는 경우 포장 안내서를 참조하십시오.이 지침은 /usr/local
에 넣거나 동료와 공유 할 수있는 아티팩트를 생성하지 않습니다 .
google-cloud-cpp
의 최상위 디렉토리 에서이 명령을 실행합니다.
git -C $HOME clone https://github.com/microsoft/vcpkg.git
env VCPKG_ROOT= $HOME /vcpkg $HOME /vcpkg/bootstrap-vcpkg.sh
cmake -S . -B cmake-out/ -DCMAKE_TOOLCHAIN_FILE= $HOME /vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build cmake-out -- -j $( nproc )
예와 같은 바이너리 아티팩트는 cmake-out/
에 배치됩니다.
지원하다
- 이 프로젝트는 기초 C ++ 지원 매트릭스에 요약 된 Google의 기초 C ++ 지원 정책을 따릅니다.
- 언어 버전 (> = C ++ 14).
- 운영 체제 : Windows, MacOS 및 Linux.
- 빌드 시스템 : 바젤 (> = 6.0), cmake (> = 3.10).
- 컴파일러 : GCC (> = 7.5), Clang (> = 6.0), MSVC (> = 2022), Apple Clang (> = 12).
- 이 프로젝트는 doc/packaging.md에 설명 된 종속성을 사용합니다.
- 이 프로젝트는 예외를 사용하거나 사용하지 않고 작동합니다.
- 이 프로젝트는 자세한 릴리스 노트로 월별 릴리스를 줄입니다.
공개 API 및 API 브레이킹 변경
이 프로젝트는 Google의 OSS 라이브러리 브레이킹 변경 정책을 따릅니다.
일반적으로, 우리는 공개 API와 호환되지 않는 변화를 피합니다. 때때로 이러한 변화는 더 나은 성능의 형태, 이해하기 쉬운 API 및/또는 서비스 전반에 걸쳐 고객에게 혜택을 제공합니다. 이러한 혜택이 보증되면 우리는 다음과 같습니다.
-
CHANGELOG.md
파일과 영향을받는 릴리스 노트에서 이러한 변경 사항을 두드러지게 발표하십시오. -
google-cloud-cpp
의 주요 버전을 늘리십시오.
그럼에도 불구하고, 우리는이를 막기 위해 상업적으로 합리적인 노력을 기울이지 만, 뒤로 호환되지 않는 변화가 감지되지 않아서 서류 미비가 될 수 있습니다. 이것이 사실이라면 사과하고 문제를 해결하기 위해 피드백이나 버그 보고서를 환영합니다.
저희에게 연락하십시오
- Github 토론 - 질문과 일반적인 의견
- GitHub 문제 - 버그 및 기능 요청을보고합니다
기여 변화
변경 사항을 구축하고 테스트하는 방법, 코드를 올바르게 포맷하는 방법을 포함 하여이 프로젝트에 기여하는 방법에 대한 자세한 내용은 CONTRIBUTING.md
참조하십시오.
라이센스
아파치 2.0; 자세한 내용은 LICENSE
참조하십시오.