로컬에서 함수 테스트
이 가이드에서는 gcloud functions
명령어를 사용하여 소스 코드에서 함수를 로컬로 호출하는 방법을 보여줍니다. 함수 프레임워크를 사용하여 Cloud Run Functions를 로컬에서 개발하고 테스트하는 방법을 알아보려면 로컬 함수 개발을 참조하세요.
Cloud Functions v2 API로 만든 함수의 빠른 반복 및 디버깅을 지원하기 위해 명령줄 인터페이스에서 call
명령어를 사용할 수 있습니다. 이를 통해 함수를 직접 호출하여 예상대로 작동하는지 확인할 수 있습니다. 또한 특정 이벤트에 응답하도록 배포된 함수라도 즉시 실행됩니다.
Google Cloud CLI로 함수 테스트
gcloud CLI를 사용하여 함수를 직접 호출하려면 gcloud functions call
명령어를 사용하고 함수에 필요한 데이터를 --data
인수에 JSON으로 제공합니다. 예를 들면 다음과 같습니다.
gcloud functions call YOUR_FUNCTION_NAME \
--region=REGION --gen2 \
--data '{"name":"Kalani"}'
다음과 같이 바꿉니다.
- YOUR_FUNCTION_NAME: 테스트할 함수의 이름
- REGION: 함수가 배포된 Google Cloud 리전
--data
인수는 다음과 같이 함수에 전달됩니다.
- HTTP 함수의 경우 사용자가 제공한 데이터는 POST 요청 본문으로 전송됩니다.
- 이벤트 기반 함수의 경우 데이터는 이벤트 데이터로 함수에 직접 전달됩니다.
자세한 내용은 gcloud functions call
문서를 참조하세요.
Cloud Pub/Sub 이벤트 기반 함수 예시
다음 예시에서는 Pub/Sub 이벤트에 의해 트리거된 이벤트 기반 함수를 직접 호출하는 방법을 보여줍니다.
Node.js
Python
Go
자바
C#
Ruby
PHP
함수를 직접 호출하려면 base64로 인코딩된 데이터가 필요한 PubsubMessage
를 이벤트 데이터로 보냅니다.
Node.js
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloPubSub --data '{"data":"'$DATA'"}'
Python
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
Go
DATA=$(printf 'Hello!'|base64) && gcloud functions call HelloPubSub --data '{"data":"'$DATA'"}'
자바
DATA=$(printf 'Hello!'|base64) && gcloud functions call java-hello-pubsub --data '{"data":"'$DATA'"}'
C#
DATA=$(printf 'Hello!'|base64) && gcloud functions call csharp-hello-pubsub --data '{"data":"'$DATA'"}'
Ruby
DATA=$(printf 'Hello!'|base64) && gcloud functions call hello_pubsub --data '{"data":"'$DATA'"}'
PHP
DATA=$(printf 'Hello!'|base64) && gcloud functions call helloworldPubsub --data '{"data":"'$DATA'"}'
이 CLI 예시에서는 bash
또는 sh
구문을 사용합니다. Linux 및 Mac 환경에서 작동하지만 Windows에서는 작동하지 않습니다.