HTTP 트리거

Cloud Functions에서 HTTP 트리거는 HTTP(S) 요청에 대한 응답으로 함수를 실행할 수 있습니다. 함수에 대해 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 함수 배포를 참조하고 배포 중 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세대):
    1. HTTPS인증 필드에서 인증되지 않은 함수 호출을 허용할지 여부에 따라 옵션을 선택합니다. 기본적으로 인증이 필요합니다. 자세한 내용은 호출 인증을 참조하세요.
  • Cloud Functions(1세대):
    1. 트리거 유형 필드에서 HTTP를 선택합니다.
    2. 인증 필드에서 인증되지 않은 함수 호출을 허용할지 여부에 따라 옵션을 선택합니다. 기본적으로 인증이 필요합니다. 자세한 내용은 호출 인증을 참조하세요.
    3. 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에는 결정된 형식이 없습니다. 즉, 두 번째 필드가 무작위 해시이기 때문에 함수를 배포하기 전에는 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)"
    

콘솔

  1. Google Cloud 콘솔에서 Cloud Functions 개요 페이지로 이동합니다.

    Cloud Functions로 이동

  2. URL을 검색할 함수의 이름을 클릭합니다.

  3. 수정 탭을 클릭합니다.

  4. 트리거 섹션에서 함수의 URL을 확인합니다.

다음 단계