有人可以告诉我如何向 Azure 数据工厂中的字段添加加密哈希。
例如,我有一个现有表,我想添加名为“签名”的附加列,并且我想为“签名”列生成一个 256 加密哈希值
我知道在 ADF 的复制活动中向表中添加一列很容易,见下图,但我不知道如何向该列添加加密哈希值
我试图修改我的查询以包含将应用加密哈希的查询,但我收到语法错误:参数之间缺少逗号。
原始查询如下:
@concat('SELECT * FROM ',pipeline().parameters.Domain,'.',pipeline().parameters.TableName)
新的查询将上述查询修改如下:
@concat('SELECT *, HASHBYTES('SHA2_256', CAST(signature AS NVARCHAR(MAX))) AS Signature FROM ',pipeline().parameters.Domain,'.',pipeline().parameters.TableName)
但是,我不确定缺失的逗号应该放在哪里。
我认为我已经用以下内容修复了该查询:
@concat('SELECT *, HASHBYTES(SHA2_256, , CAST(signature AS NVARCHAR(MAX))) AS Signature FROM ',pipeline().parameters.Domain,'.',pipeline().parameters.TableName)
但是,当我执行复制活动时出现以下错误:
详细信息“源”端发生故障。'Type=Microsoft.Data.SqlClient.SqlException,Message=','附近语法不正确。,Source=Framework Microsoft SqlClient Data Provider,'
我已按如下方式修改了复制活动,但仍然收到相同的错误
根据您的图片,您正在使用 Azure SQL 数据集作为复制活动中的源。您可以使用以下查询根据需要创建签名列,而不是创建附加列:
它将在接收器处生成签名列的值,如下所示: