arrow_back

Cloud Spanner の変更ストリームによるアカウント データの調整

ログイン 参加
知識をテストして、コミュニティで共有しましょう

Cloud Spanner の変更ストリームによるアカウント データの調整

ラボ 45分 universal_currency_alt クレジット: 3 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
知識をテストして、コミュニティで共有しましょう

GSP1097

概要

アカウントの調整は、業種を問わず、多くの企業にとって必須のビジネス プロセスの一つです。企業ごとに独自の手順がありますが、基本的に、元帳と銀行明細の間で取引を照合し、アカウントの財務上の正確性を確認する、標準的な手順に従っています。調整および監査のツールは、適時に処理が必要なアカウントの調整において、生産性を向上して時間を節約するのに役立ちます。

このラボでは、Google Cloud Spanner でアカウント テーブルを作成し、Spanner の変更ストリーム機能と Google Dataflow を使用してモニタリング パイプラインを設定します。変更内容は BigQuery に反映されます。

学習内容

このラボでは、次のタスクの実行方法について学びます。

  • Spanner でアカウント テーブルを作成する
  • Spanner で変更ストリームのモニタリング フックを作成する
  • 変更ストリームの Dataflow ジョブを構成して実行する
  • BigQuery で変更をモニタリングする

設定と要件

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

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、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 のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。

タスク 1. アカウント データベースを作成して DDL を挿入する

  1. Cloud コンソールのナビゲーション メニュー()で [すべてのプロダクトを表示] をクリックし、[データベース] から [Spanner] をクリックします。

  2. bitfoon-dev インスタンスをクリックします。

  3. インスタンスの詳細ページで、[データベースを作成] をクリックします。

  4. データベース名に「finance」と入力します。

  5. [データベース言語の選択] で、[Google 標準 SQL] を選択します。

  6. [スキーマの定義] ボックスに、次の DDL をコピーして貼り付けます。

CREATE TABLE Account ( AccountId BYTES(16) NOT NULL, CreationTimestamp TIMESTAMP NOT NULL OPTIONS (allow_commit_timestamp=true), AccountStatus INT64 NOT NULL, Balance NUMERIC NOT NULL ) PRIMARY KEY (AccountId);
  1. [作成] をクリックします。データベースは次のようになります。

これで、アカウント データベースを作成できました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 アカウント データベースを作成して DDL を挿入する

タスク 2. 任意のアカウント データを挿入する

  1. finance データベースで、左側のメニューの [Spanner Studio] をクリックします。

  2. 次のクエリをコピーしてボックスに貼り付けます。

INSERT INTO Account (AccountId, CreationTimestamp, AccountStatus, Balance) VALUES (FROM_BASE64('ACCOUNTID11123'), PENDING_COMMIT_TIMESTAMP(), 1, 22)
  1. [実行] をクリックします。

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

1 row inserted This statement inserted 1 row and did not return any rows.
  1. このクエリのステップを異なるアカウント ID で 3 回繰り返し、複数のアカウントを作成します。次のアカウント ID を使用します。
    • ACCOUNTID12345
    • ACCOUNTID24680
    • ACCOUNTID135791

これで、データベースに複数のアカウントを挿入できました。

タスク 3. Balance と AccountStatus の変更ストリームを作成する

  1. finance データベースで、左側のメニューの [変更ストリーム] をクリックします。

  2. [+ 変更ストリームを作成] をクリックします。

  3. 次のスキーマをエディタ ボックスにコピーして貼り付けます。

CREATE CHANGE STREAM AccountUpdateStream FOR Account(AccountStatus, Balance);
  1. [実行] をクリックします。

  2. [変更ストリーム] ページに戻ります。変更ストリームが作成されたことを確認します。

変更ストリームは、デフォルトの保持期間 24 時間で作成されます。その他のオプションについては、こちらをご覧ください。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Balance と AccountStatus の変更ストリームを作成する

