.NET Cloud 함수 만들기 및 배포
Cloud Functions는 클라우드 서비스를 빌드하고 연결하기 위한 서버리스 실행 환경입니다. Cloud Functions를 사용하면 클라우드 인프라와 서비스에서 발생하는 이벤트에 연결되는 단일 목적의 간단한 함수를 작성할 수 있습니다. 함수는 HTTP 요청이 외부에서 수신되거나 감시 중인 이벤트가 발생할 때 트리거됩니다.
Cloud Console을 사용하여 .NET Core 3.1 Cloud 함수를 만들고 배포하는 방법을 알아보세요.
Cloud Console에서 직접 이 작업을 수행하는 방법에 대한 단계별 안내를 보려면 둘러보기를 클릭합니다.
다음 섹션에서는 둘러보기를 클릭할 때와 동일한 단계를 수행합니다.
이 C# 함수가 HTTP 요청을 통해 트리거되면 메시지를 작성합니다.
using Google.Cloud.Functions.Framework; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Logging; using System.IO; using System.Text.Json; using System.Threading.Tasks; namespace SimpleHttpFunction { public class Function : IHttpFunction { private readonly ILogger _logger; public Function(ILogger<Function> logger) => _logger = logger; public async Task HandleAsync(HttpContext context) { HttpRequest request = context.Request; // Check URL parameters for "message" field string message = request.Query["message"]; // If there's a body, parse it as JSON and check for "message" field. using TextReader reader = new StreamReader(request.Body); string text = await reader.ReadToEndAsync(); if (text.Length > 0) { try { JsonElement json = JsonSerializer.Deserialize<JsonElement>(text); if (json.TryGetProperty("message", out JsonElement messageElement) && messageElement.ValueKind == JsonValueKind.String) { message = messageElement.GetString(); } } catch (JsonException parseException) { _logger.LogError(parseException, "Error parsing JSON request"); } } await context.Response.WriteAsync(message ?? "Hello World!"); } } }
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Functions and Cloud Build APIs.
함수 만들기
Cloud Console에서 Functions 개요 페이지를 엽니다.
Cloud Functions를 사용 설정한 프로젝트를 선택했는지 확인합니다.
함수 만들기를 클릭합니다.
함수 이름을 지정합니다.
트리거 필드에서 HTTP를 선택합니다.
인증 필드에서 인증되지 않은 호출 허용을 선택합니다.
저장을 클릭하여 변경사항을 저장한 후 다음을 클릭합니다.
소스 코드 필드에서 인라인 편집기를 선택합니다. 이 실습에서는 편집기에 제공된 기본 함수를 사용합니다.
런타임 드롭다운을 사용하여 .NET Core 3.1 런타임을 선택합니다.
함수 배포
페이지 하단에서 배포를 클릭합니다.
배포를 클릭하면 Cloud Console이 Cloud Functions 개요 페이지로 리디렉션됩니다.
배포 중인 함수 옆에 작은 스피너가 있습니다. 배포가 끝나면 스피너는 녹색 체크표시로 바뀝니다.
함수 테스트
함수 관련 메뉴를 표시하고 함수 테스트를 클릭합니다.
테스트 페이지에서 함수 테스트를 클릭합니다.
출력 화면에
"Hello World!"
라는 텍스트가 표시됩니다.이제 메시지를 변경합니다. 트리거 이벤트 필드에서
{"message":"Hello, YOUR_NAME!"}
텍스트를 입력하고YOUR_NAME
을 이름으로 바꾼 후 함수 테스트를 클릭합니다.예를 들어 'Rowan'이라는 이름을 입력했다면 출력 필드에
Hello, Rowan!
이라는 메시지가 표시됩니다.로그 필드에서 상태 코드 200은 성공을 나타냅니다.
로그 보기
로그를 확인하여 로그 기록에서 내 작업을 볼 수 있습니다.
- Cloud Functions 개요 페이지로 돌아와서 함수 관련 메뉴에서 로그 보기를 클릭합니다.
그러면 로그 기록이 나타납니다.