2017-04-18 126 views
1

我有一个要求,用于加密写入Azure存储的所有消息。Azure WebJob队列触发器未响应加密队列消息

我想使用天青队列触发WebJobs所以采用了以下到加密队列消息这种方法存储之前:

https://docs.microsoft.com/en-us/azure/storage/storage-client-side-encryption

此加密队列上的消息细。

然后,我想编写一个WebJob(或者更好的Azure函数)来响应队列消息并解密并处理它。

不幸的是,网站的工作总是异常翻倒

System.FormatException:输入是不是有效的Base-64字符串,因为它含有 非基本64 性格,两个以上的填充字符或非法字符 填充字符

有没有人有办法做到这一点。我甚至想实现自己的CustomQueueProcessFactory比如上例中

https://github.com/Azure/azure-webjobs-sdk-samples/blob/master/BasicSamples/MiscOperations/CustomQueueProcessorFactory.cs

但wheras我需要在此之前将其加密天青WebJob库只用CloudQueueMessage调用它。

任何想法?

谢谢。

回答

1

我相信你可以通过修改create方法中的服务客户端选项来完成CustomQueueProcessor

public QueueProcessor Create(QueueProcessorFactoryContext context) 
{ 
    ... 
    // demonstrates how the Queue.ServiceClient options can be configured 
    context.Queue.ServiceClient.DefaultRequestOptions.EncryptionPolicy = policy; 
    ... 
} 

不幸的是,我们不提供控制的这个水平在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

+0

辉煌。当然为WebJob工作! – TimBunting