Cloud Storage では、データをファイルに保存することなく、バケットからプロセスにデータをストリーミングできます。
ストリーミング時にチェックサム検証を使用する
データがアクセス可能になる前にチェックサム検証が必要な場合は、ストリーミング ダウンロードを使用しないでください。ストリーミング ダウンロードでは Range
ヘッダーが使用されますが、Cloud Storage はこのようなリクエストに対してチェックサム検証を行いません。
チェックサム検証は常に使用することをおすすめします。ストリーミング ダウンロードの完了後に手動で行うこともできますが、ダウンロードの完了後に検証を行った場合、破損を確認して削除する前に、破損したデータがアクセスされる可能性があります。
前提条件
前提条件は使用するツールによって異なります。
コンソール
Google Cloud コンソールを使用してこのガイドを完了するには、適切な IAM 権限が必要です。ストリーミングするバケットが、他のユーザーが作成したプロジェクトに存在する場合は、そのプロジェクトのオーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、Google Cloud コンソールに適用される IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
コマンドライン
コマンドライン ユーティリティを使用してこのガイドを完了するには、適切な IAM 権限が必要です。ストリーミングするバケットが、他のユーザーが作成したプロジェクトに存在する場合は、そのプロジェクトのオーナーから必要な権限を持つロールを付与してもらう必要があります。
特定の操作に必要な権限の一覧については、gcloud storage
コマンドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
クライアント ライブラリ
Cloud Storage クライアント ライブラリを使用してこのガイドを完了するには、適切な IAM 権限が必要です。ストリーミングするバケットが、他のユーザーが作成したプロジェクトに存在する場合は、そのプロジェクトのオーナーから必要な権限を持つロールを付与してもらう必要があります。
特に断りのない限り、クライアント ライブラリのリクエストは JSON API を介して行われ、JSON メソッドの IAM 権限に記載されている権限が必要です。クライアント ライブラリを使用してリクエストを行うときに呼び出される JSON API メソッドを確認するには、元のリクエストをログに記録します。
関連する IAM ロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
REST API
JSON API
JSON API を使用してこのガイドを完了するには、適切な IAM 権限が付与されている必要があります。ストリーミングするバケットが、他のユーザーが作成したプロジェクトに存在する場合は、そのプロジェクトのオーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、JSON メソッドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
ストリーミング ダウンロード
次の例は、Cloud Storage オブジェクトからプロセスへのダウンロードを実行する方法を示しています。
コンソール
Google Cloud コンソールでは、ストリーミング ダウンロードはサポートされていません。代わりに gcloud CLI を使用してください。
コマンドライン
リンク先 URL にダッシュを使用して
gcloud storage cp
コマンドを実行し、データをプロセスに連結します。gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
ここで
BUCKET_NAME
は、オブジェクトを含むバケットの名前です。例:my_app_bucket
OBJECT_NAME
は、プロセスにストリーミングするオブジェクトの名前です。例:data_measurements
PROCESS_NAME
は、データをフィードするプロセスの名前です。例:analyze_data
Cloud Storage オブジェクトのデータを、sort などの Linux の標準コマンドにストリーミングすることもできます。
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST API
JSON API
ストリーミング ダウンロードを行う場合は、次の点を考慮して、オブジェクトのダウンロード手順を行います。
ダウンロードを開始する前に、オブジェクトのメタデータを取得し、オブジェクトの世代番号を保存しておきます。元のリクエストに上書きされるときに異なる 2 世代のデータがダウンロードされないように、各リクエストにこの世代番号を含めます。
リクエストで
Range
ヘッダーを使用してオブジェクト全体の一部を取得し、それを目的のローカル プロセスに送信します。オブジェクト全体が取得されるまで、オブジェクトの連続部分に対してリクエストを続行します。
XML API
ストリーミング ダウンロードを行う場合は、次の点を考慮して、オブジェクトのダウンロード手順を行います。
ダウンロードを開始する前に、オブジェクトのメタデータを取得し、オブジェクトの世代番号を保存しておきます。元のリクエストに上書きされるときに異なる 2 世代のデータがダウンロードされないように、各リクエストにこの世代番号を含めます。
リクエストで
Range
ヘッダーを使用してオブジェクト全体の一部を取得し、それを目的のローカル プロセスに送信します。オブジェクト全体が取得されるまで、オブジェクトの連続部分に対してリクエストを続行します。
次のステップ
- ストリーミング アップロード
- 解凍トランス コーディングの詳細を確認する。
- アップロードとダウンロードの詳細を確認する。