我需要加密写入Azure存储的所有邮件 .
我想使用Azure队列来触发WebJobs,因此在下面采用这种方法在存储之前加密队列消息:
https://docs.microsoft.com/en-us/azure/storage/storage-client-side-encryption
这会在队列上加密消息 .
然后我想编写一个WebJob(甚至更好的Azure函数)来响应Queue消息并解密并处理它 .
不幸的是,除了例外之外,Web作业总是会失败
System.FormatException:输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非法字符
有没有人有办法做到这一点 . 我甚至尝试在示例中实现我自己的CustomQueueProcessFactory
但Azure WebJob库只能在我需要加密之前使用CloudQueueMessage调用它 .
有任何想法吗?
谢谢 .
1 回答
我相信你可以通过修改create方法中的服务客户端选项来使用
CustomQueueProcessor
来做到这一点 .遗憾的是,我们没有在Azure功能中提供这种级别的控制(如果您将功能运行时部署为应用服务计划中的站点扩展,但是您没有获得任何消耗扩展等,则可以破解它) .
https://docs.microsoft.com/en-us/azure/storage/storage-client-side-encryption#queue-service-encryption
https://github.com/Azure/azure-webjobs-sdk-samples/blob/master/BasicSamples/MiscOperations/CustomQueueProcessorFactory.cs#L19