我有一个数据工厂(v1(,它从HTTP服务器下载一些文件。
在指向此服务器上的文件位置的数据集中,我们添加一个API键作为HTTP请求的附加头。我们不希望此密钥在门户中可见,类似于部署后链接服务屏蔽凭据的方式。
以下Json文件定义了源链接服务、源数据集和复制活动。
- HTTP_source_linkedservice.json
{
"name": "HTTPSourceLinkedService",
"properties": {
"hubName": "this_is_a_hubname",
"type": "Http",
"typeProperties": {
"url": "https://website.com",
"authenticationType": "Anonymous"
}
}
}
- HTTP_source_dataset
{
"name": "HTTPSourceDataset",
"properties": {
"published": false,
"type": "Http",
"linkedServiceName": "HTTPSourceLinkedService",
"typeProperties": {
"relativeUrl": "/main_file_to_download",
"additionalHeaders": "X-api-key: API_KEY_HEREn"
},
"availability": {
"frequency": "Day",
"interval": 1
},
"external": true,
"policy": {}
}
}
- 复制活动
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "HttpSource"
},
"sink": {
"type": "BlobSink",
"writeBatchSize": 0,
"writeBatchTimeout": "00:00:00"
}
},
"inputs": [
{
"name": "HTTPSourceDataset"
}
],
"outputs": [
{
"name": "HTTPSinkDataset"
}
],
"scheduler": {
"frequency": "Day",
"interval": 1
},
"name": "CopyFileFromServer"
}
我知道我们可以使用自定义活动来进行请求,并从密钥保管库获取API密钥,但我真的想使用标准的复制活动。
有办法做到这一点吗?
不幸的是,我认为这是不可能的。标题字段定义为字符串。在v1中,甚至没有在v2中引入的安全字符串来指示字段是凭据。但我认为这在v2中也无法实现。由于模型类型是固定的。