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 バケットに送信されます。1 つのバッチは、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 のサブスクリプションでデッドレター トピックを構成します。

Pub/Sub が Cloud Storage にメッセージを書き込むことができない場合、Pub/Sub は push バックオフ動作と同様の方法でメッセージの配信を解除します。

割り当て

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

料金

クラウドストレージのサブスクリプションの価格については、Pub/Sub の価格ページをご覧ください。

次のステップ