HTTP トリガー
Cloud Functions では、HTTP(S) リクエストを受け HTTP トリガーを発することで関数を実行できます。関数に HTTP トリガーを指定すると、関数にはリクエストを受信できる URL が割り当てられます。HTTP トリガーは、GET
、POST
、PUT
、DELETE
、OPTIONS
の各リクエスト メソッドをサポートしています。
Cloud Functions(第 2 世代)では、関数 URL へのリクエストには常に HTTPS が必要です。Cloud Functions(第 1 世代)では、デプロイ中に 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
フラグは、認証なしで関数を呼び出せることを指定します。このフラグを省略すると、デフォルト設定が適用され、関数の呼び出しに認証が必要になります。詳細については、呼び出しの認証をご覧ください。- (第 1 世代)
--security-level
フラグは、関数エンドポイントで HTTPS が必須かどうかを制御します。値secure-always
は、HTTPS が必須で、SSL 以外の HTTP リクエストがサポートされていないことを意味します。値secure-optional
は、HTTP と HTTPS の両方がサポートされていることを意味します。デフォルトはsecure-always
です。
コンソール
Google Cloud コンソールを使用してデプロイする場合は、[トリガー] セクションで HTTP トリガーを構成できます。
- Cloud Functions(第 2 世代)の場合:
- 関数の未認証の呼び出しを許可するかどうかに応じて、[HTTPS] の [認証] フィールドでオプションを選択します。デフォルトでは認証が必要です。詳細については、呼び出しの認証をご覧ください。
- Cloud Functions(第 1 世代)の場合:
- [トリガーのタイプ] フィールドで、[HTTP] を選択します。
- 関数の未認証の呼び出しを許可するかどうかに応じて、[認証] フィールドでオプションを選択します。デフォルトでは認証が必要です。詳細については、呼び出しの認証をご覧ください。
- [HTTPS が必須] チェックボックスをオンまたはオフにして、関数のエンドポイントで HTTPS を必須にするかどうかを制御します。オフにした場合は、HTTP と HTTPS の両方がサポートされます。
関数の URL
HTTP トリガーを使用して関数をデプロイしたら、割り当てられた URL を取得できます。
第 1 世代と第 2 世代のどちらの関数にも、次の形式の URL が割り当てられています。これらの URL は決定的な形式になっているため、関数をデプロイする前に URL を予測できます。
https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME
第 2 世代の関数には、基盤となる Cloud Run サービスに関連付けられている URL も割り当てられます。この URL は決定的な形式ではありません。つまり、2 番目のフィールドはランダムなハッシュであるため、関数をデプロイする前にどのような URL になるかを予測することはできません。ただし関数のデプロイ後には、URL は永続します。
https://FUNCTION_NAME-RANDOM_HASH-REGION.a.run.app
第 2 世代の関数の cloudfunctions.net
URL と run.app
URL はまったく同じように動作します。これらは互換性があります。
関数の URL は次のように取得できます。
gcloud
Cloud Functions(第 2 世代)の場合:
gcloud functions describe YOUR_FUNCTION_NAME \ --gen2 \ --region=YOUR_FUNCTION_REGION \ --format="value(serviceConfig.uri)"
Cloud Functions(第 1 世代)の場合:
gcloud functions describe YOUR_FUNCTION_NAME \ --format="value(httpsTrigger.url)"
コンソール
Google Cloud コンソールで Cloud Functions の概要ページに移動します。
URL を取得する関数の名前をクリックします。
[編集] タブをクリックします。
[トリガー] セクションで関数の URL を確認します。
次のステップ
- HTTP 関数の作成方法を学習する。
- Cloud Functions の関数のデプロイ方法を学習する。
- HTTP 関数の作成、デプロイ、呼び出しの例について、HTTP 関数のチュートリアルを確認する。