빠른 시작: .NET Cloud 함수 만들기 및 배포

.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!");
        }
    }
}

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. API Cloud Functions and Cloud Build 사용 설정

    API 사용 설정

  5. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  6. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  7. API Cloud Functions and Cloud Build 사용 설정

    API 사용 설정

함수 만들기

  1. Cloud Console에서 Functions 개요 페이지를 엽니다.

    Cloud Functions 개요 페이지로 이동

    Cloud Functions를 사용 설정한 프로젝트를 선택했는지 확인합니다.

  2. 함수 만들기를 클릭합니다.

  3. 함수 이름을 지정합니다.

  4. 트리거 필드에서 HTTP를 선택합니다.

  5. 인증 필드에서 인증되지 않은 호출 허용을 선택합니다.

  6. 저장을 클릭하여 변경사항을 저장한 후 다음을 클릭합니다.

  7. 소스 코드 필드에서 인라인 편집기를 선택합니다. 이 실습에서는 편집기에 제공된 기본 함수를 사용합니다.

  8. 런타임 드롭다운을 사용하여 .NET Core 3.1 런타임을 선택합니다.

함수 배포

  1. 페이지 하단에서 배포를 클릭합니다.

  2. 배포를 클릭하면 Cloud Console이 Cloud Functions 개요 페이지로 리디렉션됩니다.

    배포 중인 함수 옆에 작은 스피너가 있습니다. 배포가 끝나면 스피너는 녹색 체크표시로 바뀝니다.

    함수 배포 프로세스를 보여주는 스크린샷

함수 테스트

  1. 함수 관련 메뉴를 표시하고 함수 테스트를 클릭합니다.

    함수 테스트 프로세스를 보여주는 스크린샷

  2. 테스트 페이지에서 함수 테스트를 클릭합니다.

    출력 화면에 "Hello World!"라는 텍스트가 표시됩니다.

  3. 이제 메시지를 변경합니다. 트리거 이벤트 필드에서 {"message":"Hello, YOUR_NAME!"} 텍스트를 입력하고 YOUR_NAME을 이름으로 바꾼 후 함수 테스트를 클릭합니다.

    예를 들어 'Rowan'이라는 이름을 입력했다면 출력 필드에 Hello, Rowan!이라는 메시지가 표시됩니다.

    로그 필드에서 상태 코드 200은 성공을 나타냅니다.

    성공을 나타내는 200 코드가 있는 로그 필드를 보여주는 스크린샷

로그 보기

로그를 확인하여 로그 기록에서 내 작업을 볼 수 있습니다.

  • Cloud Functions 개요 페이지로 돌아와서 함수 관련 메뉴에서 로그 보기를 클릭합니다.

그러면 로그 기록이 나타납니다.

성공을 나타내는 200 코드가 있는 로그 필드를 보여주는 스크린샷

다음 단계