2017-02-20 2 views
0

Ich habe zwei Datensätze, einen "FileShare" DS1 und einen anderen "BlobSource" DS2. Ich definiere eine Pipeline mit einer Kopieraktivität, die die Dateien von DS1 nach DS3 (BlobSource) kopieren muss, wobei die Abhängigkeit als DS2 angegeben ist. Die Aktivität ist unten angegeben:Azure Data Factory geben mehrere Quellentypen in Aktivität an

{ 
      "type": "Copy", 
      "typeProperties": { 
       "source": { 
        "type": "FileShare" 
       }, 
       "sink": { 
        "type": "BlobSource" 
       } 
      }, 
      "inputs": [ 
       { 
        "name": "FoodGroupDescriptionsFileSystem" 
       }, 
       { 
        "name": "FoodGroupDescriptionsInputBlob" 
       } 
      ], 
      "outputs": [ 
       { 
        "name": "FoodGroupDescriptionsAzureBlob" 
       } 
      ], 
      "policy": { 
       "timeout": "01:00:00", 
       "concurrency": 1, 
       "executionPriorityOrder": "NewestFirst" 
      }, 
      "scheduler": { 
       "frequency": "Minute", 
       "interval": 15 
      }, 
      "name": "FoodGroupDescriptions", 
      "description": "#1 Bulk Import FoodGroupDescriptions" 
     } 

Hier, wie kann ich mehrere Quellentypen angeben (sowohl FileShare und BlobSource)? Es wird ein Fehler ausgegeben, wenn ich versuche, als Liste zu übergeben.

Antwort

1

Die Kopieraktivität mag mehrere Eingaben oder Ausgaben nicht. Es kann nur eine 1: 1-Kopie ausführen ... Es wird nicht einmal den Dateinamen für Sie im Ausgabe-Dataset ändern, geschweige denn das Zusammenführen von Dateien!

Dies ist wahrscheinlich beabsichtigt, damit Microsoft Ihnen mehr für zusätzliche Aktivitäten berechnen kann. Aber lasst uns nicht auf dieses Thema eingehen.

Ich schlage vor, eine Pipeline zu haben, die beide Dateien in eine Art von Azure-Speicher mit separaten Aktivitäten kopiert (1 pro Datei). Dann haben Sie eine zweite Downstream-Pipeline, die eine benutzerdefinierte Aktivität zum Lesen und Zusammenführen/Verketten der Dateien hat, um eine einzige Ausgabe zu erzeugen.

Denken Sie daran, dass ADF kein ETL-Tool wie SSIS ist. Es ist nur dort, um andere Azure-Dienste aufzurufen. Das Kopieren ist über eine komplexe wie es geht.

Verwandte Themen