Jeux de données dans Azure Data FactoryDatasets in Azure Data Factory

Notes

Cet article s’applique à la version 1 de Data Factory.This article applies to version 1 of Data Factory. Si vous utilisez la version actuelle du service Data Factory, consultez Jeux de données dans V2.If you are using the current version of the Data Factory service, see Datasets in V2.

Cet article décrit les jeux de données, comment ils sont définis au format JSON et comment ils sont utilisés dans les pipelines d’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. Il fournit des détails sur chaque section (par exemple, structure, disponibilité et stratégie) dans la définition JSON du jeu de données.It provides details about each section (for example, structure, availability, and policy) in the dataset JSON definition. Cet article fournit également des exemples d’utilisation des propriétés offset, anchorDateTime et style dans une définition JSON de jeu de données.The article also provides examples for using the offset, anchorDateTime, and style properties in a dataset JSON definition.

Notes

Si vous débutez avec Data Factory, consultez Présentation d’Azure Data Factory pour obtenir une vue d’ensemble.If you are new to Data Factory, see Introduction to Azure Data Factory for an overview. Si vous n’avez pas d’expérience pratique de la création de fabriques de données, vous pouvez obtenir une meilleure compréhension en lisant le tutoriel de transformation des données et le tutoriel de déplacement des données.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.

Vue d'ensembleOverview

Une fabrique de données peut avoir un ou plusieurs pipelines.A data factory can have one or more pipelines. Un pipeline constitue un regroupement logique d’activités qui exécutent ensemble une tâche.A pipeline is a logical grouping of activities that together perform a task. Les activités d’un pipeline définissent les actions à effectuer sur les données.The activities in a pipeline define actions to perform on your data. Par exemple, vous pouvez utiliser une activité de copie pour copier des données d’un serveur SQL Server local vers un stockage Blob Azure.For example, you might use a copy activity to copy data from an on-premises SQL Server to Azure Blob storage. Ensuite, vous pouvez utiliser une activité Hive qui exécute un script Hive sur un cluster Azure HDInsight pour traiter les données du stockage Blob afin de produire des données de sortie.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. Enfin, vous pouvez utiliser une deuxième activité de copie pour copier les données de sortie dans Azure SQL Data Warehouse sur lequel des solutions de génération de rapports décisionnelles sont développées.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. Pour plus d’informations sur les pipelines et les activités, voir Pipelines et activités dans Azure Data Factory.For more information about pipelines and activities, see Pipelines and activities in Azure Data Factory.

Une activité peut inclure zéro ou plusieurs jeux de données d’entrée et produire un ou plusieurs jeux de données de sortie.An activity can take zero or more input datasets, and produce one or more output datasets. Un jeu de données d’entrée représente l’entrée d’une activité dans le pipeline, tandis qu’un jeu de données de sortie représente la sortie de l’activité.An input dataset represents the input for an activity in the pipeline, and an output dataset represents the output for the activity. Les jeux de données identifient les données dans différents magasins de données, par exemple des tables, des fichiers, des dossiers et des documents.Datasets identify data within different data stores, such as tables, files, folders, and documents. Par exemple, un jeu de données d’objets Blob Azure spécifie le conteneur et le dossier du stockage Blob à partir duquel le pipeline doit lire les données.For example, an Azure Blob dataset specifies the blob container and folder in Blob storage from which the pipeline should read the data.

Avant de créer un jeu de données, créez un service lié pour lier votre magasin de données à la fabrique de données.Before you create a dataset, create a linked service to link your data store to the data factory. Les services liés ressemblent à des chaînes de connexion. Ils définissent les informations de connexion nécessaires à Data Factory pour se connecter à des ressources externes.Linked services are much like connection strings, which define the connection information needed for Data Factory to connect to external resources. Les jeux de données identifient données dans les magasins de données liés, par exemple des tables SQL, des fichiers, des dossiers et des documents.Datasets identify data within the linked data stores, such as SQL tables, files, folders, and documents. Par exemple, un service lié de stockage Azure relie un compte de stockage à la fabrique de données.For example, an Azure Storage linked service links a storage account to the data factory. Un jeu de données blob Azure représente le conteneur d’objets blob et le dossier qui contient les objets blob d’entrée à traiter.An Azure Blob dataset represents the blob container and the folder that contains the input blobs to be processed.

