Azure Data Factory のパイプラインとアクティビティPipelines and activities in Azure Data Factory

この記事では、Azure Data Factory のパイプラインとアクティビティの概要、およびそれらを利用して、データ移動シナリオやデータ処理シナリオ用のエンド ツー エンドのデータ主導ワークフローを作成する方法について説明します。This article helps you understand pipelines and activities in Azure Data Factory and use them to construct end-to-end data-driven workflows for your data movement and data processing scenarios.

概要Overview

データ ファクトリは、1 つまたは複数のパイプラインを持つことができます。A data factory can have one or more pipelines. パイプラインは、1 つのタスクを連携して実行するアクティビティの論理的なグループです。A pipeline is a logical grouping of activities that together perform a task. たとえば、ログ データを取り込んでクリーニングしてから、マッピング データ フローを開始してそのログ データを分析するアクティビティのセットをパイプラインに組み込むこともできます。For example, a pipeline could contain a set of activities that ingest and clean log data, and then kick off a mapping data flow to analyze the log data. パイプラインを使用すると、各アクティビティを個別に管理するのではなく、セットとして管理できます。The pipeline allows you to manage the activities as a set instead of each one individually. デプロイとスケジュール設定を、アクティビティごとではなく、パイプライン単位で行うことができます。You deploy and schedule the pipeline instead of the activities independently.

パイプライン内の複数のアクティビティは、データに対して実行するアクションを定義します。The activities in a pipeline define actions to perform on your data. たとえば、コピー アクティビティを使用して、オンプレミス SQL Server から Azure Blob Storage にデータをコピーできます。For example, you may use a copy activity to copy data from an on-premises SQL Server to an Azure Blob Storage. 次に、データ フロー アクティビティまたは Databricks Notebook アクティビティを使用して、BLOB ストレージから、ビジネス インテリジェンス レポート ソリューションが構築された Azure Synapse Analytics プールにデータを処理して変換します。Then, use a data flow activity or a Databricks Notebook activity to process and transform data from the blob storage to an Azure Synapse Analytics pool on top of which business intelligence reporting solutions are built.

Data Factory では、データ移動アクティビティデータ変換アクティビティ制御アクティビティの 3 種類のアクティビティ グループがあります。Data Factory has three groupings of activities: data movement activities, data transformation activities, and control activities. アクティビティは 0 個以上の入力データセットを受け取り、1 個以上の出力データセットを生成できます。An activity can take zero or more input datasets and produce one or more output datasets. 次の図は、Data Factory でのパイプライン、アクティビティ、データセットの関係を示しています。The following diagram shows the relationship between pipeline, activity, and dataset in Data Factory:

データセット、アクティビティ、パイプラインの関係

入力データセットはパイプラインのアクティビティの入力を表し、出力データセットはアクティビティの出力を表します。An input dataset represents the input for an activity in the pipeline and an output dataset represents the output for the activity. データセットは、テーブル、ファイル、フォルダー、ドキュメントなど、さまざまなデータ ストア内のデータを示します。Datasets identify data within different data stores, such as tables, files, folders, and documents. 作成したデータセットは、パイプライン内のアクティビティで使用できます。After you create a dataset, you can use it with activities in a pipeline. たとえば、データセットはコピー アクティビティまたは HDInsightHive アクティビティの入力/出力データセットとして使用できます。For example, a dataset can be an input/output dataset of a Copy Activity or an HDInsightHive Activity. データセットの詳細については、「Azure Data Factory のデータセット」の記事を参照してください。For more information about datasets, see Datasets in Azure Data Factory article.

データ移動アクティビティData movement activities

Data Factory のコピー アクティビティは、ソース データ ストアからシンク データ ストアにデータをコピーします。Copy Activity in Data Factory copies data from a source data store to a sink data store. Data Factory は、このセクションの表に挙げられているデータ ストアをサポートしています。Data Factory supports the data stores listed in the table in this section. また、任意のソースのデータを任意のシンクに書き込むことができます。Data from any source can be written to any sink. データ ストアをクリックすると、そのストアとの間でデータをコピーする方法がわかります。Click a data store to learn how to copy data to and from that store.

