Я построил конвейер с одним действием копирования данных, которое копирует данные из Azure Data Lake
и выводит их в Azure Blob Storage
.
В выводе я вижу, что в некоторых моих строках нет данных, и я хотел бы исключить их из копии.В следующем примере во 2-й строке нет полезных данных:
{"TenantId":"qa","Timestamp":"2019-03-06T10:53:51.634Z","PrincipalId":2,"ControlId":"729c3b6e-0442-4884-936c-c36c9b466e9d","ZoneInternalId":0,"IsAuthorized":true,"PrincipalName":"John","StreetName":"Rue 1","ExemptionId":8}
{"TenantId":"qa","Timestamp":"2019-03-06T10:59:09.74Z","PrincipalId":null,"ControlId":null,"ZoneInternalId":null,"IsAuthorized":null,"PrincipalName":null,"StreetName":null,"ExemptionId":null}
Вопрос
Как в действии «Копировать данные» я могу добавить правило для исключениястроки, которые пропускают определенные значения?
Вот код моего конвейера:
{
"name": "pipeline1",
"properties": {
"activities": [
{
"name": "Copy from Data Lake to Blob",
"type": "Copy",
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [
{
"name": "Source",
"value": "tenantdata/events/"
},
{
"name": "Destination",
"value": "controls/"
}
],
"typeProperties": {
"source": {
"type": "AzureDataLakeStoreSource",
"recursive": true
},
"sink": {
"type": "BlobSink",
"copyBehavior": "MergeFiles"
},
"enableStaging": false,
"translator": {
"type": "TabularTranslator",
"columnMappings": {
"Body.TenantId": "TenantId",
"Timestamp": "Timestamp",
"Body.PrincipalId": "PrincipalId",
"Body.ControlId": "ControlId",
"Body.ZoneId": "ZoneInternalId",
"Body.IsAuthorized": "IsAuthorized",
"Body.PrincipalName": "PrincipalName",
"Body.StreetName": "StreetName",
"Body.Exemption.Kind": "ExemptionId"
}
}
},
"inputs": [
{
"referenceName": "qadl",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "datalakestaging",
"type": "DatasetReference"
}
]
}
]
}
}