Voici un exemple de scénario.Here is a sample scenario. Pour copier des données du stockage Blob vers une base de données SQL, vous devez créer deux services liés : Stockage Azure et Azure SQL Database.To copy data from Blob storage to a SQL database, you create two linked services: Azure Storage and Azure SQL Database. Créez ensuite deux jeux de données : le jeu de données d’objets blob Azure (qui fait référence au service lié Stockage Azure) et le jeu de données de table SQL Azure (qui fait référence au service lié Azure SQL Database).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). Les services liés Stockage Azure et Azure SQL Database contiennent des chaînes de connexion utilisées par la fabrique de données pendant l’exécution pour se connecter à votre instance Stockage Azure et Azure SQL Database, respectivement.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. Le jeu de données d’objets blob Azure spécifie le conteneur d’objets blob et le dossier d’objets blob qui contient les objets blob d’entrée dans votre stockage Blob.The Azure Blob dataset specifies the blob container and blob folder that contains the input blobs in your Blob storage. Le jeu de données de table SQL Azure spécifie la table SQL dans votre base de données SQL dans laquelle les données doivent être copiées.The Azure SQL Table dataset specifies the SQL table in your SQL database to which the data is to be copied.

Le diagramme suivant montre la relation entre le pipeline, l’activité, le jeu de données et le service lié dans la fabrique de données :The following diagram shows the relationships among pipeline, activity, dataset, and linked service in Data Factory:

Relation entre le pipeline, l’activité, le jeu de données et les services liés

Jeu de données JSONDataset JSON

Un jeu de données dans la fabrique de données est défini au format JSON comme suit :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 table suivante décrit les propriétés dans le JSON ci-dessus :The following table describes properties in the above JSON:

PropriétéProperty DescriptionDescription ObligatoireRequired DefaultDefault
namename Nom du jeu de donnéesName of the dataset. Pour connaître les règles d’affectation des noms, voir Azure Data Factory - Règles d’affectation des noms.See Azure Data Factory - Naming rules for naming rules. OUIYes N/DNA
typetype Type du jeu de données.Type of the dataset. Spécifiez l’un des types pris en charge par la fabrique de données (par exemple : AzureBlob, AzureSqlTable).Specify one of the types supported by Data Factory (for example: AzureBlob, AzureSqlTable).

Pour plus d’informations, consultez Type du jeu de données.For details, see Dataset type.
OUIYes N/DNA
structurestructure Schéma du jeu de données.Schema of the dataset.

Pour plus d’informations, consultez Structure d’un jeu de données.For details, see Dataset structure.
NonNo N/DNA
typePropertiestypeProperties Les propriétés de type sont différentes pour chaque type (par exemple : objet blob Azure, table SQL Azure).The type properties are different for each type (for example: Azure Blob, Azure SQL table). Pour plus d’informations sur les types pris en charge et leurs propriétés, consultez Type du jeu de données.For details on the supported types and their properties, see Dataset type. OUIYes N/DNA
externalexternal Indicateur booléen pour indiquer si un jeu de données est explicitement généré par un pipeline de fabrique de données ou non.Boolean flag to specify whether a dataset is explicitly produced by a data factory pipeline or not. Si le jeu de données d’entrée d’une activité n’est pas produit par le pipeline actuel, définissez cet indicateur sur true.If the input dataset for an activity is not produced by the current pipeline, set this flag to true. Définissez cet indicateur sur true pour le jeu de données d’entrée de la première activité dans le pipeline.Set this flag to true for the input dataset of the first activity in the pipeline. NonNo falsefalse
availabilityavailability Définit la fenêtre de traitement (par exemple, horaire ou journalier) ou le modèle de découpage pour la production du jeu de données.Defines the processing window (for example, hourly or daily) or the slicing model for the dataset production. Chaque unité de données consommée et produite pendant l’exécution d’une activité est appelée tranche de données.Each unit of data consumed and produced by an activity run is called a data slice. Si la disponibilité d’un jeu de données de sortie est journalière (fréquence : Day, intervalle : 1), une tranche est produite chaque jour.If the availability of an output dataset is set to daily (frequency - Day, interval - 1), a slice is produced daily.