CategoryCategory データ ストアData store ソースとしてサポートSupported as a source シンクとしてサポートSupported as a sink Azure IR がサポートSupported by Azure IR セルフホステッド IR がサポートSupported by self-hosted IR
AzureAzure Azure BLOB StorageAzure Blob storage
  Azure Cosmos DB (SQL API)Azure Cosmos DB (SQL API)
  Azure Cosmos DB の MongoDB 用 APIAzure Cosmos DB's API for MongoDB
  Azure Data ExplorerAzure Data Explorer
  Azure Data Lake Storage Gen1Azure Data Lake Storage Gen1
  Azure Data Lake Storage Gen2Azure Data Lake Storage Gen2
  Azure Database for MariaDBAzure Database for MariaDB
  Azure Database for MySQLAzure Database for MySQL
  Azure Database for PostgreSQLAzure Database for PostgreSQL
  Azure File StorageAzure File Storage
  Azure SQL DatabaseAzure SQL Database
  Azure SQL Database マネージド インスタンスAzure SQL Database Managed Instance
  Azure SQL Data WarehouseAzure SQL Data Warehouse
  Azure Cognitive Search インデックスAzure Cognitive Search index
  Azure Table StorageAzure Table storage
データベースDatabase Amazon RedshiftAmazon Redshift
  DB2DB2
  DrillDrill
  Google BigQueryGoogle BigQuery
  GreenplumGreenplum
  HBaseHBase
  HiveHive
  Apache ImpalaApache Impala
  InformixInformix
  MariaDBMariaDB
  Microsoft AccessMicrosoft Access
  MySQLMySQL
  NetezzaNetezza
  OracleOracle
  PhoenixPhoenix
  PostgreSQLPostgreSQL
  Presto (プレビュー)Presto (Preview)
  Open Hub を介した SAP Business WarehouseSAP Business Warehouse via Open Hub
  MDX を介した SAP Business WarehouseSAP Business Warehouse via MDX
  SAP HANASAP HANA
  SAP テーブルSAP table
  SparkSpark
  SQL ServerSQL Server
  SybaseSybase
  TeradataTeradata
  VerticaVertica
NoSQLNoSQL CassandraCassandra
  Couchbase (プレビュー)Couchbase (Preview)
  MongoDBMongoDB
ファイルFile Amazon S3Amazon S3
  ファイル システムFile system
  FTPFTP
  Google Cloud StorageGoogle Cloud Storage
  HDFSHDFS
  SFTPSFTP
汎用プロトコルGeneric protocol 汎用 HTTPGeneric HTTP
  汎用 ODataGeneric OData
  汎用 ODBCGeneric ODBC
  汎用 RESTGeneric REST
サービスとアプリServices and apps Amazon Marketplace Web ServiceAmazon Marketplace Web Service
  Common Data ServiceCommon Data Service
  Concur (プレビュー)Concur (Preview)
  Dynamics 365Dynamics 365
  Dynamics AXDynamics AX
  Dynamics CRMDynamics CRM
  Google AdWordsGoogle AdWords
  HubSpot (プレビュー)HubSpot (Preview)
  JiraJira
  Magento (プレビュー)Magento (Preview)
  Marketo (プレビュー)Marketo (Preview)
  Office 365Office 365
  Oracle Eloqua (プレビュー)Oracle Eloqua (Preview)
  Oracle Responsys (プレビュー)Oracle Responsys (Preview)
  Oracle Service Cloud (プレビュー)Oracle Service Cloud (Preview)
  PayPal (プレビュー)PayPal (Preview)
  QuickBooks (プレビュー)QuickBooks (Preview)
  SalesforceSalesforce
  Salesforce Service CloudSalesforce Service Cloud
  Salesforce Marketing CloudSalesforce Marketing Cloud
  SAP Cloud for Customer (C4C)SAP Cloud for Customer (C4C)
  SAP ECCSAP ECC
  ServiceNowServiceNow
  Shopify (プレビュー)Shopify (Preview)
  Square (プレビュー)Square (Preview)
  Web テーブル (HTML テーブル)Web table (HTML table)
  XeroXero
  Zoho (プレビュー)Zoho (Preview)

注意

"プレビュー" と記載されたコネクタは試用版です。フィードバックをお寄せください。If a connector is marked Preview, you can try it out and give us feedback. ソリューションでプレビュー版コネクタの依存関係を取得したい場合、Azure サポートにお問い合わせください。If you want to take a dependency on preview connectors in your solution, contact Azure support.

詳細については、「Copy Activity - Overview (コピー アクティビティの概要)」を参照してください。For more information, see Copy Activity - Overview article.

データ変換アクティビティData transformation activities

Azure Data Factory は、次の変換アクティビティをサポートしています。これらのアクティビティは、個別または他のアクティビティと連結した状態でパイプラインに追加できます。Azure Data Factory supports the following transformation activities that can be added to pipelines either individually or chained with another activity.

