チェックポイント
Create a cloud storage bucket
/ 50
Deploy the function
/ 50
Cloud Functions: Qwik Start - コマンドライン
GSP080
概要
クラウド関数は、HTTP リクエスト、メッセージング サービスからのメッセージ、ファイル アップロードなどのイベントに応答して実行されるコードです。クラウド イベントとは、クラウド環境で発生する変化のことを指します。たとえば、データベースでのデータの変更、ストレージ システムへのファイルの追加、新しい仮想マシン インスタンスの作成などがイベントとして扱われます。
クラウド関数は、何かが発生した場合にのみ実行されるイベント ドリブン型であるため、迅速に実行する必要があるタスクや、常時実行する必要がないタスクに適しています。
たとえば、クラウド関数を使用して次のことができます。
- Cloud Storage にアップロードされる画像のサムネイルを自動的に生成する
- Cloud Pub/Sub で新しいメッセージを受信したときにユーザーの携帯電話に通知を送信する
- Cloud Firestore データベースからのデータを処理し、レポートを生成する
Node.js をサポートする任意の言語でコードを作成できます。また、数回クリックするだけでコードをクラウドにデプロイできます。クラウド関数がデプロイされると、イベントに応答して自動的に実行が開始されます。
このハンズオンラボでは、Google Cloud コンソールでクラウド関数を作成、デプロイ、テストする方法を説明します。
このハンズオンラボでは、Google Cloud Shell のコマンドラインを使用して、クラウド関数を作成、デプロイ、テストする方法について学習します。
演習内容
- Cloud Functions でシンプルな関数を作成する
- 作成した関数をデプロイ、テストする
- ログを表示する
設定
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、[ラボの詳細] パネルから [ユーザー名] をコピーして [ログイン] ダイアログに貼り付けます。[次へ] をクリックします。
-
[ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。
重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後このタブで Cloud Console が開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
タスク 1. 関数を作成する
最初に、helloWorld という名前の簡単な関数を作成します。これは Cloud Functions のログにメッセージを書き込む関数です。この関数は Cloud Functions のイベントでトリガーされ、関数が実行されたことを通知するコールバック関数を受信します。
このラボでは、Cloud Pub/Sub トピックに関する Cloud Functions のイベントを扱います。Pub/Sub は、メッセージの送信者とメッセージの受信者を切り離すメッセージング サービスです。送信または投稿されるメッセージのアラートとメッセージ自体を受信者が受信するには、サブスクリプションが必要です。Pub/Sub について詳しくは、Cloud Pub/Sub ガイドの Google Cloud Pub/Sub: Google 規模のメッセージ サービスをご覧ください。
イベント パラメータとコールバック パラメータについて詳しくは、Cloud Functions のドキュメントのバックグラウンド関数をご覧ください。
Cloud Functions の関数を作成するには:
- Cloud Shell で、次のコマンドを実行してデフォルトのリージョンを設定します。
- 関数コード用のディレクトリを作成します。
-
gcf_hello_world
ディレクトリに移動します。
-
index.js
作成し、編集するために開きます。
- 次の内容を
index.js
ファイルにコピーします。
- nano エディタを終了し(Ctrl+X)、ファイルを保存します(Y)。
タスク 2. Cloud Storage バケットを作成する
- 次のコマンドを使用して、関数用に新しい Cloud Storage バケットを作成します。
-
PROJECT_ID は、このラボの左側にある [ラボの詳細] パネルに表示されるプロジェクト ID です。
-
BUCKET_NAME はバケットに付ける名前です。プロジェクト ID をバケット名として使用して、グローバルに一意の名前を確保できます。
バケットの命名について詳しくは、Cloud Storage ドキュメントのバケットの命名ガイドラインをご覧ください。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。
タスク 3. 関数をデプロイする
新しい関数をデプロイするには、--trigger-topic
、--trigger-bucket
、--trigger-http
のいずれかを指定する必要があります。既存の関数にアップデートをデプロイすると、特に指定のない限り、その関数は既存のトリガーを維持します。
このラボでは、--trigger-topic
に hello_world
を指定します。
-
hello_world という Pub/Sub トピックに関数をデプロイします。[
BUCKET_NAME
] はバケットの名前で置き換えます。
プロンプトが表示されたら、「Y
」と入力して新しい関数の未認証の呼び出しを許可します。
- 関数のステータスを確認します。
ACTIVE ステータスは、関数がデプロイされたことを表しています。
トピックにメッセージが配信されるたびに関数の実行がトリガーされ、メッセージの内容が入力データとして送信されます。
完了したタスクをテストする
[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが提供されます。
タスク 4. 関数をテストする
関数をデプロイしてそれがアクティブになっていることを確認したら、関数がイベントを検出してメッセージをクラウドログに書き込むかどうかをテストします。
- 次のコマンドを入力して、関数のメッセージ テストを作成します。
Cloud ツールから関数の実行 ID が返されます。これは、メッセージがログに書き込まれたことを示しています。
次のような内容が返されます。
該当するログを表示して、その実行 ID のログメッセージが存在することを確認します。
タスク 5. ログを表示する
- 該当のログを開き、ログ履歴の中に対象のメッセージがあることを確認します。
関数が正常に実行されると、次のようなメッセージがログに表示されます。
これでアプリケーションのデプロイ、テスト、ログの表示が完了しました。
タスク 6. 理解度チェック
今回のラボで学習した内容の理解を深めていただくため、以下の選択式問題を用意しました。正解を目指して頑張ってください。
お疲れさまでした
クエストを完了する
このセルフペース ラボは、「Baseline: Deploy & Develop」クエスト、「Baseline: Infrastructure」クエスト、「Optimizing your Google Cloud Costs」クエストの一部です。クエストとは学習パスを構成する一連のラボのことで、完了すると成果が認められてバッジが贈られます。バッジは公開して、オンライン レジュメやソーシャル メディア アカウントにリンクできます。このラボの修了後、このラボが含まれるクエストに登録すれば、すぐにクレジットを受け取ることができます。受講可能なすべてのクエストについては、Google Cloud Skills Boost カタログをご覧ください。
次のラボを受講する
このラボは、Google Cloud が提供する多くの機能を体験できる「Qwik Start」と呼ばれるラボシリーズの一部でもあります。ラボカタログで「Qwik Start」を検索し、興味のあるラボを探してみてください。
次のステップと詳細情報
- このラボでは、コマンドラインを使用して Cloud Functions の関数を起動する方法を学習しました。次は「Cloud Functions: Qwik Start - コンソール」ラボに進み、Cloud コンソールから Cloud Functions の関数を起動してみましょう。
- トリガーを作成して関数に関連付ける方法について詳しくは、Cloud Functions ガイドのイベントとトリガーのセクションをご覧ください。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2023 年 8 月 10 日
ラボの最終テスト日: 2023 年 8 月 10 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。