Pour plus d’informations, consultez Disponibilité du jeu de données.For details, see Dataset availability.

Pour plus d’informations sur le modèle de découpage du jeu de données, consultez l’article Planification et exécution.For details on the dataset slicing model, see the Scheduling and execution article.
OUIYes N/DNA
policypolicy Définit les critères ou la condition que les segments du jeu de données doivent remplir.Defines the criteria or the condition that the dataset slices must fulfill.

Pour plus d’informations, consultez la section Stratégie du jeu de données.For details, see the Dataset policy section.
NonNo N/DNA

Exemple de jeu de donnéesDataset example

Dans l’exemple suivant, le jeu de données représente une table nommée MyTable dans une base de données 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
        }
    }
}

Notez les points suivants :Note the following points:

  • type est défini sur AzureSQLTable.type is set to AzureSqlTable.
  • La propriété de type tableName (propre au type AzureSqlTable) est définie sur MyTable.tableName type property (specific to AzureSqlTable type) is set to MyTable.
  • linkedServiceName fait référence à un service lié de type AzureSqlDatabase, qui est défini dans l’extrait de code JSON suivant.linkedServiceName refers to a linked service of type AzureSqlDatabase, which is defined in the next JSON snippet.
  • fréquence de disponibilité est défini sur Jour, et intervalle est défini sur 1.availability frequency is set to Day, and interval is set to 1. Cela signifie que la tranche de jeu de données est générée tous les jours.This means that the dataset slice is produced daily.

AzureSqlLinkedService est défini comme suit :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"
        }
    }
}

Dans l’extrait de code JSON précédent :In the preceding JSON snippet:

  • type est défini sur AzureSqlDatabase.type is set to AzureSqlDatabase.
  • La propriété de type connectionString spécifie les informations nécessaires pour vous connecter à une base de données SQL.connectionString type property specifies information to connect to a SQL database.

Comme vous pouvez le voir, le service lié définit la façon de se connecter à une base de données SQL.As you can see, the linked service defines how to connect to a SQL database. Le jeu de données définit quelle table est utilisée comme entrée et sortie de l’activité dans un pipeline.The dataset defines what table is used as an input and output for the activity in a pipeline.

Important

À moins qu’un jeu de données ne soit généré par le pipeline, il doit être marqué comme external (externe).Unless a dataset is being produced by the pipeline, it should be marked as external. Ce paramètre s’applique généralement aux entrées de la première activité d’un pipeline.This setting generally applies to inputs of first activity in a pipeline.

Type du jeu de donnéesDataset type

Le type du jeu de données dépend du magasin de données que vous utilisez.The type of the dataset depends on the data store you use. Consultez le tableau suivant pour obtenir la liste des magasins de données pris en charge par Data Factory.See the following table for a list of data stores supported by Data Factory. Cliquez sur un magasin de données pour savoir comment créer un service lié et un jeu de données pour ce magasin de données.Click a data store to learn how to create a linked service and a dataset for that data store.

CatégorieCategory Banque de donnéesData store Prise en charge en tant que sourceSupported as a source Prise en charge en tant que récepteurSupported as a sink
Microsoft AzureAzure stockage d’objets blob AzureAzure Blob storage
  Azure Cosmos DB (API SQL)Azure Cosmos DB (SQL API)
  Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
  Azure SQL DatabaseAzure SQL Database
  Azure SQL Data WarehouseAzure SQL Data Warehouse
  Index Recherche AzureAzure Search Index
  Stockage Table AzureAzure Table storage
Bases de donnéesDatabases 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
  Système de fichiers*File System*
  FTPFTP
  HDFS*HDFS*
  SFTPSFTP
AutresOthers HTTP génériqueGeneric HTTP
  OData génériqueGeneric OData
  ODBC générique*Generic ODBC*
  SalesforceSalesforce
  Table web (table HTML)Web Table (table from HTML)

Notes

Les magasins de données avec * peuvent être locaux ou sur l’infrastructure Azure en tant que service (IaaS).Data stores with * can be on-premises or on Azure infrastructure as a service (IaaS). Ces magasins de données vous obligent à installer la passerelle de gestion des données.These data stores require you to install Data Management Gateway.