データ変換アクティビティData transformation activity Compute 環境Compute environment
[データ フロー]Data Flow Azure Data Factory によって管理される Azure DatabricksAzure Databricks managed by Azure Data Factory
Azure 関数Azure Function Azure FunctionsAzure Functions
HiveHive HDInsight [Hadoop]HDInsight [Hadoop]
PigPig HDInsight [Hadoop]HDInsight [Hadoop]
MapReduceMapReduce HDInsight [Hadoop]HDInsight [Hadoop]
Hadoop ストリーミングHadoop Streaming HDInsight [Hadoop]HDInsight [Hadoop]
SparkSpark HDInsight [Hadoop]HDInsight [Hadoop]
Machine Learning アクティビティ:バッチ実行とリソースの更新Machine Learning activities: Batch Execution and Update Resource Azure VMAzure VM
ストアド プロシージャStored Procedure Azure SQL、Azure SQL Data Warehouse、または SQL ServerAzure SQL, Azure SQL Data Warehouse, or SQL Server
U-SQLU-SQL Azure Data Lake AnalyticsAzure Data Lake Analytics
カスタム アクティビティCustom Activity Azure BatchAzure Batch
Databricks NotebookDatabricks Notebook Azure DatabricksAzure Databricks
Databricks Jar アクティビティDatabricks Jar Activity Azure DatabricksAzure Databricks
Databricks Python アクティビティDatabricks Python Activity Azure DatabricksAzure Databricks

詳細については、データ変換アクティビティに関する記事を参照してください。For more information, see the data transformation activities article.

制御フロー アクティビティControl flow activities

次の制御フロー アクティビティがサポートされています。The following control flow activities are supported:

制御アクティビティControl activity 説明Description
変数の追加Append Variable 既存の配列変数に値を追加します。Add a value to an existing array variable.
パイプラインの実行Execute Pipeline パイプラインの実行アクティビティを使用すると、Data Factory の 1 つのパイプラインから別のパイプラインを呼び出すことができます。Execute Pipeline activity allows a Data Factory pipeline to invoke another pipeline.
FilterFilter 入力配列にフィルター式を適用しますApply a filter expression to an input array
For EachFor Each ForEach アクティビティは、パイプライン内の繰り返し制御フローを定義します。ForEach Activity defines a repeating control flow in your pipeline. このアクティビティは、コレクションを反復処理するために使用され、指定されたアクティビティをループで実行します。This activity is used to iterate over a collection and executes specified activities in a loop. このアクティビティのループの実装は、プログラミング言語の Foreach ループ構造に似ています。The loop implementation of this activity is similar to Foreach looping structure in programming languages.
メタデータの取得Get Metadata GetMetadata アクティビティを使用すると、Azure Data Factory で任意のデータのメタデータを取得できます。GetMetadata activity can be used to retrieve metadata of any data in Azure Data Factory.
If Condition アクティビティIf Condition Activity If Condition は、true または false として評価される条件に基づき分岐を行うために使用できます。The If Condition can be used to branch based on condition that evaluates to true or false. If Condition アクティビティは、プログラミング言語における if ステートメントと同じ働きを持ちます。The If Condition activity provides the same functionality that an if statement provides in programming languages. 条件が true に評価されたときの一連のアクティビティと false に評価されたときの一連のアクティビティが評価されます。It evaluates a set of activities when the condition evaluates to true and another set of activities when the condition evaluates to false.
ルックアップ アクティビティLookup Activity ルックアップ アクティビティを使用して、任意の外部ソースからレコード/テーブル名/値を読み取ったり検索したりできます。Lookup Activity can be used to read or look up a record/ table name/ value from any external source. この出力は、後続のアクティビティによってさらに参照できます。This output can further be referenced by succeeding activities.
変数の設定Set Variable 既存の変数の値を設定します。Set the value of an existing variable.
Until アクティビティUntil Activity プログラミング言語の Do-Until ループ構造に似た Do-Until ループを実装します。Implements Do-Until loop that is similar to Do-Until looping structure in programming languages. Until アクティビティでは、そこに関連付けられている条件が true に評価されるまで、一連のアクティビティがループ実行されます。It executes a set of activities in a loop until the condition associated with the activity evaluates to true. Data Factory では、until アクティビティのタイムアウト値を指定することができます。You can specify a timeout value for the until activity in Data Factory.
検証アクティビティValidation Activity 参照データセットが存在する、指定された条件を満たす、またはタイムアウトに達した場合にのみ、パイプラインが実行を継続するようにします。Ensure a pipeline only continues execution if a reference dataset exists, meets a specified criteria, or a timeout has been reached.
Wait アクティビティWait Activity パイプラインで Wait アクティビティを使用すると、パイプラインは、指定した期間待った後、後続のアクティビティの実行を続行します。When you use a Wait activity in a pipeline, the pipeline waits for the specified period of time before continuing with execution of subsequent activities.
Web アクティビティWeb Activity Web アクティビティを使用すると、Data Factory パイプラインからカスタム REST エンドポイントを呼び出すことができます。Web Activity can be used to call a custom REST endpoint from a Data Factory pipeline. このアクティビティで使用したり、アクセスしたりするデータセットやリンクされたサービスを渡すことができます。You can pass datasets and linked services to be consumed and accessed by the activity.
Webhook アクティビティWebhook Activity Webhook アクティビティを使用すると、エンドポイントを呼び出し、コールバック URL を渡ことができます。Using the webhook activity, call an endpoint and pass a callback URL. パイプラインの実行は、コールバックが呼び出されるのを待ってから、次のアクティビティに進みます。The pipeline run waits for the callback to be invoked before proceeding to the next activity.

