Looker でのデータモデルのトラブルシューティング

ラボ 20分 universal_currency_alt 無料 show_chart 中級
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

GSP1019

Google Cloud セルフペース ラボのロゴ

概要

Looker は Google Cloud で利用できる最新のデータ プラットフォームで、インタラクティブにデータを分析して可視化できます。LookML のデベロッパーは、新しいフィールド、テーブル、ビュー、Explore を作成し、データをカスタマイズして編成することによって、ビジネス ユーザーが使用するデータをキュレートします。

このラボでは、Looker の SQL Runner、LookML Validator、Content Validator を使用して LookML コードのトラブルシューティングと診断を行う方法を学びます。

演習内容

  • SQL Runner を使用してデータテーブルを調査し、SQL クエリのトラブルシューティングを行う。
  • LookML Validator を使用して、定義されたオブジェクトと関係の構文を検証する。
  • Explore クエリのエラー メッセージを診断して解決する。
  • Content Validator の実行時に表示されるエラー メッセージを診断して解決する。

前提条件

LookML に関する知識が必要です。このラボを開始する前に、「Understanding LookML in Looker」を修了することをおすすめします。

設定と要件

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

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

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

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

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

ラボを開始して Looker にログインする方法

  1. 準備ができたら、[ラボを開始] をクリックします。

    [ラボの詳細] ペインに、このラボで使用する一時的な認証情報が表示されます。

    ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。

    [ラボの詳細] ペインに表示されているラボの認証情報を確認してください(このラボの Looker インスタンスにログインする際に使用します)。

    注: 他の認証情報を使用すると、エラーが表示されたり料金が発生したりします
  2. [Open Looker] をクリックします。

  3. 提供されたユーザー名とパスワードを、[Email] フィールドと [Password] フィールドに入力します。

    ユーザー名:

    {{{looker.developer_username | Username}}}

    パスワード:

    {{{looker.developer_password | Password}}} 重要: このページの [ラボの詳細] ペインに表示されている認証情報を使用する必要があります。Google Cloud Skills Boost の認証情報は使用しないでください。ご自身の Looker アカウントをお持ちの場合でも、このラボでは使用しないでください。
  4. [Log In] をクリックします。

    正常にログインすると、このラボで使用する Looker インスタンスが表示されます。

LookML コードのトラブルシューティング ツールと一般的なユースケース

このセクションでは、LookML コードのトラブルシューティングに使用できるさまざまなツールや方法と、それぞれの一般的なユースケースについて説明します。

注: このラボでは、Looker インスタンスで発生する可能性のあるエラーのトラブルシューティング方法を学習できるようにするため、各タスク全体で LookML オブジェクトの構文と定義のエラーをシミュレートします。変更を本番環境に push する前に、ラボ全体を完了して正しい構文を確認し、エラーを完全に解決してください。

LookML Validator

LookML Validator を使用して、完全なモデル検証を行います。結合の欠落による無効なフィールド参照などの一部のエラーは、モデル全体の確認を必要とするため、LookML Validator を実行して初めて明らかになります。LookML Validator は、オブジェクト定義(例: ディメンション、メジャー)の構文や定義された関係(例: 結合)など、モデル内のすべての LookML コードをチェックします。ただし、LookML オブジェクトの SQL パラメータ(SQL 派生テーブルなど)はチェックしません。

Explore でクエリを実行する

新しい LookML オブジェクトを定義したら、Explore でクエリを実行できます。これにより、基盤となるデータベースからの SQL エラー(権限の不足、SQL オブジェクト参照の誤り、無効な集計など)が表示されるため、LookML コードのトラブルシューティングに役立ちます。

SQL Runner

データベースに直接アクセスできる SQL Runner は、クエリ内の SQL エラーを確認する際にも役立ちます。LookML オブジェクトの SQL パラメータに含めるカスタム SQL をテストできます。また、データベース テーブルのリストの表示、アドホック クエリの実行、SQL 派生テーブルのクエリの作成などもできます。

Content Validator

Content Validator は、LookML モデル、Explore、ビュー、フィールドに対する Look とダッシュボードによる参照をすべて検証し、不明な LookML オブジェクトをコンテンツが参照していればエラーを表示します。また、インスタンスで作成された Look とダッシュボードもチェックし、LookML オブジェクトへの参照が有効であることを確認します(たとえば、Explore の特定のディメンションやメジャーの名前が時間の経過とともに変更された場合など)。

