2017-08-23 4 views
1

Ich habe seit ein paar Tagen daran gearbeitet und kann diesen Fehler nicht mehr überwinden. Ich habe 2 Aktivitäten in dieser Pipeline. Die erste Aktivität kopiert Daten von einer ODBC-Verbindung in eine Azure-Datenbank, die erfolgreich ist. Die zweite Aktivität überträgt die Daten aus der Azure-Tabelle in eine andere Azure-Tabelle und schlägt weiterhin fehl.Azure Data Factory Kopie Aktivität

Die Fehlermeldung lautet: Kopieren Aktivität ungültige Parameter erfüllt: ‚UnknownParameterName‘, Detailliert Nachricht: Ein Element mit demselben Schlüssel wurde bereits hinzugefügt ..

Ich sehe keine ungültige Parameter oder unbekannt Parameternamen. Ich habe dies mehrfach mit ihrer Add-Code-Vorlage und selbst geschrieben, bekomme aber keine Fehler beim Deployment bei der Ausführung. Unten ist der JSON-Pipeline-Code.

Nur die zweite Aktivität empfängt einen Fehler.

Danke.

Source Data Set

{ 
"name": "AnalyticsDB-SHIPUPS_06shp-01src_AZ-915PM", 
"properties": { 
    "structure": [ 
     { 
      "name": "UPSD_BOL", 
      "type": "String" 
     }, 
     { 
      "name": "UPSD_ORDN", 
      "type": "String" 
     } 
    ], 
    "published": false, 
    "type": "AzureSqlTable", 
    "linkedServiceName": "Source-SQLAzure", 
    "typeProperties": {}, 
    "availability": { 
     "frequency": "Day", 
     "interval": 1, 
     "offset": "04:15:00" 
    }, 
    "external": true, 
    "policy": {} 
} 

}

Ziel Datensatz

{ 
"name": "AnalyticsDB-SHIPUPS_06shp-02dst_AZ-915PM", 
"properties": { 
    "structure": [ 
     { 
      "name": "SHIP_SYS_TRACK_NUM", 
      "type": "String" 
     }, 
     { 
      "name": "SHIP_TRACK_NUM", 
      "type": "String" 
     } 
    ], 
    "published": false, 
    "type": "AzureSqlTable", 
    "linkedServiceName": "Destination-Azure-AnalyticsDB", 
    "typeProperties": { 
     "tableName": "[olcm].[SHIP_Tracking]" 
    }, 
    "availability": { 
     "frequency": "Day", 
     "interval": 1, 
     "offset": "04:15:00" 
    }, 
    "external": false, 
    "policy": {} 
} 

}

Pipeline

{ 
"name": "SHIPUPS_FC_COPY-915PM", 
"properties": { 
    "description": "copy shipments ", 
    "activities": [ 
     { 
      "type": "Copy", 
      "typeProperties": { 
       "source": { 
        "type": "RelationalSource", 
        "query": "$$Text.Format('SELECT COMPANY, UPSD_ORDN, UPSD_BOL FROM \"orupsd - UPS interface Dtl\" WHERE COMPANY = \\'01\\'', WindowStart, WindowEnd)" 
       }, 
       "sink": { 
        "type": "SqlSink", 
        "sqlWriterCleanupScript": "$$Text.Format('delete imp_fc.SHIP_UPS_IntDtl_Tracking', WindowStart, WindowEnd)", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       }, 
       "translator": { 
        "type": "TabularTranslator", 
        "columnMappings": "COMPANY:COMPANY, UPSD_ORDN:UPSD_ORDN, UPSD_BOL:UPSD_BOL" 
       } 
      }, 
      "inputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_03shp-01src_FC-915PM" 
       } 
      ], 
      "outputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_03shp-02dst_AZ-915PM" 
       } 
      ], 
      "policy": { 
       "timeout": "1.00:00:00", 
       "concurrency": 1, 
       "executionPriorityOrder": "NewestFirst", 
       "style": "StartOfInterval", 
       "retry": 3, 
       "longRetry": 0, 
       "longRetryInterval": "00:00:00" 
      }, 
      "scheduler": { 
       "frequency": "Day", 
       "interval": 1, 
       "offset": "04:15:00" 
      }, 
      "name": "915PM-SHIPUPS-fc-copy->[imp_fc]_[SHIP_UPS_IntDtl_Tracking]" 
     }, 
     { 
      "type": "Copy", 
      "typeProperties": { 
       "source": { 
        "type": "SqlSource", 
        "sqlReaderQuery": "$$Text.Format('select distinct ups.UPSD_BOL, ups.UPSD_BOL from imp_fc.SHIP_UPS_IntDtl_Tracking ups LEFT JOIN olcm.SHIP_Tracking st ON ups.UPSD_BOL = st.SHIP_SYS_TRACK_NUM WHERE st.SHIP_SYS_TRACK_NUM IS NULL', WindowStart, WindowEnd)" 
       }, 
       "sink": { 
        "type": "SqlSink", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       }, 
       "translator": { 
        "type": "TabularTranslator", 
        "columnMappings": "UPSD_BOL:SHIP_SYS_TRACK_NUM, UPSD_BOL:SHIP_TRACK_NUM" 
       } 
      }, 
      "inputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_06shp-01src_AZ-915PM" 
       } 
      ], 
      "outputs": [ 
       { 
        "name": "AnalyticsDB-SHIPUPS_06shp-02dst_AZ-915PM" 
       } 
      ], 
      "policy": { 
       "timeout": "1.00:00:00", 
       "concurrency": 1, 
       "executionPriorityOrder": "NewestFirst", 
       "style": "StartOfInterval", 
       "retry": 3, 
       "longRetryInterval": "00:00:00" 
      }, 
      "scheduler": { 
       "frequency": "Day", 
       "interval": 1, 
       "offset": "04:15:00" 
      }, 
      "name": "915PM-SHIPUPS-AZ-update->[olcm]_[SHIP_Tracking]" 
     } 
    ], 
    "start": "2017-08-22T03:00:00Z", 
    "end": "2099-12-31T08:00:00Z", 
    "isPaused": false, 
    "hubName": "adf-tm-prod-01_hub", 
    "pipelineMode": "Scheduled" 
} 

}

Antwort

0

Kennen Sie schon link?

Sie erhalten die gleiche Fehlermeldung und schlagen vor, mit AzureTableSink statt SqlSink

"sink": { 
        "type": "AzureTableSink", 
        "writeBatchSize": 0, 
        "writeBatchTimeout": "00:00:00" 
       } 

Es wäre zu für Sie Sinn machen, da Ihre zweite Kopie Aktivität Azure Azure

ist
0

Es könnte ein Ablenkungsmanöver sein aber ich bin mir ziemlich sicher, dass "tableName" ein Request-Eintrag in den typeProperties für eine sqlSource ist. Dies fehlt Ihnen für das Eingabe-Dataset. Schätzen Sie, dass Sie einen Join in der sqlReaderQuery haben, also ist es wahrscheinlich am besten, einen Dummy-Tabellennamen (aber echten) dort zu platzieren. Btw, nicht klar, warum Sie $$ Text.Format und WindowStart/WindowEnd für Ihre Abfragen verwenden, wenn Sie diese Werte nicht in die Abfrage umsetzen; Sie könnten die Abfrage einfach in doppelte Anführungszeichen setzen.

Verwandte Themen