Disable and re-enable the Dataflow API

進行状況を確認

/ 20

Create a BigQuery Dataset (name: taxirides)

進行状況を確認

/ 20

Create a table in BigQuery Dataset

進行状況を確認

/ 20

Create a Cloud Storage bucket

進行状況を確認

/ 20

Run the Pipeline

進行状況を確認

/ 20

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP192

Google Cloud セルフペース ラボ

概要

このラボでは、Google の Dataflow テンプレートの一つを使用してストリーミング パイプラインを作成する方法を学習します。具体的には、Pub/Sub to BigQuery テンプレートを使用して、Pub/Sub トピックから JSON 形式のメッセージを読み取り、BigQuery テーブルに push します。このテンプレートに関するドキュメントは、Google 提供のテンプレートの使用に関するガイドでご確認いただけます。

BigQuery データセットとテーブルを作成するには、Cloud Shell コマンドラインまたは Cloud コンソールを使用します。いずれかの方法を選択して、ラボの作業を進めてください。両方の方法を試したい場合は、このラボを 2 回行ってください。

演習内容

  • BigQuery データセットとテーブルを作成する
  • Cloud Storage バケットを作成する
  • Pub/Sub to BigQuery Dataflow テンプレートを使用してストリーミング パイプラインを作成する

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 右側の [ラボの設定とアクセス] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • このラボで使用する一時的な認証情報(ユーザー名とパスワード)
    • このラボを行うために必要なその他の情報(ある場合)

    ラボのタイマーはページの上部に表示され、残り時間が示されます。

  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示された場合は、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの設定とアクセス] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの設定とアクセス] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで指定された認証情報を使用する必要があります。ご自身の Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後のページはクリックして先に進みます。

    • 利用規約に同意します。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

しばらくすると、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニューのアイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

タスク 1. Dataflow API が再度有効になったことを確認する

必要な API にアクセスできることを確認するには、Dataflow API への接続をリセットします。

  • Cloud Shell で次のコマンドを実行して、プロジェクトに対して Dataflow API を無効にしてから再度有効にすることでリセットできます。
gcloud services disable dataflow.googleapis.com --project {{{project_0.project_id|Project ID}}} --force gcloud services enable dataflow.googleapis.com --project {{{project_0.project_id|Project ID}}}

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Dataflow API を無効にし、再度有効にする。

タスク 2. Cloud Shell を使用して BigQuery データセット、BigQuery テーブル、Cloud Storage バケットを作成する

まず BigQuery のデータセットとテーブルを作成します。

注: このタスクでは bq コマンドライン ツールを使用します。Cloud コンソールを使用してこれらの手順を完了する場合は、タスク 3 までスキップしてください。
  1. 次のコマンドを実行して、taxirides というデータセットを作成します。
bq mk taxirides

出力は次のようになります。

Dataset '' successfully created

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery データセット(名前: taxirides)を作成する

これでデータセットが作成されました。次のステップでこれを使用して、BigQuery テーブルをインスタンス化します。

  1. 以下のコマンドを実行します。
bq mk \ --time_partitioning_field timestamp \ --schema ride_id:string,point_idx:integer,latitude:float,longitude:float,\ timestamp:timestamp,meter_reading:float,meter_increment:float,ride_status:string,\ passenger_count:integer -t taxirides.realtime

出力は次のようになります。

Table 'myprojectid:taxirides.realtime' successfully created

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery データセットにテーブルを作成する

一見すると、bq mk コマンドは少し複雑に見えますが、BigQuery コマンドラインのドキュメントを参照するとその内容を理解できます。たとえば、スキーマについては次のような説明が記載されています。

  • ローカルの JSON スキーマ ファイルへのパス、または [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] 形式の列定義のカンマ区切りリスト。

この例では、後者のカンマ区切りのリストを使用します。

Cloud Shell を使用して Cloud Storage バケットを作成する

テーブルをインスタンス化できたら、次はバケットを作成します。

プロジェクト ID をバケット名として使用し、グローバルに一意の名前を確保します。

  • 作成するには、次のコマンドを実行します。
export BUCKET_NAME={{{project_0.project_id | "Bucket Name"}}} gsutil mb gs://$BUCKET_NAME/

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Cloud Storage バケットを作成する

バケットを作成したら、「パイプラインを実行する」セクションまで下にスクロールします。

タスク 3. Google Cloud コンソールを使用して BigQuery データセット、BigQuery テーブル、Cloud Storage バケットを作成する