Dans l’exemple de la section précédente, le type du jeu de données est défini sur AzureSqlTable.In the example in the previous section, the type of the dataset is set to AzureSqlTable. De même, pour un jeu de données d’objets blob Azure, le type du jeu de données est défini sur AzureBlob, comme indiqué dans le JSON suivant :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": {}
    }
}

Structure d’un jeu de donnéesDataset structure

La section structure est facultative.The structure section is optional. Elle définit le schéma du jeu de données en contenant une collection de noms et de types de données de colonnes.It defines the schema of the dataset by containing a collection of names and data types of columns. Vous utilisez la section structure pour fournir des informations sur le type utilisé pour convertir les types et colonnes de mappage depuis la source vers la destination.You use the structure section to provide type information that is used to convert types and map columns from the source to the destination. Dans l’exemple suivant, le jeu de données comporte trois colonnes : slicetimestamp, projectname, et pageviews.In the following example, the dataset has three columns: slicetimestamp, projectname, and pageviews. Elles sont respectivement de type String, String et Decimal.They are of type String, String, and Decimal, respectively.

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

Chaque colonne de la structure contient les propriétés suivantes :Each column in the structure contains the following properties:

PropriétéProperty DescriptionDescription ObligatoireRequired
namename Nom de la colonne.Name of the column. OUIYes
typetype Type de données de la colonne.Data type of the column. NonNo
cultureculture Culture .NET à utiliser lorsque le type est un type .NET : Datetime ou Datetimeoffset..NET-based culture to be used when the type is a .NET type: Datetime or Datetimeoffset. Par défaut, il s’agit de en-us.The default is en-us. NonNo
formatformat Chaîne de format à utiliser lorsque le type est un type .NET : Datetime ou Datetimeoffset.Format string to be used when the type is a .NET type: Datetime or Datetimeoffset. NonNo

Les recommandations suivantes vous permettent de déterminer le moment auquel inclure les informations de structure et pour connaître les éléments à inclure dans la section structure.The following guidelines help you determine when to include structure information, and what to include in the structure section.

  • Pour les sources de données structurées, spécifiez la section structure uniquement si vous souhaitez mapper les colonnes sources aux colonnes du récepteur et que leurs noms ne sont pas identiques.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. Ce type de source de données structurées stocke les informations de schéma et de type de données, ainsi que les données elles-mêmes.This kind of structured data source stores data schema and type information along with the data itself. SQL Server, Oracle et la table Azure sont des exemples de sources de données structurées.Examples of structured data sources include SQL Server, Oracle, and Azure table.

    Comme les informations de type sont déjà disponibles pour les sources de données structurées, vous ne devez pas les inclure lorsque vous incluez la section structure.As type information is already available for structured data sources, you should not include type information when you do include the structure section.

  • Pour un schéma des sources de données de lecture (en particulier le stockage Blob) , vous pouvez choisir de stocker des données sans les informations de type ou de schéma.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. Pour ces types de sources de données, incluez la structure lorsque vous souhaitez mapper les colonnes sources aux colonnes de récepteur.For these types of data sources, include structure when you want to map source columns to sink columns. Incluez également la structure lorsque le jeu de données est une entrée d’une activité de copie et que les types de données du jeu de données source doivent être convertis en types natifs pour le récepteur.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 prend en charge les valeurs suivantes pour fournir des informations de type dans la structure : Int16, Int32, Int64, Single, Double, Decimal, Byte[], Boolean, String, Guid, Datetime, Datetimeoffset et 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. Ces valeurs sont des valeurs de type basées sur .NET compatibles avec la norme CLS (Common Language Specification).These values are Common Language Specification (CLS)-compliant, .NET-based type values.

Data Factory effectue automatiquement les conversions de type lorsque vous déplacez des données d’un magasin de données source vers un magasin de données récepteur.Data Factory automatically performs type conversions when moving data from a source data store to a sink data store.

Disponibilité du jeu de donnéesDataset availability

La section availability dans un jeu de données définit la fenêtre de traitement (par exemple, horaire, journalier ou hebdomadaire) du jeu de données.The availability section in a dataset defines the processing window (for example, hourly, daily, or weekly) for the dataset. Pour plus d’informations sur les fenêtres d’activité, voir Planification et exécution.For more information about activity windows, see Scheduling and execution.

