このドキュメントでは、Cloud Storage サブスクリプションを作成する方法について説明します。Cloud Storage サブスクリプションを作成するには、 Google Cloud コンソール、Google Cloud CLI、クライアント ライブラリ、または Pub/Sub API を使用できます。
始める前に
このドキュメントを読む前に、次の内容をよく理解しておいてください。
- Cloud Storage サブスクリプションの仕組み。
- Cloud Storage の仕組みと、Cloud Storage バケットの作成と管理方法。
- メッセージ エラーを処理するデッドレター トピックを構成する方法。
必要なロールと権限
ロールと権限に関するガイドラインは次の一覧に示すとおりです。
サブスクリプションを作成するには、プロジェクト レベルでアクセス制御を構成する必要があります。
このセクションで後述するように、サブスクリプションとトピックが異なるプロジェクトにある場合は、リソースレベルの権限も必要です。
Cloud Storage サブスクリプションを作成するには、Pub/Sub サービス エージェントまたはカスタム サービス アカウントに、特定の Cloud Storage バケットへの書き込みとバケットのメタデータの読み取りを行う権限が必要です。これらの権限を付与する方法について詳しくは、このドキュメントの次のセクションをご覧ください。
Cloud Storage サブスクリプションの作成に必要な権限を取得するには、管理者にプロジェクトに対する Pub/Sub 編集者 (roles/pubsub.editor
)IAM ロールを付与するよう依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、Cloud Storage サブスクリプションの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
Cloud Storage サブスクリプションを作成するには、次の権限が必要です。
-
サブスクリプションを作成する:
pubsub.subscriptions.create
-
サブスクリプションをトピックに接続する:
pubsub.topics.attachSubscription
-
サブスクリプションから pull する:
pubsub.subscriptions.consume
-
サブスクリプションを取得する:
pubsub.subscriptions.get
-
サブスクリプションを一覧表示する:
pubsub.subscriptions.list
-
サブスクリプションを更新する:
pubsub.subscriptions.update
-
サブスクリプションを削除する:
pubsub.subscriptions.delete
-
サブスクリプションの IAM ポリシーを取得する:
pubsub.subscriptions.getIamPolicy
-
サブスクリプションの IAM ポリシーを構成する:
pubsub.subscriptions.setIamPolicy
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
1 つのプロジェクトのプリンシパルが別のプロジェクトで Cloud Storage サブスクリプションを作成できるようにするには、そのプリンシパルに両方のプロジェクトで Pub/Sub 編集者(roles/pubsub.editor
)ロールを付与する必要があります。これにより、新しい Google Cloud サブスクリプションを作成して元のトピックに接続するために必要な権限が付与されます。トピックに対する Pub/Sub 編集者(roles/pubsub.editor
)ロールは、別のプロジェクトのサブスクリプションをトピックに接続する場合にも役立ちます。 Google Cloud
サービス アカウントにロールを割り当てる
一部の Google Cloud サービスには、サービスがリソースにアクセスできるようにする Google Cloud管理のサービス アカウントがあります。これらのサービス アカウントは、サービス エージェントと呼ばれます。Pub/Sub は、プロジェクトごとに service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com
形式のサービス エージェントを作成して維持します。
Cloud Storage バケットへの書き込み権限を Pub/Sub サービス エージェントまたはカスタム サービス アカウントに付与できます。
Pub/Sub サービス エージェントに権限を付与すると、プロジェクトでサブスクリプションを作成する権限を持つすべてのユーザーが Cloud Storage バケットに書き込むことができます。Cloud Storage バケットへの書き込みにきめ細かい権限を付与する場合は、代わりにカスタム サービス アカウントを構成します。
Cloud Storage IAM の詳細については、Cloud Storage Identity and Access Management をご覧ください。
Pub/Sub サービス エージェントに Cloud Storage のロールを割り当てる
Pub/Sub サービス エージェントを使用して Cloud Storage サブスクリプションを作成する場合は、特定の Cloud Storage バケットへの書き込みとバケットのメタデータの読み取りを行う権限が必要です。
Pub/Sub サービス エージェントに Storage Object Creator(roles/storage.objectCreator
)のロールと Storage Legacy Bucket Reader(roles/storage.legacyBucketReader
)のロールを付与します。権限は、個々のバケットまたはプロジェクト全体に付与できます。
バケット
Google Cloud コンソールで、[Cloud Storage] ページに移動します。
メッセージを書き込みたい Cloud Storage バケットをクリックします。
[バケットの詳細] ページが開きます。
[バケットの詳細] ページで、[権限] タブをクリックします。
[権限] > [プリンシパル別に表示] タブで、[アクセス権を付与] をクリックします。
[アクセス権を付与] ページが開きます。
[プリンシパルを追加] セクションに、サブスクリプションを含むプロジェクトの Pub/Sub サービス エージェントの名前を入力します。
サービス エージェントの形式は
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
です。たとえば、PROJECT_NUMBER=112233445566
のプロジェクトの場合、サービス エージェントの形式は[email protected]
です。[ロールを割り当て] > [ロールを選択] プルダウンで、「
Creator
」と入力し、[Storage オブジェクト作成者] ロールを選択します。[別のロールを追加] をクリックします。
[ロールを選択] プルダウンで、
Bucket Reader
を入力し、[Storage Legacy Bucket Reader] のロールを選択します。[保存] をクリックします。
プロジェクト
Google Cloud コンソールで、[IAM] ページに移動します。
[権限] > [プリンシパル別に表示] タブで、[アクセス権を付与] をクリックします。
[アクセス権を付与] ページが開きます。
[プリンシパルを追加] セクションに、Pub/Sub サービス エージェントの名前を入力します。
サービス エージェントの形式は
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com
です。たとえば、PROJECT_NUMBER=112233445566
のプロジェクトの場合、サービス エージェントの形式は[email protected]
です。[ロールを割り当て] > [ロールを選択] プルダウンで、「
Storage Admin
」と入力し、[ストレージ管理者] ロールを選択します。[保存] をクリックします。
カスタム サービス アカウントに Cloud Storage ロールを割り当てる
カスタム サービス アカウントを使用して Cloud Storage バケットに書き込む場合は、次の権限を設定する必要があります。
- カスタム サービス アカウントには、特定の Cloud Storage バケットへの書き込みとバケットのメタデータの読み取りを行う権限が必要です。
- Pub/Sub サービス エージェントに、カスタム サービス アカウントに対する
iam.serviceAccounts.getAccessToken
権限が必要です。 - サブスクリプションを作成するユーザーには、カスタム サービス アカウントに対する
iam.serviceAccounts.actAs
権限が必要です。
サービス アカウントを作成して権限を付与する手順は次のとおりです。
カスタム サービス アカウントを作成します。サービス アカウントは、サブスクリプションと同じプロジェクトに存在する必要があります。
カスタム サービス アカウントに Storage Object Creator(
roles/storage.objectCreator
)ロールと Storage Legacy Bucket Reader(roles/storage.legacyBucketReader
)ロールを付与します。サービス アカウントに、プロジェクト内の単一のテーブルまたはプロジェクト内のすべてのテーブルに対する権限を付与できます。これを行うには、Pub/Sub サービス エージェントにロールを割り当てる Google Cloud の該当するセクションをご覧ください。この手順では、Pub/Sub サービス エージェントのメールアドレスをカスタム サービス アカウントのメールアドレスに置き換えます。
Pub/Sub サービス エージェントに、カスタム サービス アカウントまたはプロジェクト内のすべてのサービス アカウントに対する
iam.serviceAccounts.getAccessToken
権限を付与します。この権限を付与するには、Pub/Sub サービス エージェントにroles/iam.serviceAccountTokenCreator
ロールを付与します。要件に応じて適切な方法を選択します。
サービス アカウント
Google Cloud コンソールで、[サービス アカウント] ページに移動します。
[フィルタ] にカスタム サービス アカウントの名前を入力します。
リストからサービス アカウントを選択します。
[アクセス権を持つプリンシパル] をクリックします。
[アクセス権を付与] をクリックします。
[プリンシパルを追加] セクションに、サブスクリプションを含むプロジェクトの Pub/Sub サービス エージェントの名前を入力します。サービス エージェントの形式は
service-project-number@gcp-sa-pubsub.iam.gserviceaccount.com
です。たとえば、project-number=112233445566
を使用するプロジェクトの場合、サービス エージェントの形式は[email protected]
です。[ロールを選択] プルダウンで
Service Account
を入力し、[サービス アカウント トークン作成者] ロールを選択します。[保存] をクリックします。
プロジェクト
Google Cloud コンソールで、[IAM] ページに移動します。
[アクセス権を付与] をクリックします。
[プリンシパルを追加] セクションに、カスタム サービス アカウントの名前を入力します。
[ロールの割り当て] セクションで、[別のロールを追加] をクリックします。
[ロールを選択] プルダウンで
Service Account
を入力し、[サービス アカウント トークン作成者] ロールを選択します。[保存] をクリックします。
カスタム サービス アカウントを作成した場合は、必要な iam.serviceAccounts.actAs
権限がすでに付与されているはずです。他のユーザーにサービス アカウントに対する権限を付与する必要がある場合:
Google Cloud コンソールで、[サービス アカウント] ページに移動します。
[フィルタ] にカスタム サービス アカウントの名前を入力します。
リストからサービス アカウントを選択します。
[アクセス権を持つプリンシパル] をクリックします。
[アクセス権を付与] をクリックします。
[プリンシパルを追加] セクションに、アクセス権を付与するアカウントの名前を入力します。
[ロールを選択] プルダウンで
Service Account
を入力し、[サービス アカウント ユーザー] ロールを選択します。[保存] をクリックします。
Cloud Storage サブスクリプションのプロパティ
Cloud Storage サブスクリプションを構成する場合は、すべてのサブスクリプション タイプに共通のプロパティと、追加の Cloud Storage サブスクリプション固有のプロパティを指定する必要があります。
共通のサブスクリプション プロパティ
すべてのサブスクリプションで設定できる共通のサブスクリプション プロパティについて学習します。
バケット名
Cloud Storage サブスクリプションを作成する前に、Cloud Storage バケットがすでに存在している必要があります。
メッセージはバッチとして送信され、Cloud Storage バケットに保存されます。 単一のバッチまたはファイルは、バケットにオブジェクトとして保存されます。
Cloud Storage バケットでは、リクエスト元による支払いを無効にする必要があります。
Cloud Storage バケットを作成するには、バケットの作成をご覧ください。
ファイル名の接頭辞、接尾辞、日時
Cloud Storage サブスクリプションによって生成された出力 Cloud Storage ファイルは、Cloud Storage バケットにオブジェクトとして保存されます。Cloud Storage バケットに格納されているオブジェクトの名前は、<file-prefix><UTC-date-time>_<uuid><file-suffix>
の形式になります。
次のリストに、ファイル形式とカスタマイズ可能なフィールドの詳細を示します。
<file-prefix>
はカスタム ファイル名の接頭辞です。このフィールドは省略できます。<UTC-date-time>
は、オブジェクトの作成時間に基づいて自動生成されるカスタマイズ可能な文字列です。<uuid>
は、オブジェクトに対して自動生成されるランダムな文字列です。<file-suffix>
はカスタム ファイル名の接尾辞です。このフィールドは省略できます。ファイル名の接尾辞を「/」で終わらせることはできません。ファイル名の接頭辞と接尾辞を変更できます。
たとえば、ファイル名接頭辞の値が
prod_
で、ファイル名接尾辞の値が_archive
の場合、サンプル オブジェクト名はprod_2023-09-25T04:10:00+00:00_uN1QuE_archive
です。ファイル名の接頭辞と接尾辞を指定しない場合、Cloud Storage バケットに保存されるオブジェクト名は
<UTC-date-time>_<uuid>
の形式になります。Cloud Storage のオブジェクトの命名要件は、ファイル名の接頭辞と接尾辞にも適用されます。詳細については、Cloud Storage オブジェクトについてをご覧ください。
ファイル名での日時の表示方法を変更できます。
1 回だけ使用できる必須の日時マッチャー: 年(
YYYY
またはYY
)、月(MM
)、日(DD
)、時(hh
)、分(mm
)、秒(ss
)。たとえば、YY-YYYY
やMMM
は無効です。1 回だけ使用できる任意のマッチャー: 日時区切り文字(
T
)とタイムゾーン オフセット(Z
または+00:00
)。複数回使用できる省略可能な要素: ハイフン(
-
)、アンダースコア(_
)、コロン(:
)、転送スラッシュ(/
)です。たとえば、ファイル名の日時形式の値が
YYYY-MM-DD/hh_mm_ssZ
の場合、サンプル オブジェクト名はprod_2023-09-25/04_10_00Z_uNiQuE_archive
です。ファイル名の日時形式が matcher ではない文字で終わる場合、その文字が
<UTC-date-time>
と<uuid>
の間の区切り文字に置き換えられます。たとえば、ファイル名の日時形式の値がYYYY-MM-DDThh_mm_ss-
の場合、サンプル オブジェクト名はprod_2023-09-25T04_10_00-uNiQuE_archive
です。
ファイルのバッチ処理
Cloud Storage サブスクリプションを使用すると、Cloud Storage バケットにオブジェクトとして保存される新しい出力ファイルを作成するタイミングを決定できます。Pub/Sub は、指定されたバッチ処理条件のいずれかに一致すると、出力ファイルを書き込みます。Cloud Storage のバッチ処理条件は次のとおりです。
ストレージのバッチ最大時間。この設定は必須です。指定した最大時間の値を超えると、Cloud Storage サブスクリプションが新しい出力ファイルを書き込みます。値を指定しない場合、デフォルト値の 5 分が適用されます。 最大時間に適用可能な値は次のとおりです。
- 最小値: 1 分
- デフォルト値 = 5 分
- 最大値: 10 分。
ストレージのバッチ最大バイト数。この設定は省略できます。指定した最大バイトの値が超過すると、Cloud Storage サブスクリプションは新しい出力ファイルを書き込みます。最大バイトに使用可能な値は次のとおりです。
- 最小値 = 1 KB
- 最大値 = 10 GiB
ストレージ バッチの最大メッセージ数。この設定は省略できます。指定した最大メッセージ数が超過すると、Cloud Storage サブスクリプションは新しい出力ファイルを書き込みます。最大メッセージ数に使用可能な値は次のとおりです。
- 最小値 = 1000
たとえば、最大時間を 6 分、最大バイトを 2 GB に構成できます。4 分の時点で出力ファイルのファイルサイズが 2 GB に達すると、Pub/Sub は前のファイルをファイナライズして、新しいファイルへの書き込みを開始します。
Cloud Storage サブスクリプションでは、Cloud Storage バケット内の複数のファイルに同時に書き込む場合があります。6 分ごとに新しいファイルを作成するようにサブスクリプションを構成した場合、6 分ごとに作成される複数の Cloud Storage ファイルを目にすることがあります。
場合によっては、ファイルのバッチ処理の条件で構成されているよりも前に、Pub/Sub が新しいファイルへの書き込みを開始することがあります。 サブスクリプションが最大バイト数の値より大きいメッセージを受信した場合、ファイルが最大バイト数の値を超えることもあります。
ファイル形式
Cloud Storage サブスクリプションを作成するときに、Cloud Storage バケットに格納される出力ファイルの形式を テキストまたは Avro として指定できます。
テキスト: メッセージは書式なしテキストとして保存されます。改行文字は、あるメッセージをファイル内の前のメッセージから区切るものです。メッセージ ペイロードのみが保存され、属性やその他のメタデータは保存されません。
Avro: メッセージは Apache Avro バイナリ形式で保存されます。[Avro] を選択すると、次の追加プロパティを有効にできます。
メタデータを書き込む: このオプションを使用すると、メッセージとともにメッセージのメタデータを保存できます。
subscription_name
、message_id
、publish_time
、attributes
などのメタデータのフィールドが、出力 Avro オブジェクトの最上位フィールドに書き込まれ、データ以外のすべてのメッセージプロパティ(たとえば、存在する場合 ordering_key)は、attributes
マップのエンティティとして追加されます。メタデータの書き込みが無効になっている場合、出力 Avro オブジェクトにはメッセージ ペイロードのみが書き込まれます。[メタデータの書き込み] を無効にした出力メッセージの Avro スキーマは次のとおりです。
{ "type": "record", "namespace": "com.google.pubsub", "name": "PubsubMessage", "fields": [ { "name": "data", "type": "bytes" } ] }
[メタデータの書き込み] を有効にした出力メッセージの Avro スキーマは次のとおりです。
{ "type": "record", "namespace": "com.google.pubsub", "name": "PubsubMessageWithMetadata", "fields": [ { "name": "subscription_name", "type": "string" }, { "name": "message_id", "type": "string" }, { "name": "publish_time", "type": { "type": "long", "logicalType": "timestamp-micros" } }, { "name": "attributes", "type": { "type": "map", "values": "string" } }, { "name": "data", "type": "bytes" } ] }
トピック スキーマを使用する: このオプションを使用すると、Pub/Sub は Avro ファイルの書き込み時に、サブスクリプションが接続されている Pub/Sub トピックのスキーマを使用できます。
このオプションを使用する場合は、以下の追加要件を確認してください。
トピック スキーマは Apache Avro 形式にする必要があります。
[トピック スキーマを使用する] と [メタデータを書き込む] の両方が有効になっている場合、トピック スキーマのルートには Record オブジェクトが必要です。Pub/Sub は、メタデータ フィールドを含めるように Record のフィールドのリストを拡張します。そのため、レコードには、メタデータ フィールド(
subscription_name
、message_id
、publish_time
、attributes
)と同じ名前のフィールドを含めることはできません。
サービス アカウント
BigQuery テーブルまたは Cloud Storage バケットにメッセージを書き込むには、次のオプションがあります。
サービス アカウントに対する
iam.serviceAccounts.actAs
権限を持つユーザーのみが、テーブルまたはバケットに書き込むサブスクリプションを作成できるように、カスタム サービス アカウントを構成します。iam.serviceAccounts.actAs
権限を含むロールの例として、サービス アカウント ユーザー(roles/iam.serviceAccountUser
)ロールがあります。デフォルトの Pub/Sub サービス エージェントを使用すると、プロジェクトでサブスクリプションを作成できるすべてのユーザーが、テーブルまたはバケットに書き込むサブスクリプションを作成できます。カスタム サービス アカウントを指定しない場合、デフォルトの設定は Pub/Sub サービス エージェントです。
Cloud Storage サブスクリプションの作成
コンソール
-
Google Cloud コンソールで、[サブスクリプション] ページに移動します。
-
[サブスクリプションを作成] をクリックします。
-
[サブスクリプション ID] フィールドに名前を入力します。
サブスクリプションの指定方法については、トピックまたはサブスクリプションの指定方法のガイドラインをご覧ください。
-
プルダウン メニューからトピックを選択するか、作成します。
サブスクリプションがトピックからメッセージを受信します。
トピックの作成方法については、トピックを作成して管理するをご覧ください。
-
[Cloud Storage への書き込み] として [配信タイプ] を選択します。
-
Cloud Storage バケットの場合は、[ブラウズ] をクリックします。
-
適切なプロジェクトから既存のバケットを選択できます。
-
作成アイコンをクリックし、画面上の手順に沿って新しいバケットを作成することもできます。
バケットを作成したら、Cloud Storage サブスクリプションのバケットを選択します。
バケットを作成する方法の詳細については、バケットを作成するをご覧ください。
バケットを指定すると、Pub/Sub は Pub/Sub サービス エージェントに対してバケットに対する適切な権限を確認します。権限の問題がある場合は、次のようなメッセージ(
Unable to verify if the Pub/Sub service agent has write permissions on this bucket. You may be lacking permissions to view or set permissions
)が表示されます。 -
-
権限の問題が発生した場合は、[権限を設定] をクリックし、画面上の指示に従います。
または、Pub/Sub サービス エージェントに Cloud Storage のロールを割り当てるの手順に沿って操作します。
-
[ファイル形式] の場合、[テキスト] または [Avro] を選択します。
[Avro] を選択した場合、必要に応じて、出力にメッセージ メタデータを保存するかどうか指定することもできます。
Avro 形式のメッセージ メタデータ オプションを含む 2 つのオプションの詳細については、ファイル形式をご覧ください。
-
省略可: Cloud Storage バケットに書き込まれるすべてのファイルのファイル名の接頭辞、接尾辞、日時を指定できます。ファイルはバケットにオブジェクトとして保存されます。
ファイルの接頭辞、接尾辞、日時の設定方法については、ファイル名の接頭辞、接尾辞、日時をご覧ください。
-
[ファイルのバッチ処理] の場合、新しいファイルを作成するまでの最大経過時間を指定します。
必要に応じて、ファイルの最大ファイルサイズまたは最大メッセージ数を設定することもできます。
両方のファイルバッチ処理オプションの詳細については、ファイルのバッチ処理をご覧ください。
-
メッセージ エラーを処理するには、デッドレターを有効にすることを強くおすすめします。
詳細については、デッドレター トピックをご覧ください。
-
その他の設定はデフォルトのままにして、[作成] をクリックします。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- Cloud Storage サブスクリプションを作成するには、
gcloud pubsub subscriptions create
コマンドを実行します。gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --cloud-storage-bucket=BUCKET_NAME \ --cloud-storage-file-prefix=CLOUD_STORAGE_FILE_PREFIX \ --cloud-storage-file-suffix=CLOUD_STORAGE_FILE_SUFFIX \ --cloud-storage-file-datetime-format=CLOUD_STORAGE_FILE_DATETIME_FORMAT \ --cloud-storage-max-duration=CLOUD_STORAGE_MAX_DURATION \ --cloud-storage-max-bytes=CLOUD_STORAGE_MAX_BYTES \ --cloud-storage-max-messages=CLOUD_STORAGE_MAX_MESSAGES \ --cloud-storage-output-format=CLOUD_STORAGE_OUTPUT_FORMAT \ --cloud-storage-write-metadata --cloud-storage-use-topic-schema
カスタム サービス アカウントを使用する場合は、追加の引数として指定します。
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --cloud-storage-bucket=BUCKET_NAME \ --cloud-storage-file-prefix=CLOUD_STORAGE_FILE_PREFIX \ --cloud-storage-file-suffix=CLOUD_STORAGE_FILE_SUFFIX \ --cloud-storage-file-datetime-format=CLOUD_STORAGE_FILE_DATETIME_FORMAT \ --cloud-storage-max-duration=CLOUD_STORAGE_MAX_DURATION \ --cloud-storage-max-bytes=CLOUD_STORAGE_MAX_BYTES \ --cloud-storage-max-messages=CLOUD_STORAGE_MAX_MESSAGES \ --cloud-storage-output-format=CLOUD_STORAGE_OUTPUT_FORMAT \ --cloud-storage-write-metadata --cloud-storage-use-topic-schema --cloud-storage-service-account-email=SERVICE_ACCOUNT_NAME
このコマンドでは、
SUBSCRIPTION_ID
、--topic
フラグ、--cloud-storage-bucket
フラグのみが必須です。残りのフラグはオプションであり、省略できます。以下を置き換えます。
SUBSCRIPTION_ID
: 新しい Cloud Storage サブスクリプションの名前または ID。TOPIC_ID
: トピックの名前または ID。BUCKET_NAME
: 既存のバケットの名前を指定します。例:prod_bucket
バケット名にプロジェクト ID を含めてはいけません。バケットを作成するには、バケットを作成するをご覧ください。CLOUD_STORAGE_FILE_PREFIX
: Cloud Storage ファイル名の接頭辞を指定します。例:log_events_
CLOUD_STORAGE_FILE_SUFFIX
: Cloud Storage ファイル名の接尾辞を指定します。例:.txt
CLOUD_STORAGE_FILE_DATETIME_FORMAT
: Cloud Storage ファイル名の日時形式を指定します。例:YYYY-MM-DD/hh_mm_ssZ
CLOUD_STORAGE_MAX_DURATION
: 新しい Cloud Storage ファイルが作成されるまでの最大経過時間。値は 1 分~ 10 分にする必要があります。例:5m
CLOUD_STORAGE_MAX_BYTES
: 新しいファイルが作成される前に Cloud Storage ファイルに書き込むことができる最大バイト。値は 1 KB ~ 10 GB の範囲で指定してください。例:20MB
CLOUD_STORAGE_MAX_MESSAGES
: 新しいファイルが作成される前に Cloud Storage ファイルに書き込むことができるメッセージの最大数。値は 1,000 以上である必要があります。例:100000
CLOUD_STORAGE_OUTPUT_FORMAT
: Cloud Storage に書き込まれるデータの出力形式。値は次のとおりです。text
: メッセージは未加工のテキストとして書き込まれ、改行で区切られます。avro
: メッセージは Avro バイナリとして書き込まれます。--cloud-storage-write-metadata
と--cloud-storage-use-topic-schema
は、出力形式がavro
のサブスクリプションにのみ影響します。
- SERVICE_ACCOUNT_NAME: Cloud Storage への書き込みに使用するサービス アカウントの名前を指定します。
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
C#
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C# 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub C# API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Node.js
Node.js
PHP
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある PHP 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub PHP API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
Cloud Storage サブスクリプションをモニタリングする
Cloud Monitoring には、サブスクリプションをモニタリングするための指標がいくつか用意されています。
Pub/Sub に関連する使用可能なすべての指標のリストとその説明については、Pub/Sub のモニタリング ドキュメントをご覧ください。
Pub/Sub 内からサブスクリプションをモニタリングすることもできます。
次のステップ
Cloud Storage サブスクリプションのトラブルシューティングを行います。
Cloud Storage について確認する。
Cloud Storage サブスクリプションを含む Pub/Sub の料金を確認する。