パイプライン JSONPipeline JSON

パイプラインを JSON 形式で定義する方法を示します。Here is how a pipeline is defined in JSON format:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
        },
        "concurrency": <your max pipeline concurrency>,
        "annotations": [
        ]
    }
}
タグTag 説明Description データ型Type 必須Required
namename パイプラインの名前。Name of the pipeline. パイプラインが実行するアクションを表す名前を指定します。Specify a name that represents the action that the pipeline performs.
  • 最大文字数:140Maximum number of characters: 140
  • 文字、数字、アンダー スコア (_) のいずれかで始める必要がありますMust start with a letter, number, or an underscore (_)
  • 次の文字は使用できません:"."、"+"、"?"、"/"、"<"、">"、"*"、"%"、"&"、":"、"\"Following characters are not allowed: “.”, “+”, “?”, “/”, “<”,”>”,”*”,”%”,”&”,”:”,”\”
stringString はいYes
descriptiondescription パイプラインの用途を説明するテキストを指定します。Specify the text describing what the pipeline is used for. StringString いいえNo
activitiesactivities activities セクションでは、1 つまたは複数のアクティビティを定義できます。The activities section can have one or more activities defined within it. activities JSON 要素の詳細については、「アクティビティ JSON」のセクションを参照してください。See the Activity JSON section for details about the activities JSON element. ArrayArray はいYes
parametersparameters parameters セクションでは、パイプライン内に 1 つ以上のパラメーターを定義できるので、パイプラインの再利用に柔軟性を持たせることができます。The parameters section can have one or more parameters defined within the pipeline, making your pipeline flexible for reuse. ListList いいえNo
concurrencyconcurrency パイプラインで可能な同時実行の最大数。The maximum number of concurrent runs the pipeline can have. 既定では、最大値は設定されていません。By default, there is no maximum. 同時実行の制限に達した場合、前の実行が完了するまでパイプラインの実行がキューに追加されますIf the concurrency limit is reached, additional pipeline runs will be queued until earlier ones complete NumberNumber いいえNo
annotationsannotations パイプラインに関連付けられているタグの一覧A list of tags associated with the pipeline ArrayArray いいえNo

アクティビティ JSONActivity JSON

activities セクションでは、1 つまたは複数のアクティビティを定義できます。The activities section can have one or more activities defined within it. アクティビティには、主に次の 2 種類があります:実行アクティビティと制御アクティビティ。There are two main types of activities: Execution and Control Activities.

実行アクティビティExecution activities

実行アクティビティには、データ移動アクティビティデータ変換アクティビティが含まれます。Execution activities include data movement and data transformation activities. これらのアクティビティには、次のような最上位構造があります。They have the following top-level structure:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

アクティビティの JSON 定義内のプロパティを次の表で説明します。Following table describes properties in the activity JSON definition:

タグTag 説明Description 必須Required
namename アクティビティの名前。Name of the activity. アクティビティが実行するアクションを表す名前を指定します。Specify a name that represents the action that the activity performs.
  • 最大文字数:55Maximum number of characters: 55
  • 文字、数字、アンダー スコア (_) のいずれかで始める必要がありますMust start with a letter number, or an underscore (_)
  • 次の文字は使用できません:"."、"+"、"?"、"/"、"<"、">"、"*"、"%"、"&"、":"、"\"Following characters are not allowed: “.”, “+”, “?”, “/”, “<”,”>”,”*”,”%”,”&”,”:”,”\”
