Copiare e trasformare i dati in Amazon Simple Storage Service usando Azure Data Factory o Azure Synapse Analytics
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Questo articolo illustra come usare l'attività di copia per copiare dati da Amazon Simple Storage Service (Amazon S3) e usare Flusso di dati per trasformare i dati in Amazon S3. Per altre informazioni, vedere gli articoli introduttivi per Azure Data Factory e Synapse Analytics.
Suggerimento
Per altre informazioni sullo scenario di migrazione dei dati da Amazon S3 a Archiviazione di Azure, vedere Eseguire la migrazione dei dati da Amazon S3 a Archiviazione di Azure.
Funzionalità supportate
Questo connettore Amazon S3 è supportato per le funzionalità seguenti:
Funzionalità supportate | IR |
---|---|
Attività Copy (origine/-) | (1) (2) |
Flusso di dati per mapping (origine/sink) | (1) |
Attività Lookup | (1) (2) |
Attività GetMetadata | (1) (2) |
Attività Delete | (1) (2) |
① Azure Integration Runtime ② Runtime di integrazione self-hosted
In particolare, questo connettore Amazon S3 supporta la copia dei file così come è o l'analisi dei file con i formati di file supportati e i codec di compressione. È anche possibile scegliere di conservare i metadati dei file durante la copia. Il connettore usa AWS Signature Version 4 per autenticare le richieste a S3.
Suggerimento
Per copiare dati da qualsiasi provider di archiviazione compatibile con S3, vedere Amazon S3 Compatible Storage (Archiviazione compatibile con Amazon S3).
Autorizzazioni necessarie
Per copiare dati da Amazon S3, assicurarsi di aver ottenuto le seguenti autorizzazioni per le operazioni sugli oggetti Amazon S3: s3:GetObject
e s3:GetObjectVersion
.
Se si usa l'interfaccia utente di Data Factory per creare, sono necessarie autorizzazioni e s3:ListBucket
/s3:GetBucketLocation
aggiuntive s3:ListAllMyBuckets
per operazioni come il test della connessione al servizio collegato e l'esplorazione dalla radice. Se non si vogliono concedere queste autorizzazioni, è possibile scegliere le opzioni "Test connessione al percorso del file" o "Sfoglia dal percorso specificato" dall'interfaccia utente.
Per l'elenco completo delle autorizzazioni di Amazon S3, vedere Specifica delle autorizzazioni in un criterio nel sito AWS.
Introduzione
Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:
- Strumento Copia dati
- Il portale di Azure
- .NET SDK
- SDK di Python
- Azure PowerShell
- API REST
- Modello di Azure Resource Manager
Creare un servizio collegato Amazon Simple Storage Service (S3) usando l'interfaccia utente
Usare la procedura seguente per creare un servizio collegato Amazon S3 nell'interfaccia utente di portale di Azure.
Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi fare clic su Nuovo:
Cercare Amazon e selezionare il connettore Amazon S3.
Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.
Dettagli di configurazione del connettore
Le sezioni seguenti riportano informazioni dettagliate sulle proprietà che vengono usate per definire entità di Data Factory specifiche per Amazon S3.
Proprietà del servizio collegato
Per un servizio collegato Amazon S3 sono supportate le proprietà seguenti:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type deve essere impostata su AmazonS3. | Sì |
authenticationType | Specificare il tipo di autenticazione usato per connettersi ad Amazon S3. È possibile scegliere di usare le chiavi di accesso per un account AWS Identity and Access Management (IAM) o credenziali di sicurezza temporanee. I valori consentiti sono: AccessKey (impostazione predefinita) e TemporarySecurityCredentials . |
No |
accessKeyId | ID della chiave di accesso segreta. | Sì |
secretAccessKey | La stessa chiave di accesso segreta. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault. | Sì |
sessionToken | Applicabile quando si usa l'autenticazione temporanea delle credenziali di sicurezza. Informazioni su come richiedere credenziali di sicurezza temporanee da AWS. Si noti che le credenziali temporanee di AWS scadono tra 15 minuti e 36 ore in base alle impostazioni. Assicurarsi che le credenziali siano valide quando l'attività viene eseguita, soprattutto per il carico di lavoro operativo, ad esempio è possibile aggiornarla periodicamente e archiviarla in Azure Key Vault. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro oppure fare riferimento a un segreto archiviato in Azure Key Vault. |
No |
serviceUrl | Specificare l'endpoint https://<service url> S3 personalizzato.Modificarlo solo se si vuole provare un endpoint di servizio diverso o passare da https a http. |
No |
connectVia | Runtime di integrazione da usare per la connessione all'archivio dati. È possibile usare Azure Integration Runtime o un runtime di integrazione self-hosted, se l'archivio dati si trova in una rete privata. Se questa proprietà non è specificata, il servizio usa il runtime di integrazione di Azure predefinito. | No |
Esempio: uso dell'autenticazione della chiave di accesso
{
"name": "AmazonS3LinkedService",
"properties": {
"type": "AmazonS3",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Esempio: uso dell'autenticazione temporanea delle credenziali di sicurezza
{
"name": "AmazonS3LinkedService",
"properties": {
"type": "AmazonS3",
"typeProperties": {
"authenticationType": "TemporarySecurityCredentials",
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access key>"
},
"sessionToken": {
"type": "SecureString",
"value": "<session token>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Proprietà del set di dati
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione dei set di dati, vedere l'articolo Set di dati.
Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.
- Formato Avro
- Formato binario
- Formato di testo delimitato
- Formato Excel
- Formato JSON
- Formato ORC
- Formato Parquet
- Formato XML
Le proprietà seguenti sono supportate per Amazon S3 nelle location
impostazioni in un set di dati basato sul formato:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà location type in in un set di dati deve essere impostata su AmazonS3Location. |
Sì |
bucketName | Il nome del bucket S3. | Sì |
folderPath | Percorso della cartella nel bucket specificato. Se si vuole usare un carattere jolly per filtrare la cartella, ignorare questa impostazione e specificare che nelle impostazioni dell'origine attività. | No |
fileName | Nome del file nel bucket e nel percorso della cartella specificati. Se si vuole usare un carattere jolly per filtrare i file, ignorare questa impostazione e specificare che nelle impostazioni dell'origine dell'attività. | No |
versione | La versione dell'oggetto S3 se è stato abilitato il controllo delle versioni S3. Se non è specificato, verrà recuperata la versione più recente. | No |
Esempio:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Amazon S3 linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AmazonS3Location",
"bucketName": "bucketname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Proprietà dell'attività di copia
Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere l'articolo sulle pipeline. Questa sezione fornisce un elenco delle proprietà supportate dall'origine Amazon S3.
Amazon S3 come tipo di origine
Azure Data Factory supporta i formati di file seguenti. Per impostazioni basate sui formati, fare riferimento ai singoli articoli.
- Formato Avro
- Formato binario
- Formato di testo delimitato
- Formato Excel
- Formato JSON
- Formato ORC
- Formato Parquet
- Formato XML
Le proprietà seguenti sono supportate per Amazon S3 nelle storeSettings
impostazioni in un'origine di copia basata su formato:
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type in storeSettings deve essere impostata su AmazonS3ReadSettings. |
Sì |
Individuare i file da copiare: | ||
OPZIONE 1: percorso statico |
Copia dal percorso del bucket o della cartella/file specificato nel set di dati. Per copiare tutti i file da un bucket o una cartella, specificare anche wildcardFileName come * . |
|
OPZIONE 2: Prefisso S3 - prefisso |
Prefisso per il nome della chiave S3 nel bucket specificato configurato in un set di dati per filtrare i file S3 di origine. Vengono selezionate le chiavi S3 il cui nome inizia con bucket_in_dataset/this_prefix . Usa il filtro lato servizio di S3, che garantisce prestazioni migliori rispetto a un filtro con caratteri jolly.Quando si usa il prefisso e si sceglie di copiare nel sink basato su file con conservazione della gerarchia, si noti che il sottopercorso dopo l'ultimo "/" nel prefisso verrà mantenuto. Ad esempio, per l'origine bucket/folder/subfolder/file.txt si configura il prefisso folder/sub e quindi il percorso del file conservato è subfolder/file.txt . |
No |
OPZIONE 3: carattere jolly - wildcardFolderPath |
Percorso della cartella con caratteri jolly nel bucket specificato configurato in un set di dati per filtrare le cartelle di origine. I caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo). Usare ^ per evitare che il nome della cartella contenga un carattere jolly o tale carattere di escape. Vedere altri esempi in Esempi di filtro file e cartelle. |
No |
OPZIONE 3: carattere jolly - wildcardFileName |
Nome file con caratteri jolly nel percorso del bucket e della cartella specificati, oppure nel percorso della cartella con carattere jolly, per filtrare i file di origine. I caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo). Usare ^ per evitare che il nome del file contenga un carattere jolly o tale carattere di escape. Vedere altri esempi in Esempi di filtro file e cartelle. |
Sì |
OPZIONE 4: un elenco di file - fileListPath |
Indica di copiare un determinato set di file. Puntare a un file di testo che include un elenco di file da copiare, un file per riga, che rappresenta il percorso relativo del percorso configurato nel set di dati. Quando si usa questa opzione, non specificare un nome file nel set di dati. Per altri esempi, vedere Esempi di elenco di file. |
No |
Impostazioni aggiuntive: | ||
recursive | Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata. Si noti che quando la proprietà recursive è impostata su true e il sink consiste in un archivio basato su file, una cartella o una sottocartella vuota non viene copiata o creata nel sink. I valori consentiti sono true (predefinito) e false. Questa proprietà non è applicabile quando si configura fileListPath . |
No |
deleteFilesAfterCompletion | Indica se i file binari verranno eliminati dall'archivio di origine dopo il passaggio all'archivio di destinazione. L'eliminazione dei file avviene a livello di singolo file, pertanto quando l'attività Copy non riesce, verranno visualizzati alcuni file già copiati nella destinazione ed eliminati dall'origine, mentre altri sono ancora presenti nell'archivio di origine. Questa proprietà è valida solo nello scenario di copia dei file binari. Il valore predefinito è false. |
No |
modifiedDatetimeStart | I file vengono filtrati in base all'attributo seguente: ultima modifica. I file verranno selezionati se la data/ora dell'ultima modifica è maggiore o uguale a modifiedDatetimeStart e minore di modifiedDatetimeEnd . Data e ora vengono applicate in base al fuso orario UTC nel formato "2018-12-01T05:00:00Z". Le proprietà possono essere NULL, a indicare che al set di dati non verrà applicato alcun filtro di attributo di file. Quando modifiedDatetimeStart presenta un valore datetime ma modifiedDatetimeEnd è NULL, verranno selezionati i file il cui ultimo attributo modificato sia maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL verranno selezionati i file il cui ultimo attributo modificato sia minore del valore datetime.Questa proprietà non è applicabile quando si configura fileListPath . |
No |
modifiedDatetimeEnd | Come sopra. | No |
enablePartitionDiscovery | Per i file partizionati, specificare se analizzare le partizioni dal percorso del file e aggiungerle come colonne di origine aggiuntive. I valori consentiti sono false (predefinito) e true. |
No |
partitionRootPath | Quando l'individuazione delle partizioni è abilitata, specificare il percorso radice assoluto per leggere le cartelle partizionate come colonne di dati. Se ciò non è specificato, per impostazione predefinita, - Quando si usa il percorso del file nel set di dati o nell'elenco di file nell'origine, il percorso radice della partizione è il percorso configurato nel set di dati. - Quando si usa il filtro delle cartelle con caratteri jolly, il percorso radice della partizione è il percorso secondario prima del primo carattere jolly. - Quando si usa il prefisso, il percorso radice della partizione è sottopercorso prima dell'ultimo "/". Si supponga, ad esempio, di configurare il percorso nel set di dati come "root/folder/year=2020/month=08/day=27": - Se si specifica il percorso radice della partizione come "root/folder/year=2020", l'attività Copy genererà altre due colonne month e day , rispettivamente con il valore "08" e "27", oltre alle colonne all'interno dei file.- Se il percorso radice della partizione non è specificato, non verrà generata alcuna colonna aggiuntiva. |
No |
maxConcurrentConnections | Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. | No |
Esempio:
"activities":[
{
"name": "CopyFromAmazonS3",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AmazonS3ReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Esempi di filtro file e cartelle
Questa sezione descrive il comportamento risultante del percorso cartella e del nome del file con i filtri con caratteri jolly.
bucket | key | recursive | Struttura delle cartelle di origine e risultato del filtro (i file in grassetto sono stati recuperati) |
---|---|---|---|
bucket | Folder*/* |
false | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
bucket | Folder*/* |
true | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
bucket | Folder*/*.csv |
false | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
bucket | Folder*/*.csv |
true | bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv AltraCartellaB File6.csv |
Esempi di elenco di file
Questa sezione descrive il comportamento risultante dell'uso di un percorso di elenco di file in un'origine attività Copy.
Si supponga di disporre della struttura di cartelle di origine seguente e di voler copiare i file in grassetto:
Esempio di struttura di origine | Contenuto in FileListToCopy.txt | Impostazione |
---|---|---|
bucket CartellaA File1.csv File2.json Sottocartella1 File3.csv File4.json File5.csv Metadati UFX FileListToCopy.txt |
File1.csv Sottocartella1/File3.csv Sottocartella1/File5.csv |
Nel set di dati: - Bucket: bucket - Percorso cartella: FolderA Nell'origine dell'attività Copy: - Percorso elenco file: bucket/Metadata/FileListToCopy.txt Il percorso dell'elenco di file fa riferimento a un file di testo nello stesso archivio dati che include un elenco di file da copiare, ad esempio un file per riga, con il percorso relativo a quello configurato nel set di dati. |
Mantenere i metadati durante la copia
Quando si copiano file da Amazon S3 ad Azure Data Lake Storage Gen2 o archiviazione BLOB di Azure, è possibile scegliere di conservare i metadati del file insieme ai dati. Altre informazioni in Mantenere i metadati.
Proprietà del flusso di dati per mapping
Quando si trasformano i dati nei flussi di dati di mapping, è possibile leggere i file da Amazon S3 nei formati seguenti:
Le impostazioni specifiche del formato si trovano nella documentazione per tale formato. Per altre informazioni, vedere la Trasformazione origine nel flusso di dati per mapping.
Trasformazione origine
Nella trasformazione origine è possibile leggere da un contenitore, una cartella o un singolo file in Amazon S3. Usare la scheda Opzioni origine per gestire la modalità di lettura dei file.
Percorsi con caratteri jolly: l'uso di una sequenza con caratteri jolly indica al servizio di scorrere ogni cartella e file corrispondente in un'unica trasformazione origine. Si tratta di un modo efficace per elaborare più file all'interno di un singolo flusso. Aggiungere più sequenze di corrispondenza con caratteri jolly con il segno + visualizzato quando si passa il mouse sulla sequenza con caratteri jolly esistente.
Nel contenitore di origine scegliere una serie di file che corrispondono a un criterio. Nel set di dati è possibile specificare solo un contenitore. Il percorso con caratteri jolly deve quindi includere anche il percorso della cartella a partire dalla cartella radice.
Esempi di caratteri jolly:
*
Rappresenta qualsiasi set di caratteri.**
Rappresenta l'annidamento delle directory. ricorsive.?
Sostituisce un carattere.[]
Trova la corrispondenza di uno o più caratteri nelle parentesi quadre./data/sales/**/*.csv
Recupera tutti i file CSV in /data/sales./data/sales/20??/**/
Recupera tutti i file del ventesimo secolo./data/sales/*/*/*.csv
Recupera i file CSV due livelli sotto /data/sales./data/sales/2004/*/12/[XY]1?.csv
Recupera tutti i file CSV di dicembre 2004 che iniziano con la lettera X o Y preceduta da un numero a due cifre.
Percorso radice della partizione: se nell'origine file sono presenti cartelle partizionate con un formato key=value
(ad esempio year=2019
), è possibile assegnare il livello principale dell'albero delle cartelle di tale partizione a un nome di colonna nel flusso di dati.
Impostare innanzitutto un carattere jolly per includere tutti i percorsi che rappresentano le cartelle partizionate, nonché i file foglia da leggere.
Usare l'impostazione Partition Root Path (Percorso radice partizione) per definire il livello superiore della struttura di cartelle. Quando si visualizza il contenuto dei dati tramite un'anteprima, si noti che il servizio aggiunge le partizioni risolte presenti in ogni livello di cartelle.
Elenco di file: questo è un set di file. Creare un file di testo che includa un elenco di file di percorsi relativi da elaborare. Puntare a questo file di testo.
Colonna per archiviare il nome file: archiviare il nome del file di origine in una colonna nei dati. Immettere un nuovo nome di colonna per archiviare la stringa del nome file.
Dopo il completamento: scegliere di non eseguire alcuna operazione con il file di origine dopo l'esecuzione del flusso di dati, eliminare il file di origine oppure spostare il file di origine. I percorsi per lo spostamento sono relativi.
Per spostare i file di origine in un altro percorso dopo l'elaborazione, selezionare "Sposta" come operazione sul file. Impostare quindi la directory "da". Se non si usano caratteri jolly per il percorso, l'impostazione "da" sarà la stessa cartella della cartella di origine.
Se si dispone di un percorso di origine con carattere jolly, la sintassi avrà un aspetto simile al seguente:
/data/sales/20??/**/*.csv
È possibile specificare "da" come:
/data/sales
Ed è possibile specificare "a" come:
/backup/priorSales
In questo caso, tutti i file con origine in /data/sales
vengono spostati in /backup/priorSales
.
Nota
Le operazioni sui file vengono eseguite solo quando si avvia il flusso di dati da un'esecuzione di pipeline (esecuzione del debug o esecuzione della pipeline) che usa l'attività di esecuzione del flusso di dati in una pipeline. Le operazioni sui file non vengono eseguite in modalità di debug del flusso di dati.
Filtrare in base all'ultima modifica: è possibile filtrare i file elaborati specificando un intervallo di date relative all'ultima modifica. Tutti gli orari sono indicati nel formato dell'ora UTC.
Proprietà dell'attività Lookup
Per altre informazioni sulle proprietà, vedere Attività Lookup.
Proprietà dell'attività GetMetadata
Per altre informazioni sulle proprietà, vedere Attività GetMetadata.
Proprietà dell'attività Delete
Per altre informazioni sulle proprietà, vedere Attività Delete.
Modalità legacy
Nota
I modelli seguenti sono ancora supportati così come sono per la compatibilità con le versioni precedenti. È consigliabile usare il nuovo modello menzionato in precedenza. L'interfaccia utente di creazione è passata alla generazione del nuovo modello.
Modello di set di dati legacy
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type del set di dati deve essere impostata su AmazonS3Object. | Sì |
bucketName | Il nome del bucket S3. Il filtro con caratteri jolly non è supportato. | Sì per l'attività Copia o Ricerca, no per l'attività GetMetadata |
key | Nome o filtro con caratteri jolly della chiave dell'oggetto S3 nel bucket specificato. Si applica solo quando la proprietà prefisso non è specificata. Il filtro con caratteri jolly è supportato sia per la parte della cartella che per la parte del nome file. I caratteri jolly consentiti sono: * (corrispondenza di zero o più caratteri) e ? (corrispondenza di zero caratteri o di un carattere singolo).- Esempio 1: "key": "rootfolder/subfolder/*.csv" - Esempio 2: "key": "rootfolder/subfolder/???20180427.txt" Vedere altri esempi in Esempi di filtro file e cartelle. Utilizzare ^ per eseguire l'escape se la cartella o il nome file effettivo ha un carattere jolly o questo carattere di escape all'interno. |
No |
prefix | Il prefisso per la chiave dell'oggetto S3. Vengono selezionati gli oggetti le cui chiavi iniziano con questo prefisso. Si applica solo quando la proprietà chiave non è specificata. | No |
versione | La versione dell'oggetto S3 se è stato abilitato il controllo delle versioni S3. Se non viene specificata una versione, verrà recuperata la versione più recente. | No |
modifiedDatetimeStart | I file vengono filtrati in base all'attributo seguente: ultima modifica. I file verranno selezionati se l'orario dell'ultima modifica è successivo o uguale alle modifiedDatetimeStart e precedente alle modifiedDatetimeEnd . L'ora viene applicata in base al fuso orario UTC nel formato "2018-12-01T05:00:00Z". Tenere presente che l'abilitazione di questa impostazione influirà sulle prestazioni complessive dello spostamento dei dati quando si desidera filtrare grandi quantità di file. Le proprietà possono essere NULL, a indicare che al set di dati non verrà applicato alcun filtro attributo di file. Quando modifiedDatetimeStart presenta un valore datetime ma modifiedDatetimeEnd è NULL, verranno selezionati i file il cui ultimo attributo modificato sia maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL, verranno selezionati i file il cui ultimo attributo modificato è minore del valore datetime. |
No |
modifiedDatetimeEnd | I file vengono filtrati in base all'attributo dell'ultima modifica. I file verranno selezionati se l'orario dell'ultima modifica è successivo o uguale alle modifiedDatetimeStart e precedente alle modifiedDatetimeEnd . L'ora viene applicata in base al fuso orario UTC nel formato "2018-12-01T05:00:00Z". Tenere presente che l'abilitazione di questa impostazione influirà sulle prestazioni complessive dello spostamento dei dati quando si desidera filtrare grandi quantità di file. Le proprietà possono essere NULL, a indicare che al set di dati non verrà applicato alcun filtro attributo di file. Quando modifiedDatetimeStart presenta un valore datetime ma modifiedDatetimeEnd è NULL, verranno selezionati i file il cui ultimo attributo modificato sia maggiore o uguale al valore datetime. Quando modifiedDatetimeEnd ha un valore datetime ma modifiedDatetimeStart è NULL verranno selezionati i file il cui ultimo attributo modificato sia minore del valore datetime. |
No |
format | Per copiare i file così come sono tra archivi basati su file (copia binaria), ignorare la sezione del formato nelle definizioni dei set di dati di input e di output. Se si vuole analizzare o generare file con un formato specifico, sono supportati i tipi di formato seguenti: TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat. Impostare la proprietà type in format su uno di questi valori. Per altre informazioni, vedere le sezioni Formato testo, Formato JSON, Formato AVRO, Formato OCR e Formato Parquet. |
No (solo per uno scenario di copia binaria) |
compressione | Specificare il tipo e il livello di compressione dei dati. Per altre informazioni, vedere l'articolo sui formati di file supportati e i codec di compressione. I tipi supportati sono GZip, Deflate, BZip2 e ZipDeflate. I livelli supportati sono Ottimale e Più veloce. |
No |
Suggerimento
Per copiare tutti i file in una cartella, specificare bucketName per il bucket e il prefisso per la parte della cartella.
Per copiare un singolo file con un nome specificato, specificare bucketName per il bucket e la chiave per la parte della cartella più il nome del file.
Per copiare un subset di file in una cartella, specificare bucketName per il bucket e la chiave per la parte della cartella più il filtro con caratteri jolly.
Esempio: uso del prefisso
{
"name": "AmazonS3Dataset",
"properties": {
"type": "AmazonS3Object",
"linkedServiceName": {
"referenceName": "<Amazon S3 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"bucketName": "testbucket",
"prefix": "testFolder/test",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Esempio: uso della chiave e della versione (facoltativo)
{
"name": "AmazonS3Dataset",
"properties": {
"type": "AmazonS3",
"linkedServiceName": {
"referenceName": "<Amazon S3 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"bucketName": "testbucket",
"key": "testFolder/testfile.csv.gz",
"version": "XXXXXXXXXczm0CJajYkHf0_k6LhBmkcL",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Modello di origine dell'attività Copy legacy
Proprietà | Descrizione | Richiesto |
---|---|---|
type | La proprietà type dell'origine attività Copy deve essere impostata su FileSystemSource. | Sì |
recursive | Indica se i dati vengono letti in modo ricorsivo dalle cartelle secondarie o solo dalla cartella specificata. Si noti che quando la ricorsiva è impostata su true e il sink è un archivio basato su file, una cartella o una sottocartella vuota non verrà copiata o creata nel sink. I valori consentiti sono true (predefinito) e false. |
No |
maxConcurrentConnections | Limite massimo di connessioni simultanee stabilite all'archivio dati durante l'esecuzione dell'attività. Specificare un valore solo quando si desidera limitare le connessioni simultanee. | No |
Esempio:
"activities":[
{
"name": "CopyFromAmazonS3",
"type": "Copy",
"inputs": [
{
"referenceName": "<Amazon S3 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Contenuto correlato
Per un elenco degli archivi dati supportati dall'attività Copy come origini e sink, vedere Archivi dati supportati.