Cloud Run Functions 직접 호출
Cloud Functions v2 API로 만든 함수의 빠른 반복 및 디버깅을 지원하기 위해 Cloud Run 함수는 명령줄 인터페이스에서 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 요청 본문으로 전송됩니다.
- CloudEvent 함수의 경우 데이터는 이벤트 데이터로 함수에 직접 전달됩니다.
자세한 내용은 gcloud functions call
문서를 참조하세요.
Cloud Pub/Sub 이벤트 기반 함수 예시
다음 예시에서는 Cloud Pub/Sub 이벤트에 의해 트리거된 이벤트 기반 함수를 직접 호출하는 방법을 보여줍니다.
Node.js
Python
Go
Java
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에서는 작동하지 않습니다.