Looker エラーカタログ

特定のエラーについて不明な点がある場合は、Looker エラーカタログを確認すると、一般的なエラー メッセージ、その根本原因、Looker のどこにメッセージが表示されるかがわかります。

タスク 1. SQL Runner を使用して利用可能なデータを調査し、SQL クエリのトラブルシューティングを行う

SQL Runner を使用すると、データベース接続の基盤となるテーブルに直接アクセスできます。SQL Runner 内では、利用可能なデータテーブルと列が一覧表示され、データに対してカスタム SQL クエリを実行できます。このタスクでは、利用可能なデータを調査し、SQL クエリのトラブルシューティングを行った後、SQL Runner で新しい SQL 派生テーブルを作成します。

SQL Runner で BigQuery データセットに接続する

  1. 切り替えボタンをクリックして開発モードに切り替えます。

  2. [開発] タブで [SQL Runner] を選択します。

  3. 設定設定の歯車アイコン)をクリックし、[公開プロジェクトを検索] をクリックします。
    [プロジェクト] のボックスが空になります。

  4. cloud-training-demos」と入力して、Enter キーを押します。

  5. [データセット] は [looker_ecomm] を選択します。
    この BigQuery データセットで利用可能なテーブルのリストが表示されます。

  6. 以下のクエリを [SQL クエリ] ウィンドウに追加します。

SELECT orders.user_id as user_id ,COUNT(*) as lifetime_orders ,SUM(orders.order_price) as lifetime_sales FROM cloud-training-demos.looker_ecomm.orders GROUP BY user_id LIMIT 10 注: 提供されている SQL クエリには誤った情報が含まれています。以降のステップでトラブルシューティングを行います。
  1. [実行] をクリックします。
    以下のエラー メッセージが表示されます。
Query execution failed: - Not found: Table cloud-training-demos:looker_ecomm.orders was not found in location US

SQL クエリの正しいテーブル名を特定する

  1. [テーブル] のテーブル名リストで、注文情報を含むテーブルを選択します。

  1. SQL クエリのテーブル名を更新します。
SELECT order_items.user_id as user_id ,COUNT(*) as lifetime_orders ,SUM(order_items.order_price) as lifetime_sales FROM cloud-training-demos.looker_ecomm.order_items GROUP BY user_id LIMIT 10
  1. [実行] をクリックします。
    新しいエラー メッセージが表示されます。
Query execution failed: - Name order_price not found inside order_items at [5:19]
  1. [テーブル] で [order_items] をクリックします。
    テーブルの列のリストが表示されます。

  1. SQL クエリの列名を更新します。
SELECT order_items.user_id as user_id ,COUNT(*) as lifetime_orders ,SUM(order_items.sale_price) as lifetime_sales FROM cloud-training-demos.looker_ecomm.order_items GROUP BY user_id LIMIT 10
  1. [実行] をクリックします。
    クエリ結果が正常に返されます。このクエリを SQL 派生テーブルとして保存できます。

クエリを SQL 派生テーブルとして保存する

  1. [実行] の横にある設定アイコン(設定の歯車アイコン)をクリックし、[プロジェクトに追加] をクリックします。

  2. [プロジェクト] で [qwiklabs-ecommerce] を選択します。

  3. [ビュー名] に「user_order_lifetime」と入力します。

  4. [追加] をクリックします。

  5. ファイル ブラウザで、user_order_lifetime.viewviews フォルダにドラッグします。

  6. user_order_lifetime.view ファイルの sql パラメータから LIMIT 10 のコード行を削除します。

注: この時点では、ビューの primary_key は定義していません。
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。
    LookML エラーは見つからず、ファイルは次のようになっているはずです。

user_order_lifetime.view ファイルの 1~21 行目と、その右側に表示された [プロジェクトの状態] ペイン

  1. training_ecommerce.model ファイルに移動します。

  2. explore: events 定義の、join: event_session_facts の前の新しい行で、次のコードを使用して新しい結合を定義します。

join: user_order_lifetime { type: left_outer sql_on: ${events.user_id} = ${user_order_lifetime.user_id};; relationship: many_to_one }
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。LookML エラーは発生しません。

