Copiare e trasformare i dati in Microsoft Fabric Warehouse 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 completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo illustra come usare l'attività di copia per copiare dati da e in Microsoft Fabric Warehouse. Per altre informazioni, vedere l'articolo introduttivo per Azure Data Factory o Azure Synapse Analytics.

Funzionalità supportate

Questo connettore Microsoft Fabric Warehouse è supportato per le funzionalità seguenti:

Funzionalità supportate IR Endpoint privato gestito
Attività di copia (origine/sink) (1) (2)
Attività Lookup (1) (2)
Attività GetMetadata (1) (2)
Attività script (1) (2)
Attività stored procedure (1) (2)

(1) Runtime di integrazione di Azure (2) Runtime di integrazione self-hosted

Operazioni preliminari

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato Microsoft Fabric Warehouse usando l'interfaccia utente

Usare la procedura seguente per creare un servizio collegato Microsoft Fabric Warehouse nell'interfaccia utente di portale di Azure.

  1. Passare alla scheda Gestisci nell'area di lavoro di Azure Data Factory o Synapse e selezionare Servizi collegati, quindi selezionare Nuovo:

  2. Cercare Warehouse e selezionare il connettore.

    Screenshot che mostra la selezione del connettore Microsoft Fabric Warehouse.

  3. Configurare i dettagli del servizio, testare la connessione e creare il nuovo servizio collegato.

    Screenshot della configurazione per il servizio collegato Microsoft Fabric Warehouse.

Dettagli di configurazione di Connessione or

Le sezioni seguenti forniscono informazioni dettagliate sulle proprietà usate per definire entità di Data Factory specifiche di Microsoft Fabric Warehouse.

Proprietà del servizio collegato

Il connettore Microsoft Fabric Warehouse supporta i tipi di autenticazione seguenti. Per informazioni dettagliate, vedere le sezioni corrispondenti:

Autenticazione dell'entità servizio

Per usare l'autenticazione basata sull'entità servizio, eseguire queste operazioni.

  1. Registrare un'applicazione con Microsoft Identity Platform e aggiungere un segreto client. Successivamente, prendere nota di questi valori, che si usa per definire il servizio collegato:

    • ID applicazione (client), ovvero l'ID entità servizio nel servizio collegato.
    • Valore del segreto client, ovvero la chiave dell'entità servizio nel servizio collegato.
    • ID tenant
  2. Concedere all'entità servizio almeno il ruolo Collaboratore nell'area di lavoro di Microsoft Fabric. Seguire questa procedura:

    1. Passare all'area di lavoro di Microsoft Fabric, selezionare Gestisci accesso nella barra superiore. Selezionare quindi Aggiungi persone o gruppi.

      Screenshot che mostra la selezione dell'area di lavoro Infrastruttura Gestisci l'accesso.

       Screenshot che mostra il riquadro Gestisci accesso dell'area di lavoro infrastruttura.

    2. Nel riquadro Aggiungi persone immettere il nome dell'entità servizio e selezionare l'entità servizio dall'elenco a discesa.

    3. Specificare il ruolo Collaboratore o superiore (Amministrazione, Membro) e quindi selezionare Aggiungi.

      Screenshot che mostra l'aggiunta del ruolo dell'area di lavoro infrastruttura.

    4. L'entità servizio viene visualizzata nel riquadro Gestisci accesso .

Queste sono le proprietà supportate dal servizio collegato:

Proprietà Descrizione Richiesto
type La proprietà type deve essere impostata su Warehouse.
endpoint Endpoint del server Microsoft Fabric Warehouse.
workspaceId ID dell'area di lavoro di Microsoft Fabric.
artifactId ID oggetto Microsoft Fabric Warehouse.
tenant Specificare le informazioni sul tenant (nome di dominio o ID tenant) in cui si trova l'applicazione. Recuperarlo passando il cursore del mouse sull'angolo superiore destro del portale di Azure.
servicePrincipalId Specificare l'ID client dell'applicazione.
servicePrincipalCredentialType Tipo di credenziale da usare per l'autenticazione dell'entità servizio. I valori consentiti sono ServicePrincipalKey e ServicePrincipalCert.
servicePrincipalCredential Credenziali dell'entità servizio.
Quando si usa ServicePrincipalKey come tipo di credenziale, specificare il valore del segreto client dell'applicazione. Contrassegnare questo campo come SecureString per archiviarlo in modo sicuro o fare riferimento a un segreto archiviato in Azure Key Vault.
Quando si usa ServicePrincipalCert come credenziale, fare riferimento a un certificato in Azure Key Vault e assicurarsi che il tipo di contenuto del certificato sia PKCS #12.
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 non specificato, viene usato il runtime di integrazione di Azure predefinito. No