La section availability suivante spécifie que le jeu de données de sortie est exécuté toutes les heures ou que le jeu de données d’entrée est disponible toutes les heures :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
}

Si le pipeline présente les heures de début et de fin suivantes :If the pipeline has the following start and end times:

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

Le jeu de données de sortie est généré toutes les heures dans la plage des heures de début et de fin du pipeline.The output dataset is produced hourly within the pipeline start and end times. Par conséquent, cinq tranches de jeu de données sont générées par ce pipeline, une pour chaque fenêtre d’activité (0 h - 1 h, 1 h - 2 h, 2 h - 3 h, 3 h - 4 h, 4 h - 5 h).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).

Le tableau suivant décrit les propriétés que vous pouvez utiliser dans la section availability :The following table describes properties you can use in the availability section:

PropriétéProperty DescriptionDescription ObligatoireRequired DefaultDefault
frequencyfrequency Spécifie l’unité de temps pour la production du segment du jeu de données.Specifies the time unit for dataset slice production.

Fréquence prise en charge : Minute, Hour, Day, Week, MonthSupported frequency: Minute, Hour, Day, Week, Month
OUIYes N/DNA
intervalinterval Spécifie un multiplicateur de fréquence.Specifies a multiplier for frequency.

« Frequency x interval » déterminent la fréquence à laquelle la tranche est produite."Frequency x interval" determines how often the slice is produced. Par exemple, si vous voulez des tranches de jeu de données d’une heure, définissez frequency sur Hour et interval sur 1.For example, if you need the dataset to be sliced on an hourly basis, you set frequency to Hour, and interval to 1.

Notez que si vous spécifiez frequency sur Minute, vous devez définir l’intervalle sur une valeur au minimum égale à 15.Note that if you specify frequency as Minute, you should set the interval to no less than 15.
OUIYes N/DNA
stylestyle Spécifie si le segment doit être généré au début ou à la fin de l’intervalle.Specifies whether the slice should be produced at the start or end of the interval.
  • StartOfIntervalStartOfInterval
  • EndOfIntervalEndOfInterval
Si frequency est défini sur Month et style défini sur EndOfInterval, le segment est généré le dernier jour du mois.If frequency is set to Month, and style is set to EndOfInterval, the slice is produced on the last day of month. Si style est défini sur StartOfInterval, le segment est généré le premier jour du mois.If style is set to StartOfInterval, the slice is produced on the first day of month.

Si frequency est défini sur Day et style est défini sur EndOfInterval, le segment est généré la dernière heure du jour.If frequency is set to Day, and style is set to EndOfInterval, the slice is produced in the last hour of the day.

Si frequency est défini sur Hour et style défini sur EndOfInterval, le segment est généré à la fin de l’heure.If frequency is set to Hour, and style is set to EndOfInterval, the slice is produced at the end of the hour. Par exemple, pour un segment de la période 13 h-14 h, le segment est généré à 14 h.For example, for a slice for the 1 PM - 2 PM period, the slice is produced at 2 PM.
NonNo EndOfIntervalEndOfInterval
anchorDateTimeanchorDateTime Définit la position absolue dans le temps utilisée par le planificateur pour calculer les limites de tranche de jeu de données.Defines the absolute position in time used by the scheduler to compute dataset slice boundaries.

Notez que si cette propriété comporte des éléments de date plus précis que la fréquence spécifiée, les éléments plus précis sont ignorés.Note that if this property has date parts that are more granular than the specified frequency, the more granular parts are ignored. Par exemple, si interval est hourly (frequency: hour et interval: 1), et que anchorDateTime contient minutes and seconds, les éléments minutes et seconds d’anchorDateTime sont ignorés.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.
NonNo 01/01/000101/01/0001
offsetoffset Intervalle de temps marquant le déplacement du début et de la fin de toutes les tranches du jeu de données.Timespan by which the start and end of all dataset slices are shifted.

Notez que si anchorDateTime et offset sont spécifiés, un décalage combiné est obtenu.Note that if both anchorDateTime and offset are specified, the result is the combined shift.
NonNo N/DNA

exemple offsetoffset example