変更を commit して本番環境にデプロイする

  1. [LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。

  2. commit メッセージを追加して、[Commit] をクリックします。

  3. 最後に、[本番環境にデプロイ] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 SQL Runner を使用して利用可能なデータを調査し、SQL クエリのトラブルシューティングを行う

タスク 2. LookML Validator を使用して、モデルで定義された構文をテストし、関係を検証する

LookML Validator は、定義されたオブジェクト(ディメンションやメジャーなど)の構文をテストし、モデル内の関係(結合など)を検証するのに役立ちます。このタスクでは、Explore のベースビューに結合されていない別のビューを参照する、LookML 構文が正しくない新しいディメンションを作成します。次に、LookML Validator を使用して、2 つの問題を特定して修正します。

別のビューのディメンションを参照して新しいディメンションを作成する

  1. qwiklabs-ecommerce プロジェクトで、users.view を開きます。

  2. 最後のディメンションを見つけ、次のコードを追加して(88 行目付近)新しいディメンションを作成します。

dimension: average_sales { type: ${number} sql: user_order_lifetime.lifetime_sales / user_order_lifetime.lifetime_orders ;; value_format_name: usd }

新しいディメンションは、user_order_lifetime という名前で新しく作成されたビューのディメンションを参照しています。

注: この LookML コードには誤った構文が含まれています。次のステップでトラブルシューティングを行います。
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。
    4 種類のエラーが表示されます。
  • 最初の項目は、構文エラーの場所を「Invalid LookML syntax near line 89」と特定しています。
  • 最後の項目は、「Expecting ‘keyword’, ‘}’, got ‘identifier’」と具体的な構文エラーを特定しています。

ビューに無効な構文が含まれるようになったため、有効なビューとは見なされなくなりました。そのため、ビューが見つからないという理由により、モデルファイル内でさらに以下のエラーが特定されます。

  • 「Join name must match a view name」、「Could not find a field named users.id」

ビューファイル内の新しいディメンションの構文が修正されると、ビューが再び有効になるため、モデルファイルのエラーも解決されます。

新しいディメンションの構文エラーを特定して修正する

次に、LookML コードのエラーをトラブルシューティングします。

  1. users.view ファイルの他のディメンションを確認します。

  2. ディメンション、フィルタ、パラメータのタイプに関するドキュメントを確認します。

  1. ディメンションの LookML コードを次のように更新します。
dimension: average_sales { type: number sql: ${user_order_lifetime.lifetime_sales} / ${user_order_lifetime.lifetime_orders} ;; value_format_name: usd }
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。

    構文が更新されたため、ビューは再び有効になり、モデルエラーも解決されました。しかし、ここで新しいエラーが発生します。

users.view ファイルの 79~100 行目と、LookML 検証ペインに表示された「user_order_lifetime view」にアクセスできないという LookML エラー

  1. Looker エラーカタログInaccessible view のエラー メッセージを確認します。
    調べるべきポイントはいくつかあります。

    • ビューが存在しない。
    • ビューが Explore に正しく結合されていない。
  2. ファイル ブラウザでビューの一覧を確認します。user_order_lifetime というビューがファイル ブラウザに実際に存在することを確認します。

  3. training_ecommerce.model を開いて確認します。

    user_order_lifetime という新しいビューは、モデルファイル内の Explore のベースビューに結合されていません。また、users.vieworder_itemsevent の両方の Explore に結合されています。そのため、users.view 内で新しいディメンションを正しく定義するには、user_order_lifetime の新しいビューも両方の Explore に結合する必要があります。

  4. explore: order_items 定義の、join: users の前の新しい行で、次のコードを使用して新しい結合を定義します。

join: user_order_lifetime { type: left_outer sql: ${order_items.user_id} = ${user_order_lifetime.user_id};; relationship: many_to_one } 注: これらの結合のうち 1 つは正しく定義されていません。次のセクションでトラブルシューティングを行います。
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。

次のタスクを開始するにあたり、IDE のブラウザタブは開いたままにしておきます。