Esempio: uso dell'autenticazione della chiave dell'entità servizio

È anche possibile archiviare la chiave dell'entità servizio in Azure Key Vault.

{
    "name": "MicrosoftFabricWarehouseLinkedService",
    "properties": {
        "type": "Warehouse",
        "typeProperties": {
            "endpoint": "<Microsoft Fabric Warehouse server endpoint>",
            "workspaceId": "<Microsoft Fabric workspace ID>",
            "artifactId": "<Microsoft Fabric Warehouse object ID>",
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            }   
        },
        "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.

Per il set di dati di Microsoft Fabric Warehouse sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
type La proprietà type del set di dati deve essere impostata su WarehouseTable.
schema Nome dello schema. No per l'origine, Sì per il sink
table Nome della tabella/vista. No per l'origine, Sì per il sink

Esempio di proprietà dei set di dati

{
    "name": "FabricWarehouseTableDataset",
    "properties": {
        "type": "WarehouseTable",
        "linkedServiceName": {
            "referenceName": "<Microsoft Fabric Warehouse linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring >
        ],
        "typeProperties": {
            "schema": "<schema_name>",
            "table": "<table_name>"
        }
    }
}

Proprietà dell'attività di copia

Per un elenco completo delle sezioni e delle proprietà disponibili per la definizione delle attività, vedere Configurazioni dell'attività di copia e Pipeline e attività. Questa sezione fornisce un elenco delle proprietà supportate dall'origine e dal sink di Microsoft Fabric Warehouse.

Microsoft Fabric Warehouse come origine

Suggerimento

Per caricare i dati da Microsoft Fabric Warehouse in modo efficiente usando il partizionamento dei dati, vedere Copia parallela da Microsoft Fabric Warehouse.

Per copiare dati da Microsoft Fabric Warehouse, impostare la proprietà type nell'origine dell'attività di copia su WarehouseSource. Nella sezione source dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
type La proprietà type dell'origine dell'attività di copia deve essere impostata su WarehouseSource.
sqlReaderQuery Usare la query SQL personalizzata per leggere i dati. Esempio: select * from MyTable. No
sqlReaderStoredProcedureName Nome della stored procedure che legge i dati dalla tabella di origine. L'ultima istruzione SQL deve essere un'istruzione SELECT nella stored procedure. No
storedProcedureParameters Parametri per la stored procedure.
I valori consentiti sono coppie nome-valore. I nomi e le maiuscole e minuscole dei parametri devono corrispondere ai nomi e alle maiuscole e minuscole dei parametri della stored procedure.
No
queryTimeout Specifica il timeout per l'esecuzione del comando di query. Il valore predefinito è 120 minuti. No
isolationLevel Specifica il comportamento di blocco della transazione per l'origine SQL. Il valore consentito è Snapshot. Se non specificato, viene utilizzato il livello di isolamento predefinito del database. Per altre informazioni, vedere system.data.isolationlevel. No
partitionOptions Specifica le opzioni di partizionamento dei dati usate per caricare i dati da Microsoft Fabric Warehouse.
I valori consentiti sono: Nessuno (impostazione predefinita) e DynamicRange.
Quando un'opzione di partizione è abilitata ( ovvero , non None), il grado di parallelismo per caricare simultaneamente i dati da Microsoft Fabric Warehouse è controllato dall'impostazione sull'attività parallelCopies di copia.
No
partitionSettings Specifica il gruppo di impostazioni per il partizionamento dei dati.
Applicare quando l'opzione di partizione non Noneè .
No
In partitionSettings:
partitionColumnName Specificare il nome della colonna di origine nel tipo integer o date/datetime (int, smallint, datebigint, , datetime2) che verrà usato dal partizionamento dell'intervallo per la copia parallela. Se non specificato, l'indice o la chiave primaria della tabella vengono rilevati automaticamente e usati come colonna di partizione.
Si applica quando l'opzione di partizione è DynamicRange. Se si usa una query per recuperare i dati di origine, associare ?DfDynamicRangePartitionCondition nella clausola WHERE. Per un esempio, vedere la sezione Copia parallela da Microsoft Fabric Warehouse .
No
partitionUpperBound Valore massimo della colonna di partizione per la suddivisione dell'intervallo di partizioni. Questo valore viene usato per decidere lo stride della partizione, non per filtrare le righe nella tabella. Tutte le righe nella tabella o nel risultato della query verranno partizionate e copiate. Se non specificato, l'attività di copia rileva automaticamente il valore.
Si applica quando l'opzione di partizione è DynamicRange. Per un esempio, vedere la sezione Copia parallela da Microsoft Fabric Warehouse .
No
partitionLowerBound Valore minimo della colonna di partizione per la suddivisione dell'intervallo di partizioni. Questo valore viene usato per decidere lo stride della partizione, non per filtrare le righe nella tabella. Tutte le righe nella tabella o nel risultato della query verranno partizionate e copiate. Se non specificato, l'attività di copia rileva automaticamente il valore.
Si applica quando l'opzione di partizione è DynamicRange. Per un esempio, vedere la sezione Copia parallela da Microsoft Fabric Warehouse .
No

Nota

Quando si usa la stored procedure nell'origine per recuperare i dati, notare se la stored procedure è progettata come restituzione di uno schema diverso quando viene passato un valore di parametro diverso, è possibile che si verifichi un errore o si verifichi un risultato imprevisto durante l'importazione dello schema dall'interfaccia utente o quando si copiano dati in Microsoft Fabric Warehouse con la creazione automatica della tabella.

Esempio: uso della query SQL

"activities":[
    {
        "name": "CopyFromMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WarehouseSource",
                "sqlReaderQuery": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Esempio: uso della stored procedure

"activities":[
    {
        "name": "CopyFromMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "WarehouseSource",
                "sqlReaderStoredProcedureName": "CopyTestSrcStoredProcedureWithParameters",
                "storedProcedureParameters": {
                    "stringData": { "value": "str3" },
                    "identifier": { "value": "$$Text.Format('{0:yyyy}', <datetime parameter>)", "type": "Int"}
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Stored procedure di esempio:

CREATE PROCEDURE CopyTestSrcStoredProcedureWithParameters
(
    @stringData varchar(20),
    @identifier int
)
AS
SET NOCOUNT ON;
BEGIN
    select *
    from dbo.UnitTestSrcTable
    where dbo.UnitTestSrcTable.stringData != stringData
    and dbo.UnitTestSrcTable.identifier != identifier
END
GO

Microsoft Fabric Warehouse come tipo di sink

Le pipeline di Azure Data Factory e Synapse supportano l'istruzione Use COPY per caricare i dati in Microsoft Fabric Warehouse.

Per copiare dati in Microsoft Fabric Warehouse, impostare il tipo di sink nell'attività di copia su WarehouseSink. Nella sezione sink dell'attività di copia sono supportate le proprietà seguenti:

Proprietà Descrizione Richiesto
type La proprietà type del sink dell'attività di copia deve essere impostata su WarehouseSink.
allowCopyCommand Indica se usare l'istruzione COPY per caricare i dati in Microsoft Fabric Warehouse.

Vedere La sezione Usare l'istruzione COPY per caricare i dati in Microsoft Fabric Warehouse per i vincoli e i dettagli.

Il valore consentito è True.
copyCommandSettings Gruppo di proprietà che è possibile specificare quando la proprietà allowCopyCommand è impostata su TRUE. No
writeBatchTimeout Questa proprietà specifica il tempo di attesa per il completamento dell'operazione di inserimento, upsert e stored procedure prima del timeout.

I valori consentiti sono relativi all'intervallo di tempo. Un esempio è "00:30:00" per 30 minuti. Se non viene specificato alcun valore, per impostazione predefinita il timeout è "00:30:00"
No
preCopyScript Specificare una query SQL per l'attività di copia da eseguire prima di scrivere dati in Microsoft Fabric Warehouse in ogni esecuzione. Usare questa proprietà per pulire i dati precaricati. No
tableOption Specifica se creare automaticamente la tabella sink se non esiste in base allo schema di origine. I valori consentiti sono: none (impostazione predefinita), autoCreate. No
disableMetricsCollection Il servizio raccoglie le metriche per l'ottimizzazione delle prestazioni di copia e le raccomandazioni, che introducono l'accesso al database master aggiuntivo. Se questo comportamento non è desiderato, specificare true per disattivarlo. No (il valore predefinito è false)

Esempio: sink di Microsoft Fabric Warehouse

"activities":[
    {
        "name": "CopyToMicrosoftFabricWarehouse",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Microsoft Fabric Warehouse output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true,
                "tableOption": "autoCreate",
                "disableMetricsCollection": false
            }
        }
    }
]

Copia parallela da Microsoft Fabric Warehouse

Il connettore Microsoft Fabric Warehouse nell'attività di copia fornisce il partizionamento dei dati predefinito per copiare i dati in parallelo. È possibile trovare le opzioni di partizionamento dei dati nella scheda Origine dell'attività di copia.

Screenshot delle opzioni di partizione

Quando si abilita la copia partizionata, l'attività di copia esegue query parallele sull'origine di Microsoft Fabric Warehouse per caricare i dati in base alle partizioni. Il grado di parallelismo è controllato dall'impostazione parallelCopies sull'attività di copia. Ad esempio, se si imposta parallelCopies su quattro, il servizio genera simultaneamente ed esegue quattro query in base all'opzione e alle impostazioni di partizione specificate e ogni query recupera una parte di dati da Microsoft Fabric Warehouse.

È consigliabile abilitare la copia parallela con il partizionamento dei dati, soprattutto quando si caricano grandi quantità di dati da Microsoft Fabric Warehouse. Di seguito sono riportate le configurazioni consigliate per i diversi scenari: Quando si copiano dati in un archivio dati basato su file, è consigliabile scrivere in una cartella come più file (specificare solo il nome della cartella), nel qual caso le prestazioni sono migliori rispetto alla scrittura in un singolo file.

Scenario Impostazioni consigliate
Caricamento completo da una tabella di grandi dimensioni, mentre con una colonna integer o datetime per il partizionamento dei dati. Opzioni di partizione: partizione intervallo dinamico.
Colonna di partizione (facoltativa): specificare la colonna usata per partizionare i dati. Se non specificato, viene utilizzata la colonna di indice o chiave primaria.
Limite superiore della partizione e limite inferiore della partizione (facoltativo): specificare se si desidera determinare lo stride della partizione. Non si tratta di filtrare le righe nella tabella e tutte le righe della tabella verranno partizionate e copiate. Se non specificato, l'attività di copia rileva automaticamente i valori.

Ad esempio, se la colonna di partizione "ID" ha valori compresi tra 1 e 100 e si imposta il limite inferiore su 20 e il limite superiore come 80, con copia parallela come 4, il servizio recupera i dati rispettivamente per 4 partizioni - ID nell'intervallo <=20, [21, 50], [51, 80]e >=81.
Caricare una grande quantità di dati usando una query personalizzata, mentre con una colonna integer o date/datetime per il partizionamento dei dati. Opzioni di partizione: partizione intervallo dinamico.
Query: SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>.
Colonna di partizione: specificare la colonna usata per partizionare i dati.
Limite superiore della partizione e limite inferiore della partizione (facoltativo): specificare se si desidera determinare lo stride della partizione. Non si tratta di filtrare le righe nella tabella e tutte le righe nel risultato della query verranno partizionate e copiate. Se non specificato, l'attività di copia rileva automaticamente il valore.

Ad esempio, se la colonna di partizione "ID" include valori compresi tra 1 e 100 e si imposta il limite inferiore su 20 e il limite superiore come 80, con copia parallela come 4, il servizio recupera i dati per 4 partizioni- ID nell'intervallo <=20, [21, 50], [51, 80], e >=81 rispettivamente.

Di seguito sono riportate altre query di esempio per diversi scenari:
1. Eseguire una query sull'intera tabella:
SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition
2. Eseguire una query da una tabella con la selezione di colonne e filtri aggiuntivi della clausola where:
SELECT <column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
3. Eseguire una query con sottoquery:
SELECT <column_list> FROM (<your_sub_query>) AS T WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>
4. Eseguire una query con la partizione nella sottoquery:
SELECT <column_list> FROM (SELECT <your_sub_query_column_list> FROM <TableName> WHERE ?DfDynamicRangePartitionCondition) AS T

Procedure consigliate per caricare i dati con l'opzione di partizione:

  • Scegliere una colonna distintiva come colonna di partizione (ad esempio chiave primaria o chiave univoca) per evitare l'asimmetria dei dati.
  • Se si usa Azure Integration Runtime per copiare i dati, è possibile impostare unità di Integrazione dei dati (DIU) di dimensioni maggiori (>4) per usare più risorse di calcolo. Controllare gli scenari applicabili.
  • "Grado di parallelismo di copia" controlla i numeri di partizione, impostando questo numero troppo grande a volte le prestazioni, è consigliabile impostare questo numero come (DIU o numero di nodi del runtime di integrazione self-hosted) * (da 2 a 4).
  • Si noti che Microsoft Fabric Warehouse può eseguire un massimo di 32 query al momento, impostando "Grado di parallelismo di copia" troppo grande può causare un problema di limitazione del warehouse.

Esempio: query con partizione a intervalli dinamici

"source": {
    "type": "WarehouseSource",
    "query": "SELECT * FROM <TableName> WHERE ?DfDynamicRangePartitionCondition AND <your_additional_where_clause>",
    "partitionOption": "DynamicRange",
    "partitionSettings": {
        "partitionColumnName": "<partition_column_name>",
        "partitionUpperBound": "<upper_value_of_partition_column (optional) to decide the partition stride, not as data filter>",
        "partitionLowerBound": "<lower_value_of_partition_column (optional) to decide the partition stride, not as data filter>"
    }
}

Usare l'istruzione COPY per caricare i dati in Microsoft Fabric Warehouse

L'uso dell'istruzione COPY è un modo semplice e flessibile per caricare i dati in Microsoft Fabric Warehouse con velocità effettiva elevata. Per altre informazioni dettagliate, controllare Il caricamento bulk dei dati usando l'istruzione COPY

  • Se i dati di origine si trovano in BLOB di Azure o Azure Data Lake Archiviazione Gen2 e il formato è compatibile con l'istruzione COPY, è possibile usare l'attività di copia per richiamare direttamente l'istruzione COPY per consentire a Microsoft Fabric Warehouse di estrarre i dati dall'origine. Per informazioni dettagliate, vedere Direct copy by using COPY statement .For details, see Direct copy by using COPY statement.
  • Se l'archivio dati di origine e il formato non sono originariamente supportati dall'istruzione COPY, usare invece la copia di staging usando la funzionalità istruzione COPY . La funzionalità di copia a fasi offre anche una migliore velocità effettiva. Converte automaticamente i dati in un formato compatibile con l'istruzione COPY, archivia i dati nell'archivio BLOB di Azure, quindi chiama l'istruzione COPY per caricare i dati in Microsoft Fabric Warehouse.

Suggerimento

Quando si usa l'istruzione COPY con Azure Integration Runtime, le unità di Integrazione dei dati effettive (DIU) sono sempre 2. L'ottimizzazione dell'unità di distribuzione non influisce sulle prestazioni.

Copia diretta tramite l'istruzione COPY

L'istruzione COPY di Microsoft Fabric Warehouse supporta direttamente BLOB di Azure, Azure Data Lake Archiviazione Gen1 e Azure Data Lake Archiviazione Gen2. Se i dati di origine soddisfano i criteri descritti in questa sezione, usare l'istruzione COPY per copiare direttamente dall'archivio dati di origine a Microsoft Fabric Warehouse. In caso contrario, usare Copia di staging usando l'istruzione COPY. Il servizio controlla le impostazioni e non riesce l'esecuzione dell'attività di copia se i criteri non vengono soddisfatti.

  • Il servizio collegato all'origine e il formato hanno i tipi e i metodi di autenticazione seguenti:

    Tipo di archivio dati di origine supportato Formato supportato Tipo di autenticazione di origine supportato
    BLOB di Azure Testo delimitato Autenticazione della chiave dell'account, autenticazione con firma di accesso condiviso
      Parquet Autenticazione della chiave dell'account, autenticazione con firma di accesso condiviso
    Azure Data Lake Storage Gen2 Testo delimitato
    Parquet
    Autenticazione della chiave dell'account, autenticazione con firma di accesso condiviso
  • Le impostazioni del formato sono le seguenti:

    • Per Parquet: compression non può essere una compressione, snappy o GZip.
    • Per Testo delimitato:
      • rowDelimiter è impostato in modo esplicito come single character o "\r\n", il valore predefinito non è supportato.
      • nullValue è impostato sul valore predefinito o su empty string ("").
      • encodingName è impostato sul valore predefinito o su utf-8 o utf-16.
      • escapeChar deve essere uguale a quoteChar e non è vuoto.
      • skipLineCount è impostato sul valore predefinito o su 0.
      • compression non può essere una compressione o GZip.
  • Se l'origine è una cartella, recursive nell'attività di copia deve essere impostata su true e wildcardFilename deve essere * o *.*.

  • wildcardFolderPath , wildcardFilename (diverso da *o *.*), modifiedDateTimeStart, modifiedDateTimeEnd, prefixe enablePartitionDiscoveryadditionalColumns non vengono specificati.

Le impostazioni dell'istruzione COPY seguenti sono supportate in allowCopyCommand nell'attività di copia:

Proprietà Descrizione Richiesto
defaultValues Specifica i valori predefiniti per ogni colonna di destinazione in Microsoft Fabric Warehouse. I valori predefiniti nella proprietà sovrascrivono il vincolo DEFAULT impostato nel data warehouse e la colonna Identity non può avere un valore predefinito. No
additionalOptions Opzioni aggiuntive che verranno passate a un'istruzione COPY di Microsoft Fabric Warehouse direttamente nella clausola "With" nell'istruzione COPY. Racchiudere il valore tra virgolette come previsto dai requisiti dell'istruzione COPY. No
"activities":[
    {
        "name": "CopyFromAzureBlobToMicrosoftFabricWarehouseViaCOPY",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "ParquetDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "MicrosoftFabricWarehouseDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ParquetSource",
                "storeSettings":{
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true,
                "copyCommandSettings": {
                    "defaultValues": [
                        {
                            "columnName": "col_string",
                            "defaultValue": "DefaultStringValue"
                        }
                    ],
                    "additionalOptions": {
                        "MAXERRORS": "10000",
                        "DATEFORMAT": "'ymd'"
                    }
                }
            },
            "enableSkipIncompatibleRow": true
        }
    }
]

Copia di staging tramite l'istruzione COPY

Quando i dati di origine non sono compatibili in modo nativo con l'istruzione COPY, abilitare la copia dei dati tramite un BLOB di Azure di staging provvisorio o Azure Data Lake Archiviazione Gen2 (non può essere Azure Archiviazione Premium). In questo caso, il servizio converte automaticamente i dati in modo da soddisfare i requisiti di formato dei dati dell'istruzione COPY. Richiama quindi l'istruzione COPY per caricare i dati in Microsoft Fabric Warehouse. Infine, pulisce i dati temporanei dalla risorsa di archiviazione. Per informazioni dettagliate sulla copia dei dati tramite una gestione temporanea, vedere Copia a fasi.

Per usare questa funzionalità, creare un servizio collegato Archiviazione BLOB di Azure o un servizio collegato di Azure Data Lake Archiviazione Gen2 con chiave dell'account o l'autenticazione dell'identità gestita dal sistema che fa riferimento all'account di archiviazione di Azure come risorsa di archiviazione temporanea.

Importante

Importante

Se il Archiviazione di Azure di staging è configurato con l'endpoint privato gestito e il firewall di archiviazione è abilitato, è necessario usare l'autenticazione dell'identità gestita e concedere Archiviazione autorizzazioni di lettura dati BLOB a Synapse SQL Server per assicurarsi che possa accedere ai file di staging durante il caricamento dell'istruzione COPY.

"activities":[
    {
        "name": "CopyFromSQLServerToMicrosoftFabricWarehouseViaCOPYstatement",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "SQLServerDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "MicrosoftFabricWarehouseDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SqlSource",
            },
            "sink": {
                "type": "WarehouseSink",
                "allowCopyCommand": true
            },
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingStorage",
                    "type": "LinkedServiceReference"
                }
            }
        }
    }
]

