Cloud Storage サブスクリプション

Cloud Storage サブスクリプションは、受信時に既存の Cloud Storage バケットにメッセージを書き込むエクスポート サブスクリプションの一種です。別のサブスクライバー クライアントを構成する必要はありません。 Google Cloud コンソール、Google Cloud CLI、クライアント ライブラリ、または Pub/Sub API を使用して、Cloud Storage のサブスクリプションを作成、更新、一覧表示、切断、削除します。

Cloud Storage サブスクリプション タイプがない場合は、pull サブスクリプションまたは push サブスクリプションと、メッセージを読み取り、Cloud Storage バケットに書き込むサブスクライバー(Dataflow など)が必要です。メッセージが Cloud Storage バケットに保存される前に追加の処理が必要ない場合は、Dataflow ジョブの実行のオーバーヘッドは必要ありません。代わりに、Cloud Storage サブスクリプションを使用できます。

ただし、データを Cloud Storage バケットに保存する前にデータ変換が必要な Pub/Sub システムでは、Dataflow パイプラインの使用をおすすめします。

Dataflow を使用して変換して Pub/Sub から Cloud Storage にデータをストリーミングする方法については、Dataflow を使用して Pub/Sub からメッセージをストリーミングするをご覧ください。

準備

このドキュメントを読む前に、次の内容をよく理解しておいてください。

Cloud Storage サブスクリプションのワークフロー

次の図は、Cloud Storage サブスクリプションと Cloud Storage の間のワークフローを示しています。

Cloud Storage サブスクリプションのメッセージ フロー

図 1. Cloud Storage サブスクリプションのワークフロー

図 1 を参照するワークフローの簡単な説明を次に示します。

  1. Pub/Sub は Cloud Storage API を使用して、Cloud Storage バケットにデータを送信します。書き込みオペレーションが正常に完了すると、API は OK レスポンスを返します。

  2. メッセージは、Cloud Storage バケットにバッチで送信されます。単一のバッチは、Cloud Storage バケットに保存されるオブジェクトに対応します。オブジェクトのサイズとオブジェクト作成からの経過時間に基づいてバッチ設定を構成できます。

  3. Cloud Storage バケットにオブジェクトを書き込むワークフローでは、2 つの OK レスポンスが必要です。最初の OK レスポンスは、メッセージがオブジェクトに正常に書き込まれると送信されます。2 番目の OK レスポンスは、メッセージを含むオブジェクトがファイナライズされると送信されます。メッセージは、そのメッセージを含む Cloud Storage オブジェクトが正常にファイナライズされた後にのみバケットに表示されます。

  4. 書き込みオペレーション中にエラーが発生した場合、Pub/Sub メッセージ自体に否定応答が行われます。 その後、メッセージが再送信されます。メッセージ書き込みオペレーションが十分な回数失敗し、サブスクリプションにデッドレター トピックが構成されている場合、メッセージはデッドレター トピックに移動します。

Cloud Storage サブスクリプションのプロパティ

Cloud Storage サブスクリプションを作成するときに、いくつかの追加プロパティを指定する必要があります。これらのプロパティには、一般的なサブスクリプション プロパティ、ファイル名と形式の要件、ストレージ要件などが含まれます。 これらのプロパティの詳細については、Cloud Storage のサブスクリプション プロパティをご覧ください。

Pub/Sub サービス アカウントの権限

Cloud Storage サブスクリプションを作成するには、Pub/Sub サービス アカウントに、特定の Cloud Storage バケットへの書き込みとバケットのメタデータの読み取りを行う権限が必要です。

詳細については、Pub/Sub サービス アカウントに Cloud Storage のロールを割り当てるをご覧ください。

メッセージ エラーの処理

Pub/Sub メッセージを Cloud Storage バケットに書き込むことができない場合、メッセージの確認応答はできません。 このような配信不能メッセージを転送するには、Cloud Storage サブスクリプションにデッドレター トピックを構成します。

割り当て

割り当て上限は、各リージョンの Cloud Storage サブスクライバーのスループットに適用されます。Cloud Storage サブスクリプションの割り当てについては、Pub/Sub の割り当てと上限のエクスポート サブスクライバーの割り当て上限をご覧ください。

料金

Cloud Storage サブスクリプションの料金については、Pub/Sub の料金ページをご覧ください。

次のステップ