変更を commit して本番環境にデプロイする

  1. [LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。

  2. commit メッセージを追加して、[Commit] をクリックします。

  3. 最後に、[本番環境にデプロイ] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 新しいディメンションを作成する

タスク 3. Explore クエリ ウィンドウを使用して、欠落しているオブジェクトとエラー メッセージを診断する

LookML コードの変更をテストする簡単な方法は、Explore でクエリを実行して、ビジネス ユーザーが変更されたコードをどのように表示し、操作するかを確認することです。Explore クエリを実行することで、欠落している LookML オブジェクトや無効な LookML オブジェクト(primary_key の欠落など)を特定し、権限の不足や SQL オブジェクト参照の誤り(結合の定義の誤りなど)といった基盤となるデータベースからの SQL エラーを確認できます。

このタスクでは、Explore でクエリを実行し、誤って定義された結合と欠落しているメジャーを特定します。また、新たに定義した結合の LookML を修正し、新しいビューに primary_key を追加して、集計(つまりメジャー)が正しく処理されるようにします。

Explore 内で新しいビューを確認する

  1. 新しいタブで新しい Looker ウィンドウを開きます。

  2. [Explore] > [Order Items] の順に移動します。

  3. [User Order Lifetime] のビューを開きます。

3 つのディメンション(lifetime_orderslifetime_salesuser_id)が表示されますが、メジャーは表示されません。

次のステップに進むにあたり、このブラウザタブは開いたままにしておきます。

ビュー内の集計で欠落しているパラメータを特定して修正する

  1. Looker IDE のブラウザタブに戻り、user_order_lifetime.view に戻ります。Explore に count というメジャーが 1 つ表示されます。

  2. 対称集計の要件に関するドキュメントを確認します。最初の要件は、結合に関与するすべてのビューで primary_key が定義されていることです。

  3. user_order_lifetime.view をもう一度確認します。
    primary_key が定義されていません。

  1. user_order_lifetime.view 内で、user_id ディメンションを更新して、ビューの primary_key として定義します。
dimension: user_id { primary_key: yes type: number sql: ${TABLE}.user_id ;; }
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。

  2. Order Items Explore のブラウザタブに戻り、ページを再読み込みします。

  3. [User Order Lifetime] のビューを開きます。
    ビューの primary_key を定義すると、Count メジャーが表示されます。

次の手順では、Order Items Explore で、user_order_lifetime.view のディメンションに依存する users.view で定義された新しいディメンション(Average Sales)をテストします。

Explore クエリを実行して新しいディメンションをテストする

  1. [Users] > [Dimensions] で、[Average Sales] をクリックし、[Run] をクリックします。

Explore から基盤となるデータベースに送信された SQL クエリとともに、エラー メッセージが表示されます。「Query execution failed: - Syntax error: Expected end of input but got identifier "order_items" at [13:1]」というエラー メッセージで、13 行目の問題を特定しています。

  1. [Data] ペインで [SQL] タブを開き、失敗したクエリを簡単に見直し、13 行目を確認します。
order_items.user_id =user_order_lifetime.user_id

エラーに関する情報が十分ではありませんが、この新しいビューは Events Explore にも結合していました。次のステップでは、Events Explore で同じクエリを実行し、その Explore でビューをテストします。

  1. このブラウザタブで Order Items Explore を開いたままにして、新しいタブで新しい Looker ウィンドウを開きます。

  2. [Explore] > [Events] に移動します。

  3. [Users] > [Dimensions] で、[Average Sales] をクリックし、[Run] をクリックします。

  4. [Data] ペインで [SQL] タブを開き、クエリが成功したことを確認します。

  5. このクエリの 13 行目を確認します。

    Order Items Explore のクエリとは異なり、この 13 行目のクエリ構文では、eventsuser_order_lifetime の間の join を指定しています。

LEFT JOIN user_order_lifetime ON events.user_id = user_order_lifetime.user_id

モデル内の無効なパラメータを特定して修正する

  1. Looker IDE のブラウザタブに戻り、training_ecommerce.model を開きます。

  2. order_items Explore と events Explore の両方で、user_order_lifetime の結合を確認します。

  3. LookML パラメータ リファレンス(機能別)を参照してパラメータを確認します。

  1. explore: order_items 定義の user_order_lifetime の結合を次のように更新します。
join: user_order_lifetime { type: left_outer sql_on: ${order_items.user_id} = ${user_order_lifetime.user_id};; relationship: many_to_one }
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。
    LookML エラーは発生しません。

  2. Order Items Explore のブラウザタブに戻り、ページを再読み込みします。

order_items Explore 内で user_order_lifetime の結合を正しく定義したため、クエリは正常に実行されます。

Explore クエリを Look として保存する

  1. [Average Sales] 列を 1 回クリックして、降順に並べ替えます。

  2. IDStateCountryAge のディメンションをクリックしてクエリを開きます。

  3. [行数上限] に「10」と入力します。

  4. [実行] をクリックします。

  5. [ビジュアリゼーション] ペインを開き、[テーブル] ビジュアリゼーションを選択します。

  6. 設定アイコン(設定の歯車アイコン)をクリックします。

  7. [保存] > [Look として保存] をクリックします。

  8. Look に「Top 10 Users With Highest Average Sales」という名前を付けます。

  9. [Look を保存して表示] をクリックします。
    ビジュアリゼーションは次のようになります。

上位 10 件の平均販売額の Look で、5 つの列見出し(Average Sales、ID、State、Country、Age)の下に 10 行のデータが含まれています

  1. Explore のもう一方のタブを閉じ、次のタスクを開始するまでこのブラウザタブを開いたままにしておきます。

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

タスク 4. LookML オブジェクトの変更後に、Content Validator を使用してコンテンツをテストし、更新する

Content Validator を使用すると、インスタンスで作成された Look とダッシュボードをチェックして、LookML オブジェクトへの参照が有効であることを確認できます。これは、ディメンション、メジャー、ビュー、Explore、モデルの名前が変更された場合に特に役立ちます。このツールがインスタンスのコンテンツやオブジェクトに与える可能性のある影響について詳しくは、「Content Validator を使用する前に」のドキュメントをご覧ください。

このタスクでは、LookML オブジェクト(ディメンションなど)の名前をユーザー フレンドリーなものに変更します。次に Content Validator を使用し、既存のコンテンツ(Look など)内の LookML オブジェクトへの参照を検証して更新します。

既存のディメンションの名前を変更する

  1. users.view を開き、average_sales というディメンションを見つけて、ビジネス ユーザーにとって具体的な名前に変更します。
dimension: average_order_price { type: number sql: ${user_order_lifetime.lifetime_sales} / ${user_order_lifetime.lifetime_orders} ;; value_format_name: usd }
  1. [変更内容を保存] をクリックし、[LookML を検証] をクリックします。
    LookML エラーは発生しません。

  2. IDE のブラウザタブを開いたままにして、Look のブラウザタブに戻り、ページを再読み込みします。

以下の警告が表示されます: 「users.average_sales」は、Order Items に存在しないか、アクセス権がないため、無視されます

  1. 新しいタブで新しい Looker ウィンドウを開きます。

  2. [開発] > [Content Validator] に移動します。

  3. [検証] をクリックします。

[エラー] タブがアクティブになり、前のタスクで作成した「Top 10 Users With Highest Average Sales」という Look に関して「Unknown field "users.average_sales"」のエラーが表示されます。

  1. [すべてのコンテンツの検索と置換] をクリックします。

  2. [タイプ] で [フィールド] を選択します。

  3. [フィールド名] に「users.average_sales」と入力します。

  4. [置換フィールド名] に「users.average_order_price」と入力します。

  5. [フィールド名を置換] をクリックします。

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

  7. [検証] をクリックします。
    [エラー] タブが空になります。これは、ディメンションの名前が、そのディメンションを参照していたすべてのコンテンツ(この場合は「Top 10 Users With Highest Average Sales」という Look)で更新されたためです。

  8. Look のブラウザタブに戻り、ページを再読み込みします。
    Look が更新され、ビジュアリゼーションが正常にレンダリングされたので、LookML の変更を本番環境に push できます。

  9. IDE のブラウザタブに戻ります。

  10. [LookML を検証] をクリックします。LookML エラーは発生しません。

変更を commit して本番環境にデプロイする

  1. [LookML を検証] をクリックしてから、[Commit Changes & Push] をクリックします。

  2. commit メッセージを追加して、[Commit] をクリックします。

  3. 最後に、[本番環境にデプロイ] をクリックします。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 既存のディメンションの名前を変更する

お疲れさまでした

このラボでは、まず SQL Runner を使用して問題のある SQL クエリのトラブルシューティングを行い、LookML Validator を使用して定義されたオブジェクトと関係の構文を検証しました。次に、Explore クエリ ウィンドウを使用して欠落しているオブジェクトとエラー メッセージを診断し、LookML オブジェクトを変更した後、Content Validator を使用してコンテンツのテストと更新を行いました。

次のステップと詳細情報

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

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

マニュアルの最終更新日: 2024 年 4 月 23 日

ラボの最終テスト日: 2023 年 2 月 9 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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