HTTP トリガー(第 2 世代)

Cloud Functions では、HTTP(S) リクエストを受け HTTP トリガーを発することで関数を実行できます。関数に HTTP トリガーを指定すると、関数にはリクエストを受信できる URL が割り当てられます。HTTP トリガーは、GETPOSTPUTDELETEOPTIONS の各リクエスト メソッドをサポートしています。

Cloud Functions では、関数 URL へのリクエストには常に HTTPS が必要です。

デフォルトでは、HTTP トリガーを使用して関数を実行する場合、認証が必要になります。デプロイ中に、未認証の呼び出しを許可するよう選択できます。詳細については、認証されていない HTTP 関数の呼び出しを許可するをご覧ください。

HTTP 関数を使用して、一般的な HTTP(S) リクエストを処理できる Cloud Functions の関数を実装します。

デプロイ

関数のデプロイ時に HTTP トリガーを指定できます。関数をデプロイする一般的な手順については、Cloud Functions の関数のデプロイをご覧ください。デプロイ中に HTTP トリガーを構成するための追加情報については、このセクションをご覧ください。

gcloud

gcloud CLI を使用してデプロイする場合は、以下のフラグを使用して HTTP トリガーを構成します。

gcloud functions deploy YOUR_FUNCTION_NAME \
--trigger-http \
[--allow-unauthenticated] \
[--security-level=SECURITY_LEVEL] \
...
  • --trigger-http フラグは、関数が HTTP トリガーを使用することを指定します。
  • --allow-unauthenticated フラグは、認証なしで関数を呼び出せることを指定します。このフラグを省略すると、デフォルト設定が適用され、関数の呼び出しに認証が必要になります。詳細については、呼び出しの認証をご覧ください。

コンソール

Google Cloud コンソールを使用してデプロイする場合は、[トリガー] セクションで HTTP トリガーを構成できます。

  • 関数の未認証の呼び出しを許可するかどうかに応じて、[HTTPS] の [認証] フィールドでオプションを選択します。デフォルトでは認証が必要です。詳細については、呼び出しの認証をご覧ください。

関数の URL

HTTP トリガーを使用して関数をデプロイしたら、割り当てられた URL を取得できます。

関数には、次の形式の URL が割り当てられています。これらの URL は決定的な形式になっているため、関数をデプロイする前に URL を予測できます。

https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME

関数には、基盤となる Cloud Run サービスに関連付けられている URL も割り当てられます。この URL は決定的な形式ではありません。つまり、2 番目のフィールドはランダムなハッシュであるため、関数をデプロイする前にどのような URL になるかを予測することはできません。ただし、関数のデプロイ後には URL は永続します。

https://FUNCTION_NAME-RANDOM_HASH-REGION.a.run.app

関数の cloudfunctions.net URL と run.app URL はまったく同じように動作します。これらは互換性があります。

関数の URL は次のように取得できます。

gcloud

gcloud functions describe YOUR_FUNCTION_NAME \
--region=YOUR_FUNCTION_REGION \
--format="value(serviceConfig.uri)" \
...

コンソール

  1. Google Cloud コンソールで Cloud Functions の概要ページに移動します。

    Cloud Functions に移動

  2. URL を取得する関数の名前をクリックします。

  3. [編集] タブをクリックします。

  4. [トリガー] セクションで関数の URL を確認します。

次のステップ