发布到 Azure blob 存储时自动生成缩略图或预览图像
Auto generation of thumbnails or preview of images when posting to Azure blob storage
我正在将图片发布到 Azure blob 存储。当我存储全分辨率图像时,我想维护一个单独的图像缩略图(或预览)集合。是否可以编写脚本(或挂钩),当图像上传到 blob 存储时,图像的缩略图也会自动保存。
请告知是否可以编写脚本。
我不想在客户端或服务器端调整大小。我正在使用 SAS 使客户端能够将图像直接上传到 blob 存储。我可以将图像发送到我是 运行 的移动服务(服务器),在那里图像可以调整大小并上传到 blob 存储。但我不想让这些调用使服务器超载。
是的,这确实是可能的,您可以通过使用 BlobTrigger 部署 WebJob 来完成此操作,该 BlobTrigger 获取新创建的 blob 的输入流,并让您将其修改为输出 blob,使用优秀的代码看起来像这样imageresizing.net图书馆:
public static void ResizeMicroImages(
[BlobTrigger("orig/{name}.{ext}")] Stream input,
[Blob("90x126/{name}.png", FileAccess.Write)] Stream output
){
ImageBuilder.Current.Build(new ImageJob(input, output, new Instructions()
{
AutoRotate = true,
Width = 90,
Height = 126,
OutputFormat = OutputFormat.Png,
}));
}
然而,在我们的设置中,当我们看到很多图片时,我们看到了问题,当它对未处理的 blob 进行初始检查时,webjob 抛出 OutOfMemoryExceptions,但这可能特定于我们的设置(我们有很多图片).我们更改为手动将消息添加到存储队列,而是让 webjob 使用 QueueTrigger 处理它。
继续上传到存储,然后将事件发送到 EventHub. You can implement an EventProcessor 并以工作者角色托管该代码。 EventProcessor 可以从存储中获取上传的图像,调整大小,并将调整后的图像保存回存储。这种模型的优点是它是可扩展的,您可以随着流量的变化而扩大或缩小。
我正在将图片发布到 Azure blob 存储。当我存储全分辨率图像时,我想维护一个单独的图像缩略图(或预览)集合。是否可以编写脚本(或挂钩),当图像上传到 blob 存储时,图像的缩略图也会自动保存。
请告知是否可以编写脚本。
我不想在客户端或服务器端调整大小。我正在使用 SAS 使客户端能够将图像直接上传到 blob 存储。我可以将图像发送到我是 运行 的移动服务(服务器),在那里图像可以调整大小并上传到 blob 存储。但我不想让这些调用使服务器超载。
是的,这确实是可能的,您可以通过使用 BlobTrigger 部署 WebJob 来完成此操作,该 BlobTrigger 获取新创建的 blob 的输入流,并让您将其修改为输出 blob,使用优秀的代码看起来像这样imageresizing.net图书馆:
public static void ResizeMicroImages(
[BlobTrigger("orig/{name}.{ext}")] Stream input,
[Blob("90x126/{name}.png", FileAccess.Write)] Stream output
){
ImageBuilder.Current.Build(new ImageJob(input, output, new Instructions()
{
AutoRotate = true,
Width = 90,
Height = 126,
OutputFormat = OutputFormat.Png,
}));
}
然而,在我们的设置中,当我们看到很多图片时,我们看到了问题,当它对未处理的 blob 进行初始检查时,webjob 抛出 OutOfMemoryExceptions,但这可能特定于我们的设置(我们有很多图片).我们更改为手动将消息添加到存储队列,而是让 webjob 使用 QueueTrigger 处理它。
继续上传到存储,然后将事件发送到 EventHub. You can implement an EventProcessor 并以工作者角色托管该代码。 EventProcessor 可以从存储中获取上传的图像,调整大小,并将调整后的图像保存回存储。这种模型的优点是它是可扩展的,您可以随着流量的变化而扩大或缩小。