次の方法で共有


DataTransferStep クラス

ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。

DataTransferStep では、ソースとシンクとして Azure Blob Storage や Azure Data Lake などの一般的なストレージの種類がサポートされています。 詳細については、「解説」セクション 参照してください。

DataTransferStep の使用例については、ノートブックの https://aka.ms/pl-data-transを参照してください。

ストレージ オプション間でデータを転送する Azure ML パイプライン ステップを作成します。

コンストラクター

DataTransferStep(name, source_data_reference=None, destination_data_reference=None, compute_target=None, source_reference_type=None, destination_reference_type=None, allow_reuse=True)

パラメーター

名前 説明
name
必須
str

[必須]ステップの名前。

source_data_reference

[必須]データ転送操作のソースとして機能する入力接続。

規定値: None
destination_data_reference

[必須]データ転送操作の宛先として機能する出力接続。

規定値: None
compute_target

[必須]データの転送に使用する Azure Data Factory。

規定値: None
source_reference_type
str

source_data_referenceの型を指定する省略可能な文字列。 指定できる値は、'file'、'directory' です。 指定しない場合は、既存のパスの型が使用されます。 同じ名前のファイルとディレクトリを区別するには、このパラメーターを使用します。

規定値: None
destination_reference_type
str

destination_data_referenceの型を指定する省略可能な文字列。 指定できる値は、'file'、'directory' です。 指定しない場合、Azure ML では、既存のパス、ソース参照、または 'directory' の種類が、その順序で使用されます。

規定値: None
allow_reuse

同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップ引数が変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用すると、データを再転送する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。

規定値: True
name
必須
str

[必須]ステップの名前。

source_data_reference
必須

[必須]データ転送操作のソースとして機能する入力接続。

destination_data_reference
必須

[必須]データ転送操作の宛先として機能する出力接続。

compute_target
必須

[必須]データの転送に使用する Azure Data Factory。

source_reference_type
必須
str

source_data_referenceの型を指定する省略可能な文字列。 指定できる値は、'file'、'directory' です。 指定しない場合は、既存のパスの型が使用されます。 同じ名前のファイルとディレクトリを区別するには、このパラメーターを使用します。

destination_reference_type
必須
str

destination_data_referenceの型を指定する省略可能な文字列。 指定できる値は、'file'、'directory' です。 指定しない場合、Azure ML では、既存のパス、ソース参照、または 'directory' の種類が、その順序で使用されます。

allow_reuse
必須

同じ設定で再実行するときに、前の結果をステップで再利用するかどうかを示します。 再利用は既定で有効になっています。 ステップ引数が変更されていない場合は、このステップの前の実行からの出力が再利用されます。 ステップを再利用すると、データを再転送する代わりに、前の実行の結果が後続のステップですぐに使用できるようになります。 Azure Machine Learning データセットを入力として使用する場合、再利用は、基になるデータが変更されたかどうかではなく、データセットの定義が変更されたかどうかによって決まります。

注釈

この手順では、特に記載されている場合を除き、ソースとシンクとして次のストレージの種類がサポートされます。

  • Azure Blob Storage (アジュール・ブロブ・ストレージ)

  • Azure Data Lake Storage Gen1 と Gen2

  • Azure SQL データベース

  • PostgreSQL 用 Azure データベース

  • Azure MySQL用データベース

Azure SQL Database の場合は、サービス プリンシパル認証を使用する必要があります。 詳細については、「 サービス プリンシパル認証」を参照してください。 Azure SQL Database でサービス プリンシパル認証を使用する例については、 https://aka.ms/pl-data-transを参照してください。

ステップ間のデータ依存関係を確立するには、 get_output メソッドを使用して、このデータ転送ステップの出力を表す PipelineData オブジェクトを取得し、パイプラインの後の手順の入力として使用できます。


   data_transfer_step = DataTransferStep(name="copy data", ...)

   # Use output of data_transfer_step as input of another step in pipeline
   # This will make training_step wait for data_transfer_step to complete
   training_input = data_transfer_step.get_output()
   training_step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", training_input],
                           inputs=[training_input],
                           compute_target=aml_compute,
                           source_directory=source_directory)

特定の名前を持つInputPortBindingを作成するには、get_output() 出力をas_inputの出力またはas_mountPipelineDataメソッドの出力と組み合わせることができます。


   data_transfer_step = DataTransferStep(name="copy data", ...)
   training_input = data_transfer_step.get_output().as_input("my_input_name")

メソッド

create_node

DataTransfer ステップからノードを作成し、特定のグラフに追加します。

このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。

get_output

PipelineData としてステップの出力を取得します。

create_node

DataTransfer ステップからノードを作成し、特定のグラフに追加します。

このメソッドは、直接使用するためのものではありません。 この手順でパイプラインがインスタンス化されると、Azure ML は、このメソッドに必要なパラメーターを自動的に渡して、そのステップをワークフローを表すパイプライン グラフに追加できるようにします。

create_node(graph, default_datastore, context)

パラメーター

名前 説明
graph
必須

ノードを追加するグラフ オブジェクト。

default_datastore
必須

既定のデータストア。

context
必須
<xref:azureml.pipeline.core._GraphContext>

グラフ コンテキスト。

戻り値

説明

作成されたノード。

get_output

PipelineData としてステップの出力を取得します。

get_output()

戻り値

説明

ステップの出力。

注釈

ステップ間のデータ依存関係を確立するには、 get_output メソッドを使用して、このデータ転送ステップの出力を表す PipelineData オブジェクトを取得し、パイプラインの後の手順の入力として使用できます。


   data_transfer_step = DataTransferStep(name="copy data", ...)

   # Use output of data_transfer_step as input of another step in pipeline
   # This will make training_step wait for data_transfer_step to complete
   training_input = data_transfer_step.get_output()
   training_step = PythonScriptStep(script_name="train.py",
                           arguments=["--model", training_input],
                           inputs=[training_input],
                           compute_target=aml_compute,
                           source_directory=source_directory)

特定の名前を持つ InputPortBinding を作成するには、 get_output() 呼び出しを as_input または as_mount ヘルパー メソッドと組み合わせることができます。


   data_transfer_step = DataTransferStep(name="copy data", ...)

   training_input = data_transfer_step.get_output().as_input("my_input_name")