このリポジトリには、次のGoogleクラウドプラットフォームサービスの慣用C ++クライアントライブラリが含まれています。
重要な発表と今後の変更については、Changelogに確認してください。
各ライブラリ(以下を参照)には、 quickstart/
という名前のディレクトリが含まれています。このquickstart/
ディレクトリには、ライブラリを使用する方法を示す最小限の「Hello World」プログラムと、CmakeやBazelなどの一般的なビルドシステムの最小限のビルドファイルが含まれています。
例として、Google Cloudストレージから取られた次のコードスニペットは、これらの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 ;
}
次の詳細については、各ライブラリのREADME.md
ファイルを参照してください。
README.md
に記載されていない限り、これらのライブラリはすべてGAであり、Googleによってサポートされています。これは、ライブラリをコンパイルし、ライブラリに含まれる例を実行したい開発者向けのクイックスタートガイドです。
/usr/local
または/opt
など)は、パッケージガイドを参照する必要があります。google-cloud-cpp
の貢献者と開発者は、ガイドを参照して、開発ワークステーションをセットアップする必要があります。このライブラリには、Bazel> = 6.0が必要です。トップレベルのディレクトリから、通常のコマンドを実行します。
bazel build //...
このライブラリには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/
に配置されます。
このプロジェクトは、GoogleのOSS Library Breaking Change Policyに従います。
一般に、パブリックAPIに逆互換性のない変更を行わないようにします。このような変更は、パフォーマンスの向上、理解しやすいAPI、および/またはサービス全体のより一貫したAPIの形で、お客様にメリットをもたらす場合があります。これらの利点がそれを保証するとき、私たちは次のようにします。
CHANGELOG.md
ファイルと影響を受けたリリースのメモで顕著に発表します。google-cloud-cpp
のメジャーバージョンを増やします。それにもかかわらず、私たちはこれを防ぐために商業的に合理的な努力をしていますが、後方互換性のない変化が検出されず、したがって文書化されていない可能性があります。これが事実である場合は謝罪し、問題を修正するためにフィードバックまたはバグレポートを歓迎します。
このプロジェクトへの貢献方法の詳細については、 CONTRIBUTING.md
参照してください。これには、変更を構築およびテストする方法、コードを適切にフォーマットする方法などがあります。
Apache 2.0;詳細については、 LICENSE
参照してください。