我从网页发出包含2个参数的API请求,一个是文件本身,一个是用户提供的电子邮件字符串。我的API将文件上传到Azure Blob存储,然后我需要从那里触发Blob存储函数,该函数将信件发送到用户提供的电子邮件。我如何将电子邮件传递给该函数?
**Imortant:**我不能从API发送邮件。我的任务是使用函数发送邮件。
juud5qan1#
你有几个选择。最简单的方法是将电子邮件地址存储为blob上的自定义元数据属性。请注意,由于电子邮件地址是个人信息,因此您需要确保存储帐户的安全。在API中设置
public static async Task AddBlobMetadataAsync(BlobClient blob, string email) { try { IDictionary<string, string> metadata = new Dictionary<string, string>(); // Add metadata to the dictionary by using key/value syntax metadata["email"] = email; // Set the blob's metadata. await blob.SetMetadataAsync(metadata); } catch (RequestFailedException e) { // Error handling here throw; } }
获取Blob触发的Azure函数。请注意,您必须在触发器绑定中使用BlobClient类型才能使用此函数。
private static async Task<string> GetBlobMetadataEmailAsync(BlobClient blob) { try { // Get the blob properties BlobProperties properties = await blob.GetPropertiesAsync(); if(properties.Metadata.ContainsKey("email") { return properties.Metadata["email"]; } else { // Handle the case that it potentially doesn't } } catch (RequestFailedException e) { // Exception handling here throw; } }
或者,您可以考虑将电子邮件存储在Azure表存储或其他以blob名称为键的数据存储中,然后在blob触发的Azure函数中查找它。
1条答案
按热度按时间juud5qan1#
你有几个选择。
最简单的方法是将电子邮件地址存储为blob上的自定义元数据属性。请注意,由于电子邮件地址是个人信息,因此您需要确保存储帐户的安全。
在API中设置
获取Blob触发的Azure函数。请注意,您必须在触发器绑定中使用BlobClient类型才能使用此函数。
或者,您可以考虑将电子邮件存储在Azure表存储或其他以blob名称为键的数据存储中,然后在blob触发的Azure函数中查找它。