隆重推出 #25DaysOfServerless,一项 Azure Functions 挑战赛
大家好!
我们很高兴地宣布#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}");
}
}
开始使用
从 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