はいYes
descriptiondescription アクティビティの用途を説明するテキスト。Text describing what the activity or is used for はいYes
typetype アクティビティの種類。Type of the activity. 各種のアクティビティについては、データ移動アクティビティデータ変換アクティビティ制御アクティビティに関するセクションを参照してください。See the Data Movement Activities, Data Transformation Activities, and Control Activities sections for different types of activities. はいYes
linkedServiceNamelinkedServiceName アクティビティで使用される、リンクされたサービスの名前。Name of the linked service used by the activity.

アクティビティでは、必要なコンピューティング環境にリンクする、リンクされたサービスの指定が必要な場合があります。An activity may require that you specify the linked service that links to the required compute environment.
HDInsight アクティビティ、Azure Machine Learning バッチ スコアリング アクティビティ、ストアド プロシージャ アクティビティの場合は "はい"。Yes for HDInsight Activity, Azure Machine Learning Batch Scoring Activity, Stored Procedure Activity.

それ以外の場合は "いいえ"No for all others
typePropertiestypeProperties typeProperties セクションのプロパティは、アクティビティの種類に応じて異なります。Properties in the typeProperties section depend on each type of activity. アクティビティの typeProperties を確認するには、前のセクションでアクティビティのリンクをクリックしてください。To see type properties for an activity, click links to the activity in the previous section. いいえNo
policypolicy アクティビティの実行時の動作に影響するポリシーです。Policies that affect the run-time behavior of the activity. このプロパティには、タイムアウトと再試行の動作が含まれます。This property includes timeout and retry behavior. 指定されていない場合は、既定値が使用されます。If it is not specified, default values are used. 詳細については、「アクティビティ ポリシー」のセクションを参照してください。For more information, see Activity policy section. いいえNo
dependsOndependsOn このプロパティを使用して、アクティビティの依存関係と、後続のアクティビティが前のアクティビティにどのように依存するかを定義します。This property is used to define activity dependencies, and how subsequent activities depend on previous activities. 詳細については、「アクティビティの依存関係」を参照してくださいFor more information, see Activity dependency いいえNo

アクティビティ ポリシーActivity policy

ポリシーはアクティビティの実行時の動作に影響します。これによって、構成機能のオプションが得られます。Policies affect the run-time behavior of an activity, giving configurability options. アクティビティ ポリシーは実行アクティビティ専用です。Activity Policies are only available for execution activities.

アクティビティ ポリシー JSON 定義Activity policy JSON definition

{
    "name": "MyPipelineName",
    "properties": {
      "activities": [
        {
          "name": "MyCopyBlobtoSqlActivity",
          "type": "Copy",
          "typeProperties": {
            ...
          },
         "policy": {
            "timeout": "00:10:00",
            "retry": 1,
            "retryIntervalInSeconds": 60,
            "secureOutput": true
         }
        }
      ],
        "parameters": {
           ...
        }
    }
}
JSON での名前JSON name 説明Description 使用できる値Allowed Values 必須Required
timeouttimeout アクティビティの実行に関するタイムアウトを指定します。Specifies the timeout for the activity to run. TimespanTimespan No.No. 既定のタイムアウトは 7 日間です。Default timeout is 7 days.
retryretry 最大再試行回数Maximum retry attempts 整数Integer No.No. 既定値は 0 ですDefault is 0
retryIntervalInSecondsretryIntervalInSeconds 再試行の間の遅延 (秒単位)The delay between retry attempts in seconds 整数Integer No.No. 既定値は 30 秒ですDefault is 30 seconds
secureOutputsecureOutput true に設定すると、アクティビティからの出力が安全と見なされ、ログが監視に記録されません。When set to true, output from activity is considered as secure and will not be logged to monitoring. BooleanBoolean No.No. 既定値は false です。Default is false.

制御アクティビティControl activity

制御アクティビティには、次のような最上位構造があります。Control activities have the following top-level structure:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}
タグTag 説明Description 必須Required
namename アクティビティの名前。Name of the activity. アクティビティが実行するアクションを表す名前を指定します。Specify a name that represents the action that the activity performs.
  • 最大文字数:55Maximum number of characters: 55
  • 文字、数字、アンダー スコア (_) のいずれかで始める必要がありますMust start with a letter number, or an underscore (_)
  • 次の文字は使用できません:"."、"+"、"?"、"/"、"<"、">"、"*"、"%"、"&"、":"、"\"Following characters are not allowed: “.”, “+”, “?”, “/”, “<”,”>”,”*”,”%”,”&”,”:”,”\”
