Set di dati in Azure Data FactoryDatasets in Azure Data Factory

Nota

Le informazioni di questo articolo sono valide per la versione 1 di Data Factory.This article applies to version 1 of Data Factory. Se si usa la versione corrente del servizio Data Factory, vedere le informazioni sui set di dati nella versione 2.If you are using the current version of the Data Factory service, see Datasets in V2.

In questo articolo vengono descritti i set di dati, la procedura di definizione dei set in formato JSON e le modalità di utilizzo nelle pipeline di Azure Data Factory.This article describes what datasets are, how they are defined in JSON format, and how they are used in Azure Data Factory pipelines. L'articolo contiene informazioni dettagliate su ogni sezione della definizione JSON del set di dati, ad esempio su struttura, disponibilità e criteri.It provides details about each section (for example, structure, availability, and policy) in the dataset JSON definition. L'articolo offre anche esempi per l'uso delle proprietà offset, anchorDateTime e style in una definizione JSON del set di dati.The article also provides examples for using the offset, anchorDateTime, and style properties in a dataset JSON definition.

Nota

Se non si ha dimestichezza con Data Factory, vedere Introduzione al servizio Azure Data Factory.If you are new to Data Factory, see Introduction to Azure Data Factory for an overview. Se non si ha esperienza diretta nella creazione di data factory, vedere l'esercitazione sulla trasformazione dei dati e quella sullo spostamento dei dati per comprendere meglio questi argomenti.If you do not have hands-on experience with creating data factories, you can gain a better understanding by reading the data transformation tutorial and the data movement tutorial.

PanoramicaOverview

Una data factory può comprendere una o più pipeline.A data factory can have one or more pipelines. Una pipeline è un raggruppamento logico di attività che insieme eseguono un compito.A pipeline is a logical grouping of activities that together perform a task. Le attività in una pipeline definiscono le azioni da eseguire sui dati.The activities in a pipeline define actions to perform on your data. Ad esempio, è possibile usare un'attività di copia per copiare i dati da un Server SQL locale a un'archiviazione BLOB di Azure.For example, you might use a copy activity to copy data from an on-premises SQL Server to Azure Blob storage. Quindi, si può usare un'attività Hive che esegue uno script Hive in un cluster HDInsight di Azure per elaborare i dati dall'archiviazione BLOB per produrre dati di output.Then, you might use a Hive activity that runs a Hive script on an Azure HDInsight cluster to process data from Blob storage to produce output data. Infine, è possibile usare una seconda attività di copia per copiare i dati di output in Azure SQL Data Warehouse per la compilazione delle soluzioni di report di business intelligence (BI).Finally, you might use a second copy activity to copy the output data to Azure SQL Data Warehouse, on top of which business intelligence (BI) reporting solutions are built. Per altre informazioni su pipeline e attività, vedere Pipeline e attività in Azure Data Factory.For more information about pipelines and activities, see Pipelines and activities in Azure Data Factory.

Un'attività può non avere alcun set di dati di input o averne più di uno e generare uno o più set di dati di output.An activity can take zero or more input datasets, and produce one or more output datasets. Un set di dati di input rappresenta l'input per un'attività nella pipeline, un set di dati di output rappresenta l'output dell'attività.An input dataset represents the input for an activity in the pipeline, and an output dataset represents the output for the activity. I set di dati identificano i dati all'interno dei diversi archivi dati, come tabelle, file, cartelle e documenti.Datasets identify data within different data stores, such as tables, files, folders, and documents. Un set di dati BLOB di Azure, ad esempio, specifica il contenitore BLOB e la cartella nell'archiviazione BLOB da cui la pipeline dovrà leggere i dati.For example, an Azure Blob dataset specifies the blob container and folder in Blob storage from which the pipeline should read the data.

Prima di creare un set di dati, creare un servizio collegato per collegare l'archivio dati alla data factory.Before you create a dataset, create a linked service to link your data store to the data factory. I servizi collegati sono molto simili a stringhe di connessione e definiscono le informazioni necessarie per la connessione di Data Factory a risorse esterne.Linked services are much like connection strings, which define the connection information needed for Data Factory to connect to external resources. I set di dati identificano i dati all'interno dei diversi archivi dati, come tabelle, file, cartelle e documenti di SQL.Datasets identify data within the linked data stores, such as SQL tables, files, folders, and documents. Il servizio collegato Archiviazione di Azure,ad esempio, collega l'account di archiviazione alla data factory.For example, an Azure Storage linked service links a storage account to the data factory. Un set di dati BLOB di Azure rappresenta il contenitore e la cartella BLOB che contengono i BLOB di input da elaborare.An Azure Blob dataset represents the blob container and the folder that contains the input blobs to be processed.

Di seguito è riportato uno scenario di esempio.Here is a sample scenario. Per copiare i dati da un'archiviazione BLOB a un Database SQL, si creano due servizi collegati: Archiviazione di Azure e Database SQL di Azure.To copy data from Blob storage to a SQL database, you create two linked services: Azure Storage and Azure SQL Database. Quindi, si creano due set di dati: un set di dati BLOB di Azure, che si riferisce al servizio collegato Archiviazione di Azure, e un set di dati della tabella SQL di Azure, che si riferisce al servizio collegato Database SQL di Azure.Then, create two datasets: Azure Blob dataset (which refers to the Azure Storage linked service) and Azure SQL Table dataset (which refers to the Azure SQL Database linked service). I servizi collegati Archiviazione di Azure e Database SQL di Azure contengono stringhe di connessione usate da Data Factory in fase di runtime per connettersi rispettivamente all'archiviazione di Azure e al database SQL di Azure.The Azure Storage and Azure SQL Database linked services contain connection strings that Data Factory uses at runtime to connect to your Azure Storage and Azure SQL Database, respectively. Il set di dati BLOB di Azure specifica il contenitore e una cartella BLOB che contengono i BLOB di input presenti nell'archiviazione BLOB di Azure.The Azure Blob dataset specifies the blob container and blob folder that contains the input blobs in your Blob storage. Il set di dati della tabella SQL di Azure specifica la tabella SQL del database SQL in cui verranno copiati i dati.The Azure SQL Table dataset specifies the SQL table in your SQL database to which the data is to be copied.

Nel diagramma seguente viene illustrata la relazione tra pipeline, attività, set di dati e il servizio collegato in Data Factory:The following diagram shows the relationships among pipeline, activity, dataset, and linked service in Data Factory:

Relazione tra pipeline, attività, set di dati, i servizi collegati

Set di dati JSONDataset JSON

Un set di dati in Data Factory viene definito in formato JSON come segue:A dataset in Data Factory is defined in JSON format as follows:

{
    "name": "<name of dataset>",
    "properties": {
        "type": "<type of dataset: AzureBlob, AzureSql etc...>",
        "external": "<boolean flag to indicate external data. only for input datasets>",
        "linkedServiceName": "<Name of the linked service that refers to a data store.>",
        "structure": [
            {
                "name": "<Name of the column>",
                "type": "<Name of the type>"
            }
        ],
        "typeProperties": {
            "<type specific property>": "<value>",
            "<type specific property 2>": "<value 2>",
        },
        "availability": {
            "frequency": "<Specifies the time unit for data slice production. Supported frequency: Minute, Hour, Day, Week, Month>",
            "interval": "<Specifies the interval within the defined frequency. For example, frequency set to 'Hour' and interval set to 1 indicates that new data slices should be produced hourly>"
        },
        "policy":
        {
        }
    }
}

La tabella seguente descrive le proprietà nel codice JSON precedente:The following table describes properties in the above JSON:

ProprietàProperty DescrizioneDescription ObbligatorioRequired DefaultDefault
namename Nome del set di dati.Name of the dataset. Per le regole di denominazione, vedere Azure Data Factory: regole di denominazione .See Azure Data Factory - Naming rules for naming rules. Yes NDNA
typetype Tipo del set di dati.Type of the dataset. Specificare uno dei tipi supportati da Data Factory, ad esempio AzureBlob o AzureSqlTable.Specify one of the types supported by Data Factory (for example: AzureBlob, AzureSqlTable).

Per informazioni dettagliate, vedere Tipo di set di dati.For details, see Dataset type.
Yes NDNA
structurestructure Schema del set di dati.Schema of the dataset.

Per informazioni dettagliate, vedere Struttura del set di dati.For details, see Dataset structure.
NoNo NDNA
typePropertiestypeProperties Le proprietà del tipo sono diverse per ogni tipo, ad esempio: BLOB di Azure, tabella SQL di Azure.The type properties are different for each type (for example: Azure Blob, Azure SQL table). Per informazioni dettagliate sui tipi supportati e le relative proprietà, vedere la sezione Tipo di set di dati.For details on the supported types and their properties, see Dataset type. Yes NDNA
externalexternal Flag booleano per specificare se un set di dati è generato o meno in modo esplicito da una pipeline della data factory.Boolean flag to specify whether a dataset is explicitly produced by a data factory pipeline or not. Se il set di dati di input per un'attività non viene generato dalla pipeline corrente, impostare questo flag su true.If the input dataset for an activity is not produced by the current pipeline, set this flag to true. Impostare questo flag su true per il set di dati di input della prima attività nella pipeline.Set this flag to true for the input dataset of the first activity in the pipeline. NoNo falsefalse
disponibilitàavailability Definisce l'intervallo di elaborazione, ad esempio orario o giornaliero, o il modello di sezionamento per la produzione di set di dati.Defines the processing window (for example, hourly or daily) or the slicing model for the dataset production. Ogni unità di dati usata e prodotta da un'esecuzione di attività prende il nome di sezione di dati.Each unit of data consumed and produced by an activity run is called a data slice. Se la disponibilità di un set di dati di output è impostata su giornaliera, ad esempio frequenza: giorno, intervallo: 1, viene prodotta una sezione ogni giorno.If the availability of an output dataset is set to daily (frequency - Day, interval - 1), a slice is produced daily.