Par défaut, les tranches quotidiennes ("frequency": "Day", "interval": 1) commencent à 12:00 (minuit), temps universel coordonné (UTC).By default, daily ("frequency": "Day", "interval": 1) slices start at 12 AM (midnight) Coordinated Universal Time (UTC). Si vous souhaitez que l’heure de début soit 6 h UTC, définissez le décalage comme indiqué dans l’extrait suivant :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"
}

Exemple anchorDateTimeanchorDateTime example

Dans l’exemple suivant, le jeu de données est généré toutes les 23 heures.In the following example, the dataset is produced once every 23 hours. La première tranche commence à l’heure spécifiée par anchorDateTime, qui est définie sur 2017-04-19T08:00:00 (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"
}

Exemple de décalage/styleoffset/style example

Le jeu de données suivant est mensuel et est généré le 3 de chaque mois à 8h00 (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"
}

Stratégie du jeu de donnéesDataset policy

La section policy dans la définition du jeu de données définit les critères ou la condition que les tranches du jeu de données doivent remplir.The policy section in the dataset definition defines the criteria or the condition that the dataset slices must fulfill.

Stratégies de validationValidation policies

Nom de la stratégiePolicy name DescriptionDescription Appliqué(e) àApplied to ObligatoireRequired DefaultDefault
minimumSizeMBminimumSizeMB Valide le fait que les données dans un stockage blob Azure répondent aux exigences de taille minimale (en mégaoctets).Validates that the data in Azure Blob storage meets the minimum size requirements (in megabytes). Stockage d'objets blob AzureAzure Blob storage NonNo N/DNA
minimumRowsminimumRows Valide le fait que les données dans une base de données Azure SQL ou une table Azure contiennent le nombre minimal de lignes.Validates that the data in an Azure SQL database or an Azure table contains the minimum number of rows.
  • Base de données Azure SQLAzure SQL database
  • Table AzureAzure table
NonNo N/DNA

ExemplesExamples

minimumSizeMB :minimumSizeMB:

"policy":

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

minimumRows :minimumRows:

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

Jeux de données externesExternal datasets

Les jeux de données externes sont ceux qui ne sont pas générés par un pipeline en cours d’exécution dans la fabrique de données.External datasets are the ones that are not produced by a running pipeline in the data factory. Si le jeu de données est marqué comme étant external, la stratégie ExternalData peut être définie de manière à influencer le comportement de disponibilité du segment du jeu de données.If the dataset is marked as external, the ExternalData policy may be defined to influence the behavior of the dataset slice availability.

À moins qu’un jeu de données ne soit généré par la fabrique de données, il doit être marqué comme external(externe).Unless a dataset is being produced by Data Factory, it should be marked as external. Ce paramètre s’applique généralement aux entrées de la première activité d’un pipeline, à moins que le chaînage des activités ou pipelines ne soit utilisé.This setting generally applies to the inputs of first activity in a pipeline, unless activity or pipeline chaining is being used.

nameName DescriptionDescription ObligatoireRequired Valeur par défautDefault value
dataDelaydataDelay Durée du délai de la vérification de la disponibilité des données externes pour la tranche donnée.The time to delay the check on the availability of the external data for the given slice. Par exemple, vous pouvez retarder une vérification de toutes les heures à l’aide de ce paramètre.For example, you can delay an hourly check by using this setting.

Le paramètre s’applique uniquement à l’heure actuelle.The setting only applies to the present time. Par exemple, s’il est 13 h et si cette valeur est de 10 minutes, la validation commence à 13 h 10.For example, if it is 1:00 PM right now and this value is 10 minutes, the validation starts at 1:10 PM.

Notez que ce paramètre n’affecte pas les tranches du passé.Note that this setting does not affect slices in the past. Les tranches avec Slice End Time + dataDelay < Now sont traitées sans aucun délai.Slices with Slice End Time + dataDelay < Now are processed without any delay.

Les heures supérieures à 23:59 doivent être spécifiées à l’aide du format day.hours:minutes:seconds.Times greater than 23:59 hours should be specified by using the day.hours:minutes:seconds format. Par exemple, pour spécifier 24 heures, n’utilisez pas 24:00:00.For example, to specify 24 hours, don't use 24:00:00. Utilisez plutôt 1.00:00:00.Instead, use 1.00:00:00. Si vous utilisez 24:00:00, cette valeur est traitée comme 24 jours (24.00:00:00).If you use 24:00:00, it is treated as 24 days (24.00:00:00). Pour 1 jour et 4 heures, spécifiez 1:04:00:00.For 1 day and 4 hours, specify 1:04:00:00.
NonNo 00
retryIntervalretryInterval Délai d'attente entre un échec et la tentative suivante.The wait time between a failure and the next attempt. Ce paramètre s’applique à l’heure actuelle.This setting applies to present time. Si la tentative précédente a échoué, la tentative suivante est effectuée après la période retryInterval.If the previous try failed, the next try is after the retryInterval period.

S’il est 13 h actuellement, la première tentative commence.If it is 1:00 PM right now, we begin the first try. Si la durée de la première vérification de validation est de 1 minute et si l’opération a échoué, la tentative suivante aura lieu à 13h + 1 min (durée) + 1 minute (intervalle avant nouvelle tentative) = 13 h 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.

Pour les segments dans le passé, il n’y a aucun délai.For slices in the past, there is no delay. La nouvelle tentative se fait immédiatement.The retry happens immediately.
NonNo 00:01:00 (1 minute)00:01:00 (1 minute)
retryTimeoutretryTimeout Délai d’attente pour chaque nouvelle tentative.The timeout for each retry attempt.

Si la propriété est définie sur 10 minutes, la validation doit être effectuée en 10 minutes maximum.If this property is set to 10 minutes, the validation should be completed within 10 minutes. S’il faut plus de 10 minutes pour effectuer la validation, la nouvelle tentative expire.If it takes longer than 10 minutes to perform the validation, the retry times out.

Si toutes les tentatives de validation expirent, la tranche est marquée comme TimedOut.If all attempts for the validation time out, the slice is marked as TimedOut.
NonNo 00:10:00 (10 minutes)00:10:00 (10 minutes)
maximumRetrymaximumRetry Nombre de fois où la disponibilité des données externes est vérifiée.The number of times to check for the availability of the external data. La valeur maximale autorisée correspond à 10.The maximum allowed value is 10. NonNo 33

Créez les jeux de donnéesCreate datasets

Vous pouvez créer des jeux de données à l’aide de l’un de ces outils ou kits de développement logiciel (SDK) :You can create datasets by using one of these tools or SDKs:

  • Assistant de copieCopy Wizard
  • Visual StudioVisual Studio
  • PowerShellPowerShell
  • Modèle Azure Resource ManagerAzure Resource Manager template
  • API RESTREST API
  • API .NET.NET API

Consultez les tutoriels suivants pour obtenir des instructions pas à pas sur la création de pipelines et de jeux de données à l’aide de l’un de ces outils ou kits de développement logiciel (SDK) :See the following tutorials for step-by-step instructions for creating pipelines and datasets by using one of these tools or SDKs:

Une fois qu’un pipeline est créé et déployé, vous pouvez gérer et surveiller les pipelines à l’aide des panneaux du portail Azure ou de l’application de surveillance et de gestion.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. Pour des instructions pas à pas, consultez les rubriques suivantes :See the following topics for step-by-step instructions:

Étendue des jeux de donnéesScoped datasets

Vous pouvez créer des jeux de données étendus jusqu’à un pipeline à l’aide de la propriété datasets .You can create datasets that are scoped to a pipeline by using the datasets property. Ces jeux de données peuvent uniquement être utilisés par les activités dans ce pipeline, et non pas par les activités d’autres pipelines.These datasets can only be used by activities within this pipeline, not by activities in other pipelines. L’exemple suivant définit un pipeline avec deux jeux de données à utiliser dans le pipeline (InputDataset-rdc et OutputDataset-rdc).The following example defines a pipeline with two datasets (InputDataset-rdc and OutputDataset-rdc) to be used within the pipeline.

Important

Les étendues des jeux de données sont uniquement prises en charge avec les pipelines à usage unique (où pipelineMode défini sur OneTime).Scoped datasets are supported only with one-time pipelines (where pipelineMode is set to OneTime). Pour plus d’informations, consultez Pipeline onetime .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": {}
                }
            }
        ]
    }
}

Étapes suivantesNext steps