2017-04-18 174 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