注: タスク 2 を完了した場合は、同じタスクをコマンド ラインで実行するタスク 3 を行わないでください。
  1. 左側のメニューの [ビッグデータ] セクションで [BigQuery] をクリックします。

  2. 次に [完了] をクリックします。

  3. [従来のエクスプローラ] でプロジェクト名の横にあるその他アイコンをクリックし、[データセットを作成] をクリックします。

  4. データセット ID として「taxirides」を入力します。

  5. [データのロケーション] で、[US(米国の複数のリージョン)] を選択します。

  6. その他のデフォルト設定はすべてそのままにし、[データセットを作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery データセット(名前: taxirides)を作成する

  1. コンソールの左側にあるプロジェクト ID の下に taxirides データセットが表示されます。

  2. taxirides データセットの横にあるその他アイコンをクリックし、[開く] を選択します。

  3. コンソールの右側にある [テーブルを作成] を選択します。

  4. [送信先] > [テーブル] に「realtime」と入力します。

  5. [スキーマ] で、[テキストとして編集] スライダーを切り替えて次のように入力します。

ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp, meter_reading:float,meter_increment:float,ride_status:string,passenger_count:integer

コンソールは次のようになります。

[テーブルを作成] ページ

  1. 次に、[テーブルを作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery データセットにテーブルを作成する

Cloud コンソールを使用して Cloud Storage バケットを作成する

  1. Cloud コンソールに戻り、[Cloud Storage] > [バケット] > [バケットを作成] に移動します。

  2. プロジェクト ID をバケット名として使用し、グローバルに一意の名前を確保します。

  3. その他のデフォルト設定はそのままにして、[作成] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Cloud Storage バケットを作成する

タスク 4. パイプラインを実行する

Dataflow テンプレートをデプロイします。

gcloud dataflow jobs run iotflow \ --gcs-location gs://dataflow-templates-{{{project_0.default_region | "Region"}}}/latest/PubSub_to_BigQuery \ --region {{{project_0.default_region | "Region"}}} \ --worker-machine-type e2-medium \ --staging-location gs://{{{project_0.project_id | "Bucket Name"}}}/temp \ --parameters inputTopic=projects/pubsub-public-data/topics/taxirides-realtime,outputTableSpec={{{project_0.project_id | "Table Name"}}}:taxirides.realtime

ナビゲーション メニューで、[すべてのプロダクトを表示] > [アナリティクス] > [Dataflow] > [ジョブ] をクリックします。Dataflow ジョブが表示されます。

詳しくは、ドキュメントをご覧ください。

注: アクティビティ追跡には 1 分ほどかかる場合があります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 パイプラインを実行する

リソースがビルドされ、使用できる状態になります。

それでは、ナビゲーション メニューにある [BigQuery] をクリックして、BigQuery に書き込まれたデータを見てみましょう。

  • BigQuery UI が開くと、プロジェクト名の下に taxirides データセット、その下に realtime テーブルが表示されます。
注: BigQuery テーブルにデータが入力されるまでに数分かかる場合があります。

タスク 5. クエリを送信する

クエリは、標準 SQL を使用して送信できます。

  1. BigQuery エディタに以下を追加し、プロジェクト内のデータにクエリを実行します。
SELECT * FROM `{{{project_0.project_id | "Bucket Name"}}}.taxirides.realtime` LIMIT 1000
  1. [実行] をクリックします。

問題やエラーが発生した場合は、クエリを再実行してください(パイプラインの起動には数分かかります)。

  1. クエリが正常に実行されると、次のように [クエリ結果] パネルに出力が表示されます。

[クエリ結果] ページ

これで Pub/Sub トピックから 1,000 件のタクシー乗車データが pull され、BigQuery テーブルに push されました。実際に確認したように、テンプレートは Dataflow ジョブを実行するための実用的で使いやすい方法です。Dataflow ドキュメントの Google 提供のテンプレートの使用に関するガイドで、他の Google テンプレートについてもぜひご確認ください。

タスク 6. 理解度チェック

今回のラボで学習した内容の理解を深めていただくため、以下の多肢選択問題を用意しました。正解を目指して頑張ってください。

お疲れさまでした

Pub/Sub to BigQuery Dataflow テンプレートを使用してストリーミング パイプラインを作成しました。このパイプラインは、Pub/Sub トピックから JSON 形式のメッセージを読み取り、BigQuery テーブルに push します。

次のステップと詳細情報

このラボは Qwik Start と呼ばれるラボシリーズの一部です。これらのラボでは、Google Cloud で利用できる多くの機能を体験できます。Google Skills カタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2026 年 2 月 10 日

ラボの最終テスト日: 2026 年 2 月 10 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。

ラボを開始するには、この簡単な手順を完了してください。