创建和部署 .NET Cloud Functions 函数
Cloud Functions 是一种用于构建和连接云服务的无服务器执行环境。借助 Cloud Functions,您可以编写单一用途的简单函数,并将这些函数关联到您的云基础架构和服务发出的事件。当在外部收到 HTTP 请求或所监控的事件发生时,您的函数就会被触发。
了解如何使用 Cloud Console 创建和部署 .NET Core 3.1 Cloud Functions 函数。
如需在 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 中打开 Cloud 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 的“概览”页面,显示您的函数对应的菜单,然后点击查看日志。
此时将显示您的日志历史记录。