はいYes
    descriptiondescription アクティビティの用途を説明するテキスト。Text describing what the activity or is used for はいYes
    typetype アクティビティの種類。Type of the activity. 各種のアクティビティについては、データ移動アクティビティデータ変換アクティビティ制御アクティビティに関するセクションを参照してください。See the data movement activities, data transformation activities, and control activities sections for different types of activities. はいYes
    typePropertiestypeProperties typeProperties セクションのプロパティは、アクティビティの種類に応じて異なります。Properties in the typeProperties section depend on each type of activity. アクティビティの typeProperties を確認するには、前のセクションでアクティビティのリンクをクリックしてください。To see type properties for an activity, click links to the activity in the previous section. いいえNo
    dependsOndependsOn このプロパティを使用して、アクティビティの依存関係と、後続のアクティビティが前のアクティビティにどのように依存するかを定義します。This property is used to define Activity Dependency, and how subsequent activities depend on previous activities. 詳細については、「アクティビティの依存関係」を参照してください。For more information, see activity dependency. いいえNo

    アクティビティの依存関係Activity dependency

    アクティビティの依存関係では、後続のアクティビティが前のアクティビティにどのように依存するかを定義するので、次のタスクの実行を続行するかどうかの条件を決めることができます。Activity Dependency defines how subsequent activities depend on previous activities, determining the condition whether to continue executing the next task. さまざまな依存関係の条件を使用して、1 つのアクティビティを 1 つ以上の前のアクティビティに依存させることができます。An activity can depend on one or multiple previous activities with different dependency conditions.

    依存関係の条件には次のものがあります:Succeeded、Failed、Skipped、Completed。The different dependency conditions are: Succeeded, Failed, Skipped, Completed.

    たとえば、パイプラインに Activity A -> Activity B がある場合、次のようなさまざまなシナリオが考えられます。For example, if a pipeline has Activity A -> Activity B, the different scenarios that can happen are:

    • Activity B が Activity A に対する succeeded の依存関係の条件を持つ場合:Activity A の最終的な状態が succeeded の場合にのみ Activity B が実行されますActivity B has dependency condition on Activity A with succeeded: Activity B only runs if Activity A has a final status of succeeded
    • Activity B が Activity A に対する failed の依存関係の条件を持つ場合:Activity A の最終的な状態が failed の場合にのみ Activity B が実行されますActivity B has dependency condition on Activity A with failed: Activity B only runs if Activity A has a final status of failed
    • Activity B が Activity A に対する completed の依存関係の条件を持つ場合:Activity A の最終的な状態が succeeded か failed の場合に Activity B が実行されますActivity B has dependency condition on Activity A with completed: Activity B runs if Activity A has a final status of succeeded or failed
    • Activity B が Activity A に対する skipped の依存関係の条件を持つ場合:Activity A の最終的な状態が skipped の場合に Activity B が実行されます。Activity B has dependency condition on Activity A with skipped: Activity B runs if Activity A has a final status of skipped. Activity X -> Activity Y -> Activity Z のシナリオで、各アクティビティが前のアクティビティが成功した場合のみ実行される場合、skipped が発生します。Skipped occurs in the scenario of Activity X -> Activity Y -> Activity Z, where each activity runs only if the previous activity succeeds. Activity X が失敗した場合、Activity Y が実行されることはないので、Activity Y の状態は “Skipped” になります。If Activity X fails, then Activity Y has a status of “Skipped” because it never executes. 同様に、Activity Z の状態も “Skipped” になります。Similarly, Activity Z has a status of “Skipped” as well.

    例:Activity 2 は Activity 1 の成功に依存しているExample: Activity 2 depends on the Activity 1 succeeding

    {
        "name": "PipelineName",
        "properties":
        {
            "description": "pipeline description",
            "activities": [
             {
                "name": "MyFirstActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                }
            },
            {
                "name": "MySecondActivity",
                "type": "Copy",
                "typeProperties": {
                },
                "linkedServiceName": {
                },
                "dependsOn": [
                {
                    "activity": "MyFirstActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
              ]
            }
          ],
          "parameters": {
           }
        }
    }
    
    

    コピー パイプラインのサンプルSample copy pipeline

    次のサンプル パイプラインでは、 Copy in the アクティビティ 型のアクティビティが 1 つあります。In the following sample pipeline, there is one activity of type Copy in the activities section. このサンプルでは、コピー アクティビティが、Azure BLOB Storage から Azure SQL データベースにデータをコピーします。In this sample, the copy activity copies data from an Azure Blob storage to an Azure SQL database.

    {
      "name": "CopyPipeline",
      "properties": {
        "description": "Copy data from a blob to Azure SQL table",
        "activities": [
          {
            "name": "CopyFromBlobToSQL",
            "type": "Copy",
            "inputs": [
              {
                "name": "InputDataset"
              }
            ],
            "outputs": [
              {
                "name": "OutputDataset"
              }
            ],
            "typeProperties": {
              "source": {
                "type": "BlobSource"
              },
              "sink": {
                "type": "SqlSink",
                "writeBatchSize": 10000,
                "writeBatchTimeout": "60:00:00"
              }
            },
            "policy": {
              "retry": 2,
              "timeout": "01:00:00"
            }
          }
        ]
      }
    }
    

    以下の点に注意してください。Note the following points:

    • activities セクションに、typeCopy に設定されたアクティビティが 1 つだけあります。In the activities section, there is only one activity whose type is set to Copy.
    • アクティビティの入力を InputDataset に設定し、出力を OutputDataset に設定します。Input for the activity is set to InputDataset and output for the activity is set to OutputDataset. JSON でのデータセットの定義の詳細については、データセットに関する記事を参照してください。See Datasets article for defining datasets in JSON.
    • typeProperties セクションでは、ソースの種類として BlobSource が指定され、シンクの種類として SqlSink が指定されています。In the typeProperties section, BlobSource is specified as the source type and SqlSink is specified as the sink type. データ ストアとの間でのデータの移動については、「データ移動アクティビティ」セクションで、ソースまたはシンクとして使用するデータ ストアをクリックしてください。In the data movement activities section, click the data store that you want to use as a source or a sink to learn more about moving data to/from that data store.

    このパイプラインの作成に関する完全なチュートリアルについては、「Quickstart: create a data factory (クイック スタート: データ ファクトリを作成する)」を参照してください。For a complete walkthrough of creating this pipeline, see Quickstart: create a data factory.

    変換パイプラインのサンプルSample transformation pipeline

    次のサンプル パイプラインでは、 HDInsightHive in the アクティビティ 型のアクティビティが 1 つあります。In the following sample pipeline, there is one activity of type HDInsightHive in the activities section. このサンプルでは、 HDInsight Hive アクティビティ が、Azure HDInsight Hadoop クラスターで Hive スクリプト ファイルを実行して、Azure BLOB ストレージからデータを変換します。In this sample, the HDInsight Hive activity transforms data from an Azure Blob storage by running a Hive script file on an Azure HDInsight Hadoop cluster.

    {
        "name": "TransformPipeline",
        "properties": {
            "description": "My first Azure Data Factory pipeline",
            "activities": [
                {
                    "type": "HDInsightHive",
                    "typeProperties": {
                        "scriptPath": "adfgetstarted/script/partitionweblogs.hql",
                        "scriptLinkedService": "AzureStorageLinkedService",
                        "defines": {
                            "inputtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/inputdata",
                            "partitionedtable": "wasb://adfgetstarted@<storageaccountname>.blob.core.windows.net/partitioneddata"
                        }
                    },
                    "inputs": [
                        {
                            "name": "AzureBlobInput"
                        }
                    ],
                    "outputs": [
                        {
                            "name": "AzureBlobOutput"
                        }
                    ],
                    "policy": {
                        "retry": 3
                    },
                    "name": "RunSampleHiveActivity",
                    "linkedServiceName": "HDInsightOnDemandLinkedService"
                }
            ]
        }
    }
    

    以下の点に注意してください。Note the following points:

    • activities セクションに、typeHDInsightHive に設定されたアクティビティが 1 つだけあります。In the activities section, there is only one activity whose type is set to HDInsightHive.
    • Hive スクリプト ファイル partitionweblogs.hql は、Azure ストレージ アカウント (scriptLinkedService によって指定され、AzureStorageLinkedService という名前) と adfgetstarted コンテナーの script フォルダーに格納されます。The Hive script file, partitionweblogs.hql, is stored in the Azure storage account (specified by the scriptLinkedService, called AzureStorageLinkedService), and in script folder in the container adfgetstarted.
    • defines セクションは、Hive 構成値 (例: ${hiveconf:inputtable}, ${hiveconf:partitionedtable}) として Hive スクリプトに渡される実行時設定を指定するために使用されます。The defines section is used to specify the runtime settings that are passed to the hive script as Hive configuration values (for example, ${hiveconf:inputtable}, ${hiveconf:partitionedtable}).

    typeProperties セクションは、変換アクティビティごとに異なります。The typeProperties section is different for each transformation activity. 変換アクティビティでサポートされる typeProperties については、「データ変換アクティビティ」で変換アクティビティをクリックしてください。To learn about type properties supported for a transformation activity, click the transformation activity in the Data transformation activities.

    このパイプライン作成の完全なチュートリアルについては、「Tutorial: transform data using Spark (チュートリアル: Spark を使用してデータを変換する)」を参照してください。For a complete walkthrough of creating this pipeline, see Tutorial: transform data using Spark.

    パイプライン内の複数アクティビティMultiple activities in a pipeline

    前の 2 つのサンプル パプラインには 1 つのアクティビティしか含まれていません。The previous two sample pipelines have only one activity in them. パイプラインに複数のアクティビティを含めることができます。You can have more than one activity in a pipeline. 1 つのパイプラインに複数のアクティビティがあり、後続のアクティビティが前のアクティビティに依存していない場合、これらのアクティビティは並列に実行されることもあります。If you have multiple activities in a pipeline and subsequent activities are not dependent on previous activities, the activities may run in parallel.

    アクティビティの依存関係を使用して、2 つのアクティビティを連鎖させることができます。アクティビティの依存関係は、後続のアクティビティが前のアクティビティにどのように依存するかを定義するので、次のタスクの実行を続行するかどうかの条件を決めることができます。You can chain two activities by using activity dependency, which defines how subsequent activities depend on previous activities, determining the condition whether to continue executing the next task. さまざまな依存関係の条件を使用して、1 つのアクティビティを 1 つ以上の前のアクティビティに依存させることができます。An activity can depend on one or more previous activities with different dependency conditions.

    パイプラインのスケジュール設定Scheduling pipelines

    パイプラインは、トリガーによってスケジュール設定されます。Pipelines are scheduled by triggers. さまざまな種類のトリガーがあります。スケジューラ トリガーを使用すると、パイプラインを実時間のスケジュールでトリガーできます。手動トリガーを使用すると、パイプラインはオンデマンドでトリガーされます。There are different types of triggers (scheduler trigger, which allows pipelines to be triggered on a wall-clock schedule, as well as manual trigger, which triggers pipelines on-demand). トリガーの詳細については、パイプラインの実行とトリガーに関する記事を参照してください。For more information about triggers, see pipeline execution and triggers article.

    トリガーにパイプライン実行を開始させるには、特定のパイプラインのパイプライン参照をトリガー定義に組み込む必要があります。To have your trigger kick off a pipeline run, you must include a pipeline reference of the particular pipeline in the trigger definition. パイプラインとトリガーには n-m の関係があります。Pipelines & triggers have an n-m relationship. 複数のトリガーで 1 つのパイプラインを開始したり、1 つのトリガーで複数のパイプラインを開始したりできます。Multiple triggers can kick off a single pipeline and the same trigger can kick off multiple pipelines. トリガーを定義し終えたらそのトリガーを開始して、パイプラインのトリガーを開始させる必要があります。Once the trigger is defined, you must start the trigger to have it start triggering the pipeline. トリガーの詳細については、パイプラインの実行とトリガーに関する記事を参照してください。For more information about triggers, see pipeline execution and triggers article.

    たとえば、スケジューラ トリガー “Trigger A” があり、それによってパイプライン “MyCopyPipeline” を開始させるとします。For example, say you have a scheduler trigger, “Trigger A” that I wish to kick off my pipeline, “MyCopyPipeline”. 次の例のようにこのトリガーを定義します。You define the trigger as shown in the following example:

    Trigger A の定義Trigger A definition

    {
      "name": "TriggerA",
      "properties": {
        "type": "ScheduleTrigger",
        "typeProperties": {
          ...
          }
        },
        "pipeline": {
          "pipelineReference": {
            "type": "PipelineReference",
            "referenceName": "MyCopyPipeline"
          },
          "parameters": {
            "copySourceName": "FileSource"
          }
        }
      }
    }
    

    次の手順Next steps

    アクティビティを使用してパイプラインを作成する詳しい手順については、次のチュートリアルを参照してください。See the following tutorials for step-by-step instructions for creating pipelines with activities: