インポート トピックは標準トピックに、あるいは標準トピックをインポート トピックに変換できます。
インポート トピックを標準トピックに変換する
インポート トピックを標準トピックに変換するには、取り込み設定をクリアします。次の手順を行います。
Console
Google Cloud コンソールの トピック ページに移動します。
インポート トピックをクリックします。
[トピックの詳細] ページで、[編集] をクリックします。
[取り込みを有効にする] チェックボックスをオフにします。
[更新] をクリックします。
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.
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 インポート トピックに変換するには、まず、すべての前提条件を満たしていることを確認します。
Console
-
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}
。 -
サービス アカウント: Google Cloud でサービス アカウントを作成するで作成したサービス アカウント。
-
-
[更新] をクリックします。
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.
次のサンプルに記載されているフラグをすべて指定して、
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 は、Google Cloud でサービス アカウントを作成するで作成したサービス アカウントです。
-
Go
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Go 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Go API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Java 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Java API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Python 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub Python API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C++
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある C++ 向けの手順に従って設定を行ってください。 詳細については、Pub/Sub C++ API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js (TypeScript)
このサンプルを試す前に、Pub/Sub クイックスタート: クライアント ライブラリの使用にある Node.js 向けの手順に沿って設定を行ってください。 詳細については、Pub/Sub Node.js API のリファレンス ドキュメントをご覧ください。
Pub/Sub に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
ARN の詳細については、Amazon リソース名(ARN)と IAM 識別子をご覧ください。
標準トピックを Cloud Storage インポート トピックに変換する
標準トピックを Cloud Storage インポート トピックに変換するには、まず、すべての前提条件を満たしていることを確認します。
Console
-
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
-
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.
インポート トピックの設定が失われないようにするには、トピックを更新するたびにすべての設定を含めてください。値を指定しない場合は、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: オブジェクトが取り込まれるために作成された最小時間を指定します。UTC の
YYYY-MM-DDThh:mm:ssZ
形式で指定します。例:2024-10-14T08:30:30Z
0001-01-01T00:00:00Z
~9999-12-31T23:59:59Z
までの過去または未来の日付はすべて有効です。 -
MATCH_GLOB: オブジェクトを取り込むために一致させる glob パターンを指定します。gcloud CLI を使用している場合、
*
文字を含むマッチ グロブでは、*
文字を\*\*.txt
形式でエスケープするか、マッチ グロブ全体を引用符"**.txt"
または'**.txt'
で囲む必要があります。glob パターンでサポートされている構文については、 Cloud Storage のドキュメントをご覧ください。
-