Proprietà dell'attività Lookup

Per altre informazioni sulle proprietà, vedere Attività Lookup.

Proprietà dell'attività GetMetadata

Per altre informazioni sulle proprietà, vedere Attività GetMetadata

Mapping dei tipi di dati per Microsoft Fabric Warehouse

Quando si copiano dati da Microsoft Fabric Warehouse, i mapping seguenti vengono usati dai tipi di dati di Microsoft Fabric Warehouse ai tipi di dati provvisori all'interno del servizio internamente. Per informazioni su come l'attività di copia esegue il mapping dello schema di origine e del tipo di dati al sink, vedere Mapping dello schema e del tipo di dati.

Tipo di dati di Microsoft Fabric Warehouse Tipo di dati provvisorio di Data Factory
bigint Int64
binary Byte[]
bit Booleano
char String, Char[]
data Data/Ora
datetime2 Data/Ora
Decimale Decimale
FILESTREAM attribute (varbinary(max)) Byte[]
Float Double
int Int32
numeric Decimale
real Singola
smallint Int16
Ora TimeSpan
uniqueidentifier GUID
varbinary Byte[]
varchar String, Char[]

Passaggi successivi

Per un elenco degli archivi dati supportati come origini e sink dall'attività di copia, vedere Archivi dati supportati.