Per informazioni dettagliate, vedere Disponibilità dei set di dati.For details, see Dataset availability.

Per informazioni dettagliate sul modello di sezionamento dei set di dati, vedere l'articolo Pianificazione ed esecuzione.For details on the dataset slicing model, see the Scheduling and execution article.
Yes NDNA
policypolicy Definisce i criteri o la condizione che devono soddisfare i sezionamenti di set di dati.Defines the criteria or the condition that the dataset slices must fulfill.

Per informazioni dettagliate, vedere la sezione Criteri di set di dati.For details, see the Dataset policy section.
NoNo NDNA

Esempio di set di datiDataset example

Nell'esempio seguente il set di dati rappresenta la tabella MyTable in un database SQL.In the following example, the dataset represents a table named MyTable in a SQL database.

{
    "name": "DatasetSample",
    "properties": {
        "type": "AzureSqlTable",
        "linkedServiceName": "AzureSqlLinkedService",
        "typeProperties":
        {
            "tableName": "MyTable"
        },
        "availability":
        {
            "frequency": "Day",
            "interval": 1
        }
    }
}

Tenere presente quanto segue:Note the following points:

  • type è impostato su AzureSqlTable.type is set to AzureSqlTable.
  • La proprietà del tipo tableName, specifica del tipo AzureSqlTable, è impostata su MyTable.tableName type property (specific to AzureSqlTable type) is set to MyTable.
  • linkedServiceName fa riferimento a un servizio collegato di tipo AzureSqlDatabase, definito nel frammento di codice JSON successivo.linkedServiceName refers to a linked service of type AzureSqlDatabase, which is defined in the next JSON snippet.
  • L'oggetto availability frequency è impostato su Day e interval è impostato su 1.availability frequency is set to Day, and interval is set to 1. Ciò significa che la sezione di set di dati viene prodotta ogni giorno.This means that the dataset slice is produced daily.

AzureSqlLinkedService è definito come segue:AzureSqlLinkedService is defined as follows:

{
    "name": "AzureSqlLinkedService",
    "properties": {
        "type": "AzureSqlDatabase",
        "description": "",
        "typeProperties": {
            "connectionString": "Data Source=tcp:<servername>.database.windows.net,1433;Initial Catalog=<databasename>;User ID=<username>@<servername>;Password=<password>;Integrated Security=False;Encrypt=True;Connect Timeout=30"
        }
    }
}

Nel frammento di codice JSON precedente:In the preceding JSON snippet:

  • type è impostato su AzureSqlDatabase.type is set to AzureSqlDatabase.
  • La proprietà del tipo connectionString specifica le informazioni per la connessione a un database SQL.connectionString type property specifies information to connect to a SQL database.

Come si può notare, il servizio collegato definisce la modalità di connessione a un database SQL.As you can see, the linked service defines how to connect to a SQL database. Il set di dati indica quale tabella viene usata come input e output per l'attività in una pipeline.The dataset defines what table is used as an input and output for the activity in a pipeline.

Importante

A meno che un set di dati non sia generato dalla pipeline, deve essere contrassegnato come esterno.Unless a dataset is being produced by the pipeline, it should be marked as external. Questa impostazione vale in genere per gli input della prima attività in una pipeline.This setting generally applies to inputs of first activity in a pipeline.

Tipo di set di datiDataset type

Il tipo del set di dati dipende dall'archivio dati usato.The type of the dataset depends on the data store you use. Vedere la tabella seguente per un elenco di archivi dati supportati da Data Factory.See the following table for a list of data stores supported by Data Factory. Fare clic su un archivio dati per informazioni su come creare un servizio collegato e un set di dati per tale archivio dati.Click a data store to learn how to create a linked service and a dataset for that data store.

CategoriaCategory Archivio datiData store Supportato come origineSupported as a source Supportato come sinkSupported as a sink
AzureAzure Archivio BLOB di AzureAzure Blob storage
  Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API)
  Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
  Database SQL di AzureAzure SQL Database
  Azure SQL Data WarehouseAzure SQL Data Warehouse
  Indice di Ricerca cognitiva di AzureAzure Cognitive Search Index
  Archivio tabelle di AzureAzure Table storage
DatabaseDatabases Amazon RedshiftAmazon Redshift
  DB2*DB2*
  MySQL*MySQL*
  Oracle*Oracle*
  PostgreSQL*PostgreSQL*
  SAP Business Warehouse*SAP Business Warehouse*
  SAP HANA*SAP HANA*
  SQL Server*SQL Server*
  Sybase*Sybase*
  Teradata*Teradata*
NoSQLNoSQL Cassandra*Cassandra*
  MongoDB*MongoDB*
FileFile Amazon S3Amazon S3
  File system*File System*
  FTPFTP
  HDFS*HDFS*
  SFTPSFTP
AltroOthers HTTP genericoGeneric HTTP
  OData genericoGeneric OData
  ODBC generico*Generic ODBC*
  SalesforceSalesforce
  Tabella Web (tabella da HTML)Web Table (table from HTML)

Nota

Gli archivi dati con * possono essere locali o in un'infrastruttura distribuita come servizio (IaaS) di Azure.Data stores with * can be on-premises or on Azure infrastructure as a service (IaaS). Questi archivi di dati richiedono l'installazione del gateway di gestione dati.These data stores require you to install Data Management Gateway.

Nell'esempio della sezione precedente, il tipo di set di dati è impostato su AzureSqlTable.In the example in the previous section, the type of the dataset is set to AzureSqlTable. Analogamente, per un set di dati BLOB di Azure, il tipo di set di dati è impostato su AzureBlob come illustrato nel codice JSON seguente:Similarly, for an Azure Blob dataset, the type of the dataset is set to AzureBlob, as shown in the following JSON:

{
    "name": "AzureBlobInput",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": "AzureStorageLinkedService",
        "typeProperties": {
            "fileName": "input.log",
            "folderPath": "adfgetstarted/inputdata",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ","
            }
        },
        "availability": {
            "frequency": "Month",
            "interval": 1
        },
        "external": true,
        "policy": {}
    }
}

Struttura del set di datiDataset structure

La sezione structure è facoltativa.The structure section is optional. Definisce lo schema del set di dati presentando una raccolta di nomi e tipi di dati delle colonne.It defines the schema of the dataset by containing a collection of names and data types of columns. Usare la sezione structure per inserire informazioni sul tipo da usare per convertire i tipi e mappare le colonne dall'origine alla destinazione.You use the structure section to provide type information that is used to convert types and map columns from the source to the destination. Nell'esempio seguente il set di dati include tre colonne: slicetimestamp, projectname e pageviews.In the following example, the dataset has three columns: slicetimestamp, projectname, and pageviews. Sono rispettivamente di tipo String, String e Decimal.They are of type String, String, and Decimal, respectively.

structure:
[
    { "name": "slicetimestamp", "type": "String"},
    { "name": "projectname", "type": "String"},
    { "name": "pageviews", "type": "Decimal"}
]

Ogni colonna della struttura contiene le proprietà seguenti:Each column in the structure contains the following properties:

ProprietàProperty DescrizioneDescription ObbligatorioRequired
namename Nome della colonna.Name of the column. Yes
typetype Tipo di dati della colonna.Data type of the column. NoNo
cultureculture Cultura basata su .NET da usare quando il tipo è un tipo .NET: Datetime o Datetimeoffset..NET-based culture to be used when the type is a .NET type: Datetime or Datetimeoffset. Il valore predefinito è en-us.The default is en-us. NoNo
formatformat Stringa di formato da usare quando il tipo è un tipo .NET: Datetime o Datetimeoffset.Format string to be used when the type is a .NET type: Datetime or Datetimeoffset. NoNo

