发布于 2026-01-06 0 阅读
0

隆重推出 #25DaysOfServerless,一项 Azure Functions 挑战赛

隆重推出 #25DaysOfServerless,一项 Azure Functions 挑战赛

无服务器时代的到来.gif

大家好!

我们很高兴地宣布#25DaysOfServerless,这是一项为期 25 天的活动,旨在利用Azure Functions创建 25 个新的无服务器工作负载。

规则

用你选择的编程语言解决每日挑战。然后通过 GitHub 提交你的解决方案(并分享到 Twitter),我们每周都会展示最佳解决方案!

如果你是无服务器架构新手,我们会提供一些提示来帮助你!你只需要一个 GitHub 账号来发布你的解决方案,以及一颗勇于尝试的心。

例子

又到了送礼的季节,我们需要一个分享礼物图片的解决方案!但是有一个问题:我们只能分享png文件。

针对此挑战,创建一个由 Azure Blob 存储触发的 Azure 函数,该函数将验证上传到我们的 Azure Blob 存储容器中的每张照片是否为 png 格式;如果不是,则从容器中删除该照片。

我们可以使用 Azure Functions 创建一个简单的 BlobTrigger来用 C# 解决这个问题!

[FunctionName(nameof(GiftPhotoValidationFunction))]
public static async Task Run([BlobTrigger(_containerName)] CloudBlockBlob blockBlob, ILogger log)
{
    log.LogInformation("Validating Gift Image is a PNG");

    if (blockBlob.Name.EndsWith(".png", StringComparison.InvariantCultureIgnoreCase))
    {
        log.LogInformation("Confirmed PNG");
    }
    else
    {
        log.LogInformation($"Photo {blockBlob.Name} is not a PNG");

        log.LogInformation($"Deleting {blockBlob.Name} from container");

        await blockBlob.DeleteAsync().ConfigureAwait(false);

        log.LogInformation($"Deleted {blockBlob.Name}");
    }
}
Enter fullscreen mode Exit fullscreen mode

开始使用

从 12 月 1 日起,访问https://www.25daysofserverless.com查找每日挑战,并在 Twitter 上关注@AzureAdvocates#25DaysOfServerless

如果您是 Azure 新用户,请在 12 月 1 日#25DaysOfServerless活动开始注册一个免费的 Azure 帐户!

文章来源:https://dev.to/azure/introducing-25daysofserverless-an-azure-functions-challenge-6b5