インポート トピックは標準トピックに、あるいは標準トピックをインポート トピックに変換できます。
インポート トピックを標準トピックに変換する
インポート トピックを標準トピックに変換するには、取り込み設定をクリアします。次の手順を行います。
コンソール
コンソールで [**トピック**] ページに移動します。 Google Cloud
インポート トピックをクリックします。
[トピックの詳細] ページで、[編集] をクリックします。
[取り込みを有効にする] チェックボックスをオフにします。
[更新] をクリックします。
gcloud
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
gcloud pubsub topics updateコマンドを実行します。gcloud pubsub topics update TOPIC_ID \ --clear-ingestion-data-source-settings
TOPIC_ID は、トピック ID に置き換えます。
標準トピックを Amazon Kinesis Data Streams インポート トピックに変換する
標準トピックを Amazon Kinesis Data Streams インポート トピックに変換するには、 まず、すべての 前提条件を満たしていることを確認します。
コンソール
-
コンソールで [**トピック**] ページに移動します。 Google Cloud
-
インポート トピックに変換するトピックをクリックします。
-
[トピックの詳細] ページで、[編集] をクリックします。
-
[取り込みを有効にする] オプションを選択します。
-
取り込みソースには、[Amazon Kinesis Data Streams] を選択します。
-
次の詳細情報を入力します。
-
Kinesis Stream ARN: Pub/Sub に取り込む予定の Kinesis Data Stream の ARN。ARN 形式は次のとおりです:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}。 -
Kinesis Consumer ARN: AWS Kinesis Data Stream に 登録されているコンシューマ リソースの ARN。ARN 形式は次のとおりです:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}。 -
AWS Role ARN: AWS ロールの ARN。ロールの ARN 形式は次のとおりです:
arn:aws:iam::${Account}:role/${RoleName}。 -
サービス アカウント: 作成したサービス アカウント。
-
-
[更新] をクリックします。
gcloud
-
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
次の サンプルに記載されているフラグをすべて指定して、
gcloud pubsub topics updateコマンドを実行します。gcloud pubsub topics update TOPIC_ID
--kinesis-ingestion-stream-arn KINESIS_STREAM_ARN
--kinesis-ingestion-consumer-arn KINESIS_CONSUMER_ARN
--kinesis-ingestion-role-arn KINESIS_ROLE_ARN
--kinesis-ingestion-service-account PUBSUB_SERVICE_ACCOUNT次のように置き換えます。
-
TOPIC_ID はトピック ID または名前です。このフィールドは更新できません。
-
KINESIS_STREAM_ARN は、Pub/Sub に取り込む予定の Kinesis Data Streams の ARN です。ARN 形式は次のとおりです:
arn:${Partition}:kinesis:${Region}:${Account}:stream/${StreamName}. -
KINESIS_CONSUMER_ARN は、AWS Kinesis Data Streams に登録されているコンシューマ リソース の ARN です。ARN 形式は次のとおりです:
arn:${Partition}:kinesis:${Region}:${Account}:${StreamType}/${StreamName}/consumer/${ConsumerName}:${ConsumerCreationTimpstamp}。 -
KINESIS_ROLE_ARN は AWS ロールの ARN です。ロールの ARN 形式は次のとおりです:
arn:aws:iam::${Account}:role/${RoleName}。 -
PUBSUB_SERVICE_ACCOUNT は、作成したサービス アカウントです。
-
Go
次のサンプルでは、Go Pub/Sub クライアント ライブラリのメジャー バージョン(v2)を使用しています。v1 ライブラリをまだ使用している場合は、 v2 への移行ガイドをご覧ください。 v1 コードサンプルのリストについては、 非推奨のコードサンプルをご覧ください。
このサンプルを試す前に、 クイックスタート: クライアント ライブラリの使用の Go の設定手順を実施してください。 詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Java
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Java の設定手順を実施してください。詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を実施してください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
Python
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Python の設定手順を実施してください。詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
C++
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の C++ の設定手順を実施してください。詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
Node.js
このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を実施してください。詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
ARN の詳細については、Amazon リソース名(ARN)とIAM 識別子をご覧ください。
標準トピックを Cloud Storage インポート トピックに変換する
標準トピックを Cloud Storage インポート トピックに変換するには、 まず、すべての 前提条件を満たしていることを確認します。
コンソール
-
コンソールで [**トピック**] ページに移動します。 Google Cloud
-
Cloud Storage インポート トピックに変換するトピックをクリックします。
-
[トピックの詳細] ページで、[編集] をクリックします。
-
[取り込みを有効にする] オプションを選択します。
-
取り込みソースには、[Google Cloud Storage] を選択します。
-
Cloud Storage バケットの場合は、[ブラウズ] をクリックします。
[バケットを選択] ページが開きます。次のオプションのいずれかを選択します。
-
適切なプロジェクトから既存のバケットを選択します。
-
作成アイコンをクリックし、画面の指示に沿って 新しいバケットを作成します。バケットを作成したら、Cloud Storage インポート トピックのバケット を選択します。
-
-
バケットを指定すると、Pub/Sub は Pub/Sub サービス アカウントのバケットに対する 適切な権限を確認します。権限の問題がある場合は、権限に関連するエラー メッセージ が表示されます。
権限の問題が発生した場合は、[権限を設定] をクリックします。詳細については、 Pub/Sub サービス アカウントに Cloud Storage 権限を付与するをご覧ください。
-
[オブジェクト形式] で、[テキスト]、[Avro]、または [Pub/Sub Avro] を選択します。
[テキスト] を選択した場合は、オブジェクトをメッセージに分割する [区切り文字] を指定することもできます。
これらのオプションの詳細については、入力形式をご覧ください。
- 省略可。トピックの最短のオブジェクト作成時間 を指定できます。設定すると、最短のオブジェクト作成時間以降に作成されたオブジェクトのみが取り込まれます。
詳細については、 最短のオブジェクト作成時間をご覧ください。
- glob パターン を指定する必要があります。バケット内のすべてのオブジェクトを取り込むには、
glob パターンとして
**を使用します。指定されたパターンに一致するオブジェクトのみが取り込まれます。詳細については、 glob パターンに一致させるをご覧ください。
- 他のデフォルト設定はそのままにします。
- [トピックを更新] をクリックします。
gcloud
-
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
インポート トピックの設定が失われないように、トピックを更新するたびに すべての設定を含めてください。何かを省略すると、Pub/Sub は設定を元のデフォルト値にリセットします。
次の サンプルに記載されているフラグをすべて指定して、
gcloud pubsub topics updateコマンドを実行します。gcloud pubsub topics update TOPIC_ID \ --cloud-storage-ingestion-bucket=BUCKET_NAME\ --cloud-storage-ingestion-input-format=INPUT_FORMAT\ --cloud-storage-ingestion-text-delimiter=TEXT_DELIMITER\ --cloud-storage-ingestion-minimum-object-create-time=MINIMUM_OBJECT_CREATE_TIME\ --cloud-storage-ingestion-match-glob=MATCH_GLOB
次のように置き換えます。
-
TOPIC_ID はトピック ID または名前です。このフィールドは更新できません。
-
BUCKET_NAME: 既存のバケットの名前を指定します。 例:
prod_bucket。 バケット名にプロジェクト ID を含めてはいけません。 バケットを作成するには、バケットを作成するをご覧ください。 -
INPUT_FORMAT: 取り込まれるオブジェクトの形式を指定します。
text、avro、pubsub_avroを指定できます。 これらのオプションの詳細については、 入力形式をご覧ください。 -
TEXT_DELIMITER:テキスト オブジェクトを Pub/Sub メッセージに分割する区切り文字を指定します。これは 1 文字にする必要があり、
INPUT_FORMATがtextの場合にのみ設定する必要があります。 デフォルトでは、改行文字(\n)に設定されます。gcloud CLI を使用して区切り文字を指定する場合は、改行
\nなどの特殊文字の処理に注意してください。区切り文字が正しく解釈されるように、'\n'形式を使用します。 引用符やエスケープなしで\nを使用すると、区切り文字は"n"になります。 -
MINIMUM_OBJECT_CREATE_TIME: オブジェクトが取り込まれるために作成された最小時間を指定します。これは、
YYYY-MM-DDThh:mm:ssZ形式の UTC で指定する必要があります。 例:2024-10-14T08:30:30Z。0001-01-01T00:00:00Zから9999-12-31T23:59:59Zまでの任意の日付(過去または未来)を指定できます。 -
MATCH_GLOB: オブジェクトを取り込むために一致させる glob パターンを 指定します。gcloud CLI を使用している場合、
*文字を含む match glob では、*文字をエスケープする必要があります(形式は\*\*.txt)。または、match glob 全体を引用符で囲む必要があります("**.txt"または'**.txt')。glob パターンでサポートされている構文については、 Cloud Storage のドキュメントをご覧ください。
-