Attenersi alle linee guida seguenti per decidere quando includere le informazioni sulla struttura e quali elementi inserire nella sezione structure .The following guidelines help you determine when to include structure information, and what to include in the structure section.

  • Per le origini dati strutturate, specificare la sezione structure solo se si vuole eseguire il mapping delle colonne di origine alle colonne del sink e i nomi delle colonne non sono uguali.For structured data sources, specify the structure section only if you want map source columns to sink columns, and their names are not the same. Questa tipologia di origine dati strutturata archivia le informazioni relative al tipo e allo schema dei dati insieme ai dati stessi.This kind of structured data source stores data schema and type information along with the data itself. Alcuni esempi di origini dati strutturate sono SQL Server, Oracle e la tabella di Azure.Examples of structured data sources include SQL Server, Oracle, and Azure table.

    Poiché per le origini dati strutturate le informazioni sul tipo sono già disponibili, non includere le informazioni sul tipo quando si include la sezione structure.As type information is already available for structured data sources, you should not include type information when you do include the structure section.

  • Per lo schema delle origini dati di lettura, in particolare l'archiviazione BLOB, è possibile scegliere di archiviare i dati senza aggiungere alcuna informazione sullo schema o sul tipo.For schema on read data sources (specifically Blob storage), you can choose to store data without storing any schema or type information with the data. Per questi tipi di origini dati, includere la sezione structure per eseguire il mapping delle colonne di origine alle colonne del sink.For these types of data sources, include structure when you want to map source columns to sink columns. Includere la sezione structure anche quando il set di dati è un input per un'attività di copia e i tipi di dati del set di dati di origine devono essere convertiti in tipi nativi per il sink.Also include structure when the dataset is an input for a copy activity, and data types of source dataset should be converted to native types for the sink.

    Data Factory supporta i seguenti valori per specificare informazioni sul tipo nella sezione structure: Int16, Int32, Int64, Single, Double, Decimal, Byte[], Boolean, String, Guid, Datetime, Datetimeoffset e Timespan.Data Factory supports the following values for providing type information in structure: Int16, Int32, Int64, Single, Double, Decimal, Byte[], Boolean, String, Guid, Datetime, Datetimeoffset, and Timespan. Sono valori dei tipi basati su .NET e conformi a CLS (Common Language Specification).These values are Common Language Specification (CLS)-compliant, .NET-based type values.

La data factory esegue automaticamente le conversioni quando si spostano dati da un archivio dati di origine a un archivio dati di sink.Data Factory automatically performs type conversions when moving data from a source data store to a sink data store.

Disponibilità dei set di datiDataset availability

La sezione availability di un set di dati definisce l'intervallo di elaborazione, ad esempio orario, giornaliero o settimanale, per il set di dati.The availability section in a dataset defines the processing window (for example, hourly, daily, or weekly) for the dataset. Per altre informazioni sugli intervalli di attività, vedere Pianificazione ed esecuzione.For more information about activity windows, see Scheduling and execution.

La sezione availability seguente specifica che il set di dati di output viene generato ogni ora oppure che il set di dati di input è disponibile ogni ora:The following availability section specifies that the output dataset is either produced hourly, or the input dataset is available hourly:

"availability":
{
    "frequency": "Hour",
    "interval": 1
}

Se la pipeline ha i seguenti orari di inizio e fine:If the pipeline has the following start and end times:

    "start": "2016-08-25T00:00:00Z",
    "end": "2016-08-25T05:00:00Z",

Viene prodotto il set di dati di output ogni ora entro gli orari di inizio e fine della pipeline.The output dataset is produced hourly within the pipeline start and end times. Questa pipeline genera quindi cinque sezioni di set di dati, una per ogni intervallo di attività (00:00 - 01:00, 01: 00 - 02:00, 02:00 - 03:00, 03:00 - 04:00, 04:00 - 05:00).Therefore, there are five dataset slices produced by this pipeline, one for each activity window (12 AM - 1 AM, 1 AM - 2 AM, 2 AM - 3 AM, 3 AM - 4 AM, 4 AM - 5 AM).

La tabella seguente descrive le proprietà che è possibile usare nella sezione availability:The following table describes properties you can use in the availability section:

ProprietàProperty DescrizioneDescription ObbligatorioRequired DefaultDefault
frequencyfrequency Specifica l'unità di tempo per la produzione di sezioni di set di dati.Specifies the time unit for dataset slice production.

Frequenza supportata: minuto, ora, giorno, settimana, meseSupported frequency: Minute, Hour, Day, Week, Month
Yes NDNA
intervalinterval Specifica un moltiplicatore per la frequenza.Specifies a multiplier for frequency.

"Frequency x interval" determina la frequenza con cui viene generata la sezione."Frequency x interval" determines how often the slice is produced. Se ad esempio è necessario suddividere il set di dati su base oraria, impostare frequency su Hour e interval su 1.For example, if you need the dataset to be sliced on an hourly basis, you set frequency to Hour, and interval to 1.

Notare che se si specifica frequency come Minute, è necessario impostare interval su un valore non inferiore a 15.Note that if you specify frequency as Minute, you should set the interval to no less than 15.
Yes NDNA
stylestyle Specifica se la sezione deve essere generata all'inizio o alla fine dell'intervallo.Specifies whether the slice should be produced at the start or end of the interval.
  • StartOfIntervalStartOfInterval
  • EndOfIntervalEndOfInterval
