close
The Wayback Machine - https://web.archive.org/web/20190123104647/https://cloud.google.com/error-reporting/docs/quickstart

App Engine のクイックスタート

このページでは、Python App Engine アプリケーションをデプロイする方法、Stackdriver Error Reporting で任意のエラーの詳細を表示する方法を説明します。

Google Cloud Platform Console の 3 分間のインタラクティブなチュートリアルをご覧ください
(リンク先のページで右側にある [次へ] ボタンをクリックしてください)。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. GCP Console で、[リソースの管理] ページに移動して、新しいプロジェクトを選択または作成します。

    [リソースの管理] ページに移動

  3. プロジェクトに対して課金が有効になっていることを確認します。

    課金を有効にする方法について

  4. プロジェクトの Cloud Shell を開きます。「接続中...」というメッセージがシェルの起動中にプロジェクトのダッシュボードの下部に表示されます。

    Cloud Shell を開く

App Engine アプリのデプロイ

アプリケーションのソースコードは、GitHub プロジェクト appengine-helloworld-python にあります。

  1. ワークステーションにプロジェクトのクローンを作成します。

    git clone https://github.com/GoogleCloudPlatform/appengine-helloworld-python.git
    

    Git は次のメッセージを返します。

    git clone https://github.com/GoogleCloudPlatform/appengine-helloworld-python.git
    Cloning into 'appengine-helloworld-python'...
    remote: Counting objects: 49, done.
    remote: Total 49 (delta 0), reused 0 (delta 0), pack-reused 49
    Unpacking objects: 100% (49/49), done.
    Checking connectivity... done.
    
  2. プロジェクト ディレクトリに移動します。

    cd appengine-helloworld-python
    
  3. テキスト エディタで app.yaml を開き、application の値を、GCP Console に登録したプロジェクト名に変更します。

  4. ローカルの開発用サーバーを使用して、アプリをテストします。

    dev_appserver.py .
    

    http://localhost:8080 に移動します。すべてが適切に構成されると、ブラウザは「Hello world!」と表示します。Ctrl+C キーを押して、ローカルの開発用サーバーを停止させます。

  5. アプリケーションを App Engine にアップロードします。[PROJECT_ID] は、実際のプロジェクト ID に置き換えます。

    appcfg.py -A [PROJECT_ID] -V v1 update .
    
  6. http://[PROJECT_ID].appspot.com に移動します([PROJECT_ID] は実際のプロジェクト ID に置き換えます)。ブラウザは「Hello world!」と表示します。

エラーの導入

実行中のエラーレポートを見るには、アプリケーションでエラーをトリガする必要があります。エラーレポートはエラーレベルにあるエラーしか表示しないので、この例では、存在しないモジュールをインポートします。

  1. テキスト エディタで main.py を開きます。

  2. コードの最初の行(コメントの後)を次のように編集します。

    import webapp22
    
  3. ファイルを保存して閉じます。

  4. 変更されたファイルを App Engine にアップロードします。

    appcfg.py -A [PROJECT_ID] -V v1 update .
    
  5. http://[PROJECT_ID].appspot.com に移動します([PROJECT_ID] は実際のプロジェクト ID に置き換えます)。ブラウザが ImportError を表示します。

    Traceback (most recent call last):
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
        handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
        handler, path, err = LoadObject(self._handler)
      File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
        obj = __import__(path[0])
      File "/base/data/home/apps/s~er-qs-5/v1.391726448590406952/main.py", line 17, in 
        import webapp22
    ImportError: No module named webapp22
    

Error Reporting でのエラー表示

Stackdriver Error Reporting がエラーをピックアップしました。

  1. GCP Console で Error Reporting にアクセスします。概要ページが開き、1 件のエラーを表示します。

    BERJAYA

  2. [自動再読み込み] をクリックします。エラーリストは 5 秒ごとに自動的に再読み込みされます。

  3. アプリケーション(http://[PROJECT_ID].appspot.com)を、ブラウザに再読み込みします。Error Reporting がエラーを検出します。スタック トレースは 1 番目のエラーに似ているので、Error Reporting はそれを 1 番目のエラーとひとまとめにして、[発生回数] と時間のグラフを更新します。

  4. リスト中のエラーをクリックします。エラー詳細ページが表示されます。

    BERJAYA

    詳細ページには、これらの関連エラーに関する入手可能なすべての情報が含まれます。入手できれば、ソースコードへのリンクも含まれます。

クリーンアップ

このチュートリアルで使用するリソースで {[gcp_name_short}} アカウントに課金されないようにする手順は次のとおりです。

  1. GCP Console のプロジェクト ページに移動します。

  2. プロジェクトの横に表示されているごみ箱アイコン(BERJAYA)をクリックします。

  3. プロジェクト名を入力して、シャットダウンを確認します。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

BERJAYA
Stackdriver Error Reporting ドキュメント