U-SQL 和/或 Azure Data Lake Store 中的 PGP 加密



在不启动 VM 实例的情况下,是否可以将 PGP 加密添加到 Azure Lake Lake Store 中已有的数据?从理论上讲,这似乎可以通过 U-SQL 中注册的 c# 二进制文件 (dll) 来实现,但从理论上讲,这需要将文件视为 blob(或文本),我不确定如何从 U-SQL 中做到这一点?

用例是从湖中获取数据,使用公钥将其加密为 PGP/GPG,然后将数据放入 ADLS 位置以供外部团队拾取(随后从 ADLS 出口)。

有什么想法吗?

您可以编写一个自定义提取器和输出器,然后可以执行解密/加密。这很可能看起来像这样(在抽象级别):

  • 提取:

    AtomicFileProcessing=true
    d = decrypt(input.baseStream)
    for each row in d.Split do outputrow end // or whatever the right processing is
    
  • 输出器:

    AtomicFileProcessing=true
    serialize rows into outputstream
    encrypt outputstream and write to output
    

请注意,U-SQL GitHub 页面的示例部分中有一些示例,演示如何在基流级别对数据进行操作。

如果可以的话,您将希望避免将超过500MB的数据加载到主内存中。因此,如果加密/解密可以以流式方式完成,那就太好了。

最新更新