Se frequency è impostata su Month e style è impostata su EndOfInterval, la sezione viene generata l'ultimo giorno del mese.If frequency is set to Month, and style is set to EndOfInterval, the slice is produced on the last day of month. Se style è impostata su StartOfInterval, la sezione viene generata il primo giorno del mese.If style is set to StartOfInterval, the slice is produced on the first day of month.

Se frequency è impostata su Day e style è impostata su EndOfInterval, la sezione viene generata nell'ultima ora del giorno.If frequency is set to Day, and style is set to EndOfInterval, the slice is produced in the last hour of the day.

Se frequency è impostata su Hour e style è impostata su EndOfInterval, la sezione viene generata alla fine dell'ora.If frequency is set to Hour, and style is set to EndOfInterval, the slice is produced at the end of the hour. Ad esempio, una sezione per il periodo 13.00 - 14.00 viene generata alle 14.00.For example, for a slice for the 1 PM - 2 PM period, the slice is produced at 2 PM.
NoNo EndOfIntervalEndOfInterval
anchorDateTimeanchorDateTime Definisce la posizione assoluta nel tempo usata dall'utilità di pianificazione per calcolare i limiti della sezione del set di dati.Defines the absolute position in time used by the scheduler to compute dataset slice boundaries.

Si noti che se questa proprietà include parti della data più granulari rispetto alla frequenza specificata, le parti più granulari vengono ignorate.Note that if this property has date parts that are more granular than the specified frequency, the more granular parts are ignored. Ad esempio, se l'intervallo è orario (frequency: hour e interval: 1) e la proprietà anchorDateTime contiene minuti e secondi, le parti di anchorDateTime relative a minuti e secondi vengono ignorate.For example, if the interval is hourly (frequency: hour and interval: 1), and the anchorDateTime contains minutes and seconds, then the minutes and seconds parts of anchorDateTime are ignored.
NoNo 01/01/000101/01/0001
offsetoffset Intervallo di tempo in base al quale l'inizio e la fine di tutte le sezioni dei set di dati vengono spostate.Timespan by which the start and end of all dataset slices are shifted.

Notare che se si specifica sia anchorDateTime che offset, il risultato sarà lo spostamento combinato.Note that if both anchorDateTime and offset are specified, the result is the combined shift.
NoNo NDNA

Esempio di offsetoffset example

Per impostazione predefinita, le sezioni giornaliere ("frequency": "Day", "interval": 1) iniziano alle 00.00 (mezzanotte) UTC (Coordinated Universal Time).By default, daily ("frequency": "Day", "interval": 1) slices start at 12 AM (midnight) Coordinated Universal Time (UTC). Se, invece, si desidera impostare l'ora di inizio alle 06:00 UTC, impostare l'offset come illustrato nel frammento riportato di seguito:If you want the start time to be 6 AM UTC time instead, set the offset as shown in the following snippet:

"availability":
{
    "frequency": "Day",
    "interval": 1,
    "offset": "06:00:00"
}

Esempio di anchorDateTimeanchorDateTime example

Nell'esempio seguente, il set di dati viene prodotto ogni 23 ore.In the following example, the dataset is produced once every 23 hours. La prima sezione inizia all'ora specificata da anchorDateTime, che è impostata su 2017-04-19T08:00:00 (ora UTC).The first slice starts at the time specified by anchorDateTime, which is set to 2017-04-19T08:00:00 (UTC).

"availability":
{
    "frequency": "Hour",
    "interval": 23,
    "anchorDateTime":"2017-04-19T08:00:00"
}

Esempio di offset/styleoffset/style example

Il seguente set di dati è mensile e viene generato il giorno 3 di ogni mese alle ore 08:00 (3.08:00:00):The following dataset is monthly, and is produced on the 3rd of every month at 8:00 AM (3.08:00:00):

"availability": {
    "frequency": "Month",
    "interval": 1,
    "offset": "3.08:00:00", 
    "style": "StartOfInterval"
}

Criteri di set di datiDataset policy

La sezione policy nella definizione del set di dati stabilisce i criteri o la condizione che le sezioni del set di dati devono soddisfare.The policy section in the dataset definition defines the criteria or the condition that the dataset slices must fulfill.

Criteri di convalidaValidation policies

