- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下触发器会在将 Blob(图像)上传到 Azure 存储后从 Blob 中删除 exif 数据。问题是每个 blob 的 blob 触发器至少触发 5 次。
在触发器中,通过向 Blob 写入新的数据流来更新 Blob。我原以为blob receipts将阻止针对该 Blob 进一步触发 Blob 触发器。
[FunctionName("ExifDataPurge")]
public async System.Threading.Tasks.Task RunAsync(
[BlobTrigger("container/{name}.{extension}", Connection = "")]CloudBlockBlob image,
string name,
string extension,
string blobTrigger,
ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name}");
try
{
var memoryStream = new MemoryStream();
await image.DownloadToStreamAsync(memoryStream);
memoryStream.Position = 0;
using (Image largeImage = Image.Load(memoryStream))
{
if (largeImage.Metadata.ExifProfile != null)
{
//strip the exif data from the image.
for (int i = 0; i < largeImage.Metadata.ExifProfile.Values.Count; i++)
{
largeImage.Metadata.ExifProfile.RemoveValue(largeImage.Metadata.ExifProfile.Values[i].Tag);
}
var exifStrippedImage = new MemoryStream();
largeImage.Save(exifStrippedImage, new SixLabors.ImageSharp.Formats.Jpeg.JpegEncoder());
exifStrippedImage.Position = 0;
await image.UploadFromStreamAsync(exifStrippedImage);
}
}
}
catch (UnknownImageFormatException unknownImageFormatException)
{
log.LogInformation($"Blob is not a valid Image : {name}.{extension}");
}
}
最佳答案
触发器的处理方式是通过将收据存储在容器 azure-webjobs-hosts
中来跟踪已处理的 Blob。任何没有收据的 Blob 或旧收据(基于 Blob ETag)都将被处理(或重新处理)。
由于您正在调用 await image.UploadFromStreamAsync(exifStrippedImage);
它会被触发(假设其尚未被处理)
关于对于每个新 Blob,Azure BlobTrigger 触发 > 5 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58890057/
我有一个小的 C# 应用程序,当将新的 blob 添加到存储帐户中的容器时,它会执行一些操作。 我正在使用 Visual Studio 2017 在本地工作。 VS 模板给了我: using Syst
我创建了一个 blobtrigger,每当我上传到容器时它就会运行。但由于我将使用 kraken 处理图像,然后将处理后的图像重新上传到原始图像的子文件夹中。 我无法弄清楚如何确保我不会触发 krak
我在使用 Azure 函数时遇到问题。 我已经构建了一个由存储帐户容器上的新文件触发的 Azure 函数。问题是(对我来说)似乎不可能在不指定名称的情况下使用通用文件触发该函数! 我搜索过官方文档,但
我有一个在 Azure Functions 中实现多个 BlobTrigger 的用例(使用 Linux 消耗计划)。例如,在 Azure 存储中,我有 5 个不同的客户端,其目录结构如下: clie
所以我对 C# 中的 Azure 函数不熟悉,我正在尝试使用 BlobStorage 触发器在 Visual Studio 中创建。在遵循模板时,我得到了一个如下所示的文件: using System
我有一个在 Azure Functions 中实现多个 BlobTrigger 的用例(使用 Linux 消耗计划)。例如,在 Azure 存储中,我有 5 个不同的客户端,其目录结构如下: clie
我遇到了 Azure blob 触发函数导致函数主机崩溃的问题。这似乎是存储连接字符串或我如何使用 Azurite 的问题。我正在开发的其他计时器或 HTTP 触发器函数可以在“UseDevelopm
我有一个 .Net 项目,其中在同一个 Azure 函数项目中包含多个触发器(一个 Blob 触发函数和一个队列触发函数)。 我的 blob 触发函数需要与队列触发函数不同的并发性。 我知道 blob
我有一个带有 blob 触发器的 azure 函数,但我希望能够使用一些可以在门户中更改的配置参数来配置触发该函数的容器,而无需重新部署该函数。 目前我发现定义 blob-trigger 的唯一方法是
我正在尝试实现一个管道,每个步骤都会在 blob 容器中写入一个文件。 步骤: pdf 触发一个函数,提取文本并将其保存为容器中的 txt 提取的文本会触发一个函数来完善结果并在容器中写入第三个文件
我创建了一个 WebJob 项目来将图像从 Azure 备份到 Amazon,该项目使用 BlobTrigger 属性作为方法中的第一个参数 public static async Task
如何使用 blobtrigger azure 函数 C# 从容器获取多个文件名? 最佳答案 更新: 示例: using System; using System.IO; using Azure.Sto
以下触发器会在将 Blob(图像)上传到 Azure 存储后从 Blob 中删除 exif 数据。问题是每个 blob 的 blob 触发器至少触发 5 次。 在触发器中,通过向 Blob 写入新的数
以下触发器会在将 Blob(图像)上传到 Azure 存储后从 Blob 中删除 exif 数据。问题是每个 blob 的 blob 触发器至少触发 5 次。 在触发器中,通过向 Blob 写入新的数
我需要对添加到子文件夹中的 blob 使用react。我知道 Blob 存储无法识别文件夹,它们只是虚拟的,但我仍然不知道如果将文件添加到子文件夹中如何创建 Blob 触发器。 示例: 摘自funct
我需要使用 Java 创建 Azure 函数 BlobTrigger 来监视我的存储容器中是否有新的和更新的 Blob。 尝试使用以下代码 import java.util.*; import com
我在使用 Python 和 BlobTrigger 读取内容/数据时遇到问题。我使用本地环境并遵循文档( https://learn.microsoft.com/en-us/azure/azure-f
从 azure-webjobs-sdk-samples (1.0.0-rc1) 运行 BlobOperations 示例时 (https://github.com/Azure/azure-webjob
从 azure-webjobs-sdk-samples (1.0.0-rc1) 运行 BlobOperations 示例时 (https://github.com/Azure/azure-webjob
旧的做事方式看起来是这样的: var jobConfig = new JobHostConfiguration(cfg.DocumentDatabase.BlobStorageServ
我是一名优秀的程序员,十分优秀!