タスク 4. BigQuery で調整データセットを作成し、変更ストリーム データを受け取る

  1. Cloud コンソールのナビゲーション メニュー()で [BigQuery] をクリックします。

  2. エクスプローラ メニューでプロジェクト ID の横にあるその他アイコンをクリックし、[データセットを作成] を選択します。

  3. 新しいデータセットに「changestream」という名前を付けます。

  4. [データセットを作成] をクリックします。

これで、調整テーブルを作成できました。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 BigQuery で調整データセットを作成し、変更ストリーム データを受け取る

タスク 5. Dataflow 変更ストリーム パイプラインを作成する

  1. Cloud コンソールのナビゲーション メニュー()で [すべてのプロダクトを表示] をクリックし、[分析] から [Dataflow] をクリックします。

  2. [テンプレートからジョブを作成] をクリックします。

  3. [ジョブ名] に「change-stream-pipeline」と入力します。

  4. [リージョン エンドポイント] で を選択します。

  5. [Dataflow テンプレート] で、[Cloud Spanner change streams to BigQuery] を選択します。

  1. 次のように必須パラメータの値を入力します。

    • Spanner インスタンス ID: bitfoon-dev
    • Spanner データベース: finance
    • Spanner 変更ストリーム: AccountUpdateStream
    • BigQuery データセット: changestream
    • Spanner メタデータ データベース: finance
    • Spanner メタデータ インスタンス ID: bitfoon-dev
  2. [ジョブを実行] をクリックします。

Dataflow ジョブを開始する

  1. Cloud コンソールのナビゲーション メニュー()で、[データベース] から [Spanner] をクリックします。

  2. bitfoon-dev インスタンスをクリックします。

  3. finance データベースをクリックします。

  4. 左側のメニューで [Spanner Studio] をクリックします。

  5. 次のクエリを実行して、Dataflow ジョブを開始します。

INSERT INTO Account (AccountId, CreationTimestamp, AccountStatus, Balance) VALUES (FROM_BASE64('ACCOUNTID98765'), PENDING_COMMIT_TIMESTAMP(), 1, 22)
  1. Cloud コンソールのナビゲーション メニュー()で [すべてのプロダクトを表示] をクリックし、[分析] から [Dataflow] をクリックします。

  2. Dataflow ジョブが実行されていることを確認します。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Dataflow 変更ストリーム パイプラインを作成する

タスク 6. Spanner で変更を作成して BigQuery で追跡する

  1. Cloud コンソールのナビゲーション メニュー()で [すべてのプロダクトを表示] をクリックし、[データベース] から [Spanner] をクリックします。

  2. bitfoon-dev インスタンスをクリックします。

  3. finance データベースをクリックします。

  4. 左側のメニューで [Spanner Studio] をクリックします。

  5. 次の更新クエリをコピーしてボックスに貼り付けます。

UPDATE Account SET CreationTimestamp=PENDING_COMMIT_TIMESTAMP(), AccountStatus=4, Balance=255 WHERE AccountId=FROM_BASE64('ACCOUNTID11123');
  1. [実行] をクリックします。

  2. このクエリのステップを異なる残高値で 3 回繰り返し、複数の変更を作成します。次の残高値を使用します。

    • 300
    • 500
    • 600
  3. Cloud コンソールのナビゲーション メニュー()で [BigQuery] をクリックします。

  4. changestream データセットに移動し、[Account_changelog] を選択して変更を確認します。

注: 結果がテーブルに反映されるまで数分かかる場合があります。
  1. [プレビュー] タブを選択して結果を確認します。テーブルは次のようになります。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Spanner で変更を作成して BigQuery で追跡する

お疲れさまでした

このラボでは、Spanner、Dataflow、BigQuery を使用して、Google Cloud でアカウントと残高のサンプルに調整および監査パイプラインを実装しました。

次のステップと詳細情報

変更ストリームと Spanner の詳細については、以下のリソースをご覧ください。

マニュアルの最終更新日: 2024 年 11 月 6 日

ラボの最終テスト日: 2024 年 11 月 6 日

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

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

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

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

ありがとうございます。

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

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.