Nome criterioPolicy name DescrizioneDescription Applicato aApplied to ObbligatorioRequired DefaultDefault
minimumSizeMBminimumSizeMB Verifica che i dati presenti nell'archiviazione BLOB di Azure soddisfino i requisiti relativi alle dimensioni minime (in megabyte).Validates that the data in Azure Blob storage meets the minimum size requirements (in megabytes). Archivio BLOB di AzureAzure Blob storage NoNo NDNA
minimumRowsminimumRows Verifica che i dati in un database SQL di Azure o in una tabella di Azure contengano il numero minimo di righe.Validates that the data in an Azure SQL database or an Azure table contains the minimum number of rows.
  • Database SQL di AzureAzure SQL database
  • Tabella di AzureAzure table
NoNo NDNA

EsempiExamples

minimumSizeMB:minimumSizeMB:

"policy":

{
    "validation":
    {
        "minimumSizeMB": 10.0
    }
}

minimumRows:minimumRows:

"policy":
{
    "validation":
    {
        "minimumRows": 100
    }
}

Set di dati esterniExternal datasets

I set di dati esterni sono quelli non prodotti da una pipeline in esecuzione nella data factory.External datasets are the ones that are not produced by a running pipeline in the data factory. Se il set di dati è contrassegnato come external, è possibile definire i criteri di ExternalData in modo da influenzare il comportamento della disponibilità di sezioni dei set di dati.If the dataset is marked as external, the ExternalData policy may be defined to influence the behavior of the dataset slice availability.

A meno che non sia generato da Data Factory, il set di dati deve essere contrassegnato come external.Unless a dataset is being produced by Data Factory, it should be marked as external. Questa impostazione si applica in genere agli input della prima attività di una pipeline, a meno che non si usi il concatenamento di attività o di pipeline.This setting generally applies to the inputs of first activity in a pipeline, unless activity or pipeline chaining is being used.

NameName DescrizioneDescription ObbligatorioRequired Valore predefinitoDefault value
dataDelaydataDelay Tempo di ritardo del controllo della disponibilità dei dati esterni per la sezione specificata.The time to delay the check on the availability of the external data for the given slice. Ad esempio, è possibile ritardare un controllo orario usando questa impostazione.For example, you can delay an hourly check by using this setting.

Si applica solo all'ora corrente.The setting only applies to the present time. Ad esempio, se in questo momento sono le 13:00 e questo valore è di 10 minuti, la convalida inizia alle 13:10.For example, if it is 1:00 PM right now and this value is 10 minutes, the validation starts at 1:10 PM.

Si noti che questa impostazione non influisce sulle sezioni passate.Note that this setting does not affect slices in the past. Le sezioni con Slice End Time + dataDelay < Now vengono elaborate senza alcun ritardo.Slices with Slice End Time + dataDelay < Now are processed without any delay.

I valori orari superiori a 23:59 ore devono essere specificati nel formato day.hours:minutes:seconds.Times greater than 23:59 hours should be specified by using the day.hours:minutes:seconds format. Per specificare 24 ore, ad esempio, non usare 24:00:00.For example, to specify 24 hours, don't use 24:00:00. Usare invece 1.00:00:00.Instead, use 1.00:00:00. Il valore 24:00:00 viene considerato 24 giorni (24.00:00:00).If you use 24:00:00, it is treated as 24 days (24.00:00:00). Per 1 giorno e 4 ore, specificare 1:04:00:00.For 1 day and 4 hours, specify 1:04:00:00.
NoNo 00
retryIntervalretryInterval Tempo di attesa tra un errore e il tentativo successivo.The wait time between a failure and the next attempt. Questa impostazione si applica all'ora corrente.This setting applies to present time. Se il tentativo precedente ha avuto esito negativo, il tentativo successivo si avvia dopo il periodo retryInterval.If the previous try failed, the next try is after the retryInterval period.

Se in questo momento sono le 13:00, viene avviato il primo tentativo.If it is 1:00 PM right now, we begin the first try. Se la durata per completare il primo controllo di convalida è 1 minuto e l'operazione non è riuscita, il tentativo successivo è alle 13:00 + 1 min (durata) + 1 min (intervallo tentativi) = 13:02.If the duration to complete the first validation check is 1 minute and the operation failed, the next retry is at 1:00 + 1min (duration) + 1min (retry interval) = 1:02 PM.

Per le sezioni passate, non si verifica alcun ritardo.For slices in the past, there is no delay. La ripetizione avviene immediatamente.The retry happens immediately.
NoNo 00:01:00 (1 minute)00:01:00 (1 minute)
retryTimeoutretryTimeout Timeout per ogni nuovo tentativo.The timeout for each retry attempt.

Se questa proprietà è impostata su 10 minuti, la convalida deve essere completata entro 10 minuti.If this property is set to 10 minutes, the validation should be completed within 10 minutes. Se sono necessari più di 10 minuti per eseguire la convalida, il tentativo viene sospeso.If it takes longer than 10 minutes to perform the validation, the retry times out.

Se tutti i tentativi per la convalida raggiungono il timeout, la sezione viene contrassegnata come TimedOut.If all attempts for the validation time out, the slice is marked as TimedOut.
NoNo 00:10:00 (10 minutes)00:10:00 (10 minutes)
maximumRetrymaximumRetry Numero di tentativi di controllo della disponibilità dei dati esterni.The number of times to check for the availability of the external data. Il valore massimo consentito è 10.The maximum allowed value is 10. NoNo 33

Creare set di datiCreate datasets

È possibile creare set di dati usando uno di questi strumenti o SDK:You can create datasets by using one of these tools or SDKs:

  • Copia guidataCopy Wizard
  • Visual StudioVisual Studio
  • PowerShellPowerShell
  • Modello di Azure Resource ManagerAzure Resource Manager template
  • API RESTREST API
  • API .NET.NET API

Vedere le esercitazioni seguenti per istruzioni dettagliate sulla creazione di pipeline e set di dati usando uno di questi strumenti o SDK:See the following tutorials for step-by-step instructions for creating pipelines and datasets by using one of these tools or SDKs:

Dopo aver creato e distribuito una pipeline, è possibile gestire e monitorare le pipeline usando i pannelli del portale di Azure o l'app di gestione e monitoraggio.After a pipeline is created and deployed, you can manage and monitor your pipelines by using the Azure portal blades, or the Monitoring and Management app. Vedere gli argomenti seguenti per le istruzioni dettagliate:See the following topics for step-by-step instructions:

Set di dati con ambitoScoped datasets

È possibile creare set di dati con ambito limitato a una pipeline usando la proprietà datasets .You can create datasets that are scoped to a pipeline by using the datasets property. Questi set di dati possono essere usati solo dalle attività all'interno di questa pipeline, non da quelle in altre pipeline.These datasets can only be used by activities within this pipeline, not by activities in other pipelines. L'esempio seguente definisce una pipeline con due set di dati, InputDataset-rdc e OutputDataset-rdc, da usare all'interno della pipeline.The following example defines a pipeline with two datasets (InputDataset-rdc and OutputDataset-rdc) to be used within the pipeline.

Importante

I set di dati con ambito sono supportati solo con le pipeline monouso, in cui pipelineMode è impostata su OneTime.Scoped datasets are supported only with one-time pipelines (where pipelineMode is set to OneTime). Per i dettagli vedere Pipeline monouso .See Onetime pipeline for details.

{
    "name": "CopyPipeline-rdc",
    "properties": {
        "activities": [
            {
                "type": "Copy",
                "typeProperties": {
                    "source": {
                        "type": "BlobSource",
                        "recursive": false
                    },
                    "sink": {
                        "type": "BlobSink",
                        "writeBatchSize": 0,
                        "writeBatchTimeout": "00:00:00"
                    }
                },
                "inputs": [
                    {
                        "name": "InputDataset-rdc"
                    }
                ],
                "outputs": [
                    {
                        "name": "OutputDataset-rdc"
                    }
                ],
                "scheduler": {
                    "frequency": "Day",
                    "interval": 1,
                    "style": "StartOfInterval"
                },
                "name": "CopyActivity-0"
            }
        ],
        "start": "2016-02-28T00:00:00Z",
        "end": "2016-02-28T00:00:00Z",
        "isPaused": false,
        "pipelineMode": "OneTime",
        "expirationTime": "15.00:00:00",
        "datasets": [
            {
                "name": "InputDataset-rdc",
                "properties": {
                    "type": "AzureBlob",
                    "linkedServiceName": "InputLinkedService-rdc",
                    "typeProperties": {
                        "fileName": "emp.txt",
                        "folderPath": "adftutorial/input",
                        "format": {
                            "type": "TextFormat",
                            "rowDelimiter": "\n",
                            "columnDelimiter": ","
                        }
                    },
                    "availability": {
                        "frequency": "Day",
                        "interval": 1
                    },
                    "external": true,
                    "policy": {}
                }
            },
            {
                "name": "OutputDataset-rdc",
                "properties": {
                    "type": "AzureBlob",
                    "linkedServiceName": "OutputLinkedService-rdc",
                    "typeProperties": {
                        "fileName": "emp.txt",
                        "folderPath": "adftutorial/output",
                        "format": {
                            "type": "TextFormat",
                            "rowDelimiter": "\n",
                            "columnDelimiter": ","
                        }
                    },
                    "availability": {
                        "frequency": "Day",
                        "interval": 1
                    },
                    "external": false,
                    "policy": {}
                }
            }
        ]
    }
}

Passaggi successiviNext steps