Azure Data Factory を使用した Azure Blob Storage との間でのデータのコピーCopy data to or from Azure Blob storage by using Azure Data Factory

この記事では、Azure Blob Storage との間でデータを双方向にコピーする方法について説明します。This article outlines how to copy data to and from Azure Blob storage. Azure Data Factory については、入門記事でをご覧ください。To learn about Azure Data Factory, read the introductory article.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

サポートされる機能Supported capabilities

この Azure BLOB コネクタは、次のアクティビティでサポートされます。This Azure Blob connector is supported for the following activities:

具体的には、この Blob Storage コネクタは、以下をサポートします。Specifically, this Blob storage connector supports:

  • 汎用 Azure Storage アカウントとホット/クール Blob Storage との間での BLOB のコピー。Copying blobs to and from general-purpose Azure storage accounts and hot/cool blob storage.
  • アカウント キー、サービスの Shared Access Signature、サービス プリンシパル、または Azure リソースのマネージド ID のいずれかの認証を使用した BLOB のコピー。Copying blobs by using account key, service shared access signature, service principal or managed identities for Azure resources authentications.
  • ブロック BLOB、アペンド BLOB、またはページ BLOB からの BLOB のコピーと、ブロック BLOB だけへのデータのコピー。Copying blobs from block, append, or page blobs and copying data to only block blobs.
  • そのままの BLOB のコピー、またはサポートされているファイル形式と圧縮コーデックを使用した BLOB の解析/生成。Copying blobs as is or parsing or generating blobs with supported file formats and compression codecs.

注意

Azure Storage のファイアウォール設定で 信頼された Microsoft サービスによるこのストレージ アカウントに対するアクセスを許可します オプションを有効にした場合、Azure Integration Runtime を使用した Azure Blob Storage への接続は、ADF が信頼された Microsoft サービスとして扱われないため、アクセス不可エラーで失敗します。If you enable the "Allow trusted Microsoft services to access this storage account" option on Azure Storage firewall settings, using Azure Integration Runtime to connect to Blob storage will fail with a forbidden error, as ADF is not treated as a trusted Microsoft service. 代わりに、セルフホステッド統合ランタイムを使用して接続してください。Please connect via a Self-hosted Integration Runtime instead.

作業開始Get started

次のいずれかのツールまたは SDK を使用して、パイプラインでコピー アクティビティを使用できます。You can use one of the following tools or SDKs to use the copy activity with a pipeline. 詳細な手順については、以下のリンクを選択してください。Select a link for step-by-step instructions:

次のセクションでは、Blob Storage に固有の Data Factory エンティティの定義に使用されるプロパティについて詳しく説明します。The following sections provide details about properties that are used to define Data Factory entities specific to Blob storage.

リンクされたサービスのプロパティLinked service properties

Azure BLOB コネクタは、次の認証の種類をサポートします。詳しくは、対応するセクションをご覧ください。Azure Blob connector support the following authentication types, refer to the corresponding section on details:

注意

ソースまたはステージング BLOB ストレージが Virtual Network エンドポイントで構成されており、PolyBase を使用して SQL Data Warehouse にデータを読み込む場合、PolyBase で要求されるマネージド ID 認証とバージョン 3.18 以降のセルフホステッド統合ランタイムを使用する必要があります。When using PolyBase to load data into SQL Data Warehouse, if your source or staging Blob storage is configured with Virtual Network endpoint, you must use managed identity authentication as required by PolyBase, and use Self-hosted Integration Runtime with version 3.18 or above. 構成の前提条件の詳細については、マネージド ID 認証セクションを参照してください。See the managed identity authentication section with more configuration prerequisites.

注意

HDInsights および Azure Machine Learning のアクティビティは、Azure BLOB ストレージ アカウント キー認証のみをサポートします。HDInsights and Azure Machine Learning activities only support Azure Blob storage account key authentication.

アカウント キー認証Account key authentication

ストレージ アカウント キー認証の使用には、次のプロパティがサポートされています。To use storage account key authentication, the following properties are supported:

プロパティProperty 説明Description 必須Required
typetype type プロパティは、AzureBlobStorage (推奨) または AzureStorage (後の注を参照) に設定する必要があります。The type property must be set to AzureBlobStorage (suggested) or AzureStorage (see notes below). はいYes
connectionStringconnectionString connectionString プロパティのために Storage に接続するために必要な情報を指定します。Specify the information needed to connect to Storage for the connectionString property.
Data Factory に安全に格納するには、このフィールドを SecureString として指定します。Mark this field as a SecureString to store it securely in Data Factory. アカウント キーを Azure Key Vault に格納して、接続文字列から accountKey 構成をプルすることもできます。You can also put account key in Azure Key Vault and pull the accountKey configuration out of the connection string. 詳細については、下記の例と、「Azure Key Vault への資格情報の格納」の記事を参照してください。Refer to the following samples and Store credentials in Azure Key Vault article with more details.
はいYes
connectViaconnectVia データ ストアに接続するために使用される統合ランタイムThe integration runtime to be used to connect to the data store. Azure 統合ランタイムまたは自己ホスト型統合ランタイムを使用できます (データ ストアがプライベート ネットワークにある場合)。You can use Azure Integration Runtime or Self-hosted Integration Runtime (if your data store is in a private network). 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。If not specified, it uses the default Azure Integration Runtime. いいえNo

注意

アカウント キー認証を使用する場合、セカンダリ Blob service エンドポイントはサポートされません。Secondary Blob Service Endpoint is not supported when using account key authentication. ほかの認証の種類を使用できます。You can use other authentication types.

注意

"AzureStorage" タイプのリンクされたサービスを使用していた場合は、まだそのままサポートされていますが、今後は新しい "AzureBlobStorage" のリンクされたサービス タイプを使用することをお勧めします。If you were using "AzureStorage" type linked service, it is still supported as-is, while you are suggested to use this new "AzureBlobStorage" linked service type going forward.

例:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

例: アカウント キーを Azure Key Vault に格納するExample: store account key in Azure Key Vault

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": {
                "type": "SecureString",
                "value": "DefaultEndpointsProtocol=https;AccountName=<accountname>;"
            },
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }            
    }
}

Shared Access Signature 認証Shared access signature authentication

Shared Access Signature を使用すると、ストレージ アカウント内のリソースへの委任アクセスが可能になります。A shared access signature provides delegated access to resources in your storage account. Shared Access Signature を使用して、ストレージ アカウントのオブジェクトへの制限付きアクセス許可を、期間を指定してクライアントに付与できます。You can use a shared access signature to grant a client limited permissions to objects in your storage account for a specified time. アカウントのアクセス キーを共有する必要はありません。You don't have to share your account access keys. Shared Access Signature とは、ストレージ リソースへの認証アクセスに必要なすべての情報をクエリ パラメーター内に含む URI です。The shared access signature is a URI that encompasses in its query parameters all the information necessary for authenticated access to a storage resource. クライアントは、Shared Access Signature 内で適切なコンストラクターまたはメソッドに渡すだけで、Shared Access Signature でストレージ リソースにアクセスできます。To access storage resources with the shared access signature, the client only needs to pass in the shared access signature to the appropriate constructor or method. Shared Access Signature について詳しくは、Shared Access Signature のモデルの概要に関するページをご覧ください。For more information about shared access signatures, see Shared access signatures: Understand the shared access signature model.

注意

ヒント

ストレージ アカウントに使用するサービスの Shared Access Signature を生成するには、次の PowerShell コマンドを実行します。To generate a service shared access signature for your storage account, you can execute the following PowerShell commands. プレースホルダーを置き換えたうえで、必要なアクセス許可を付与してください。Replace the placeholders and grant the needed permission. $context = New-AzStorageContext -StorageAccountName <accountName> -StorageAccountKey <accountKey> New-AzStorageContainerSASToken -Name <containerName> -Context $context -Permission rwdl -StartTime <startTime> -ExpiryTime <endTime> -FullUri

Shared Access Signature 認証の使用には、次のプロパティがサポートされています。To use shared access signature authentication, the following properties are supported:

プロパティProperty 説明Description 必須Required
typetype type プロパティは、AzureBlobStorage (推奨) または AzureStorage (後の注を参照) に設定する必要があります。The type property must be set to AzureBlobStorage (suggested) or AzureStorage (see notes below). はいYes
sasUrisasUri BLOB、コンテナーなどの Storage リソースへの Shared Access Signature URI を指定します。Specify the shared access signature URI to the Storage resources such as blob/container.
Data Factory に安全に格納するには、このフィールドを SecureString として指定します。Mark this field as a SecureString to store it securely in Data Factory. 自動ローテーションを活用してトークン部分を削除するために、SAS トークンを Azure Key Vault に配置することもできます。You can also put SAS token in Azure Key Vault to leverage auto rotation and remove the token portion. 詳細については、下記の例と、「Azure Key Vault への資格情報の格納」の記事を参照してください。Refer to the following samples and Store credentials in Azure Key Vault article with more details.
はいYes
connectViaconnectVia データ ストアに接続するために使用される統合ランタイムThe integration runtime to be used to connect to the data store. Azure 統合ランタイムまたは自己ホスト型統合ランタイムを使用できます (データ ストアがプライベート ネットワークにある場合)。You can use the Azure Integration Runtime or the Self-hosted Integration Runtime (if your data store is located in a private network). 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。If not specified, it uses the default Azure Integration Runtime. いいえNo

注意

"AzureStorage" タイプのリンクされたサービスを使用していた場合は、まだそのままサポートされていますが、今後は新しい "AzureBlobStorage" のリンクされたサービス タイプを使用することをお勧めします。If you were using "AzureStorage" type linked service, it is still supported as-is, while you are suggested to use this new "AzureBlobStorage" linked service type going forward.

例:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource e.g. https://<container>.blob.core.windows.net/?sv=<storage version>&amp;st=<start time>&amp;se=<expire time>&amp;sr=<resource>&amp;sp=<permissions>&amp;sip=<ip range>&amp;spr=<protocol>&amp;sig=<signature>>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

例: アカウント キーを Azure Key Vault に格納するExample: store account key in Azure Key Vault

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "sasUri": {
                "type": "SecureString",
                "value": "<SAS URI of the Azure Storage resource without token e.g. https://<container>.blob.core.windows.net/>"
            },
            "sasToken": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Shared Access Signature の URI を作成する際は、次の点に注意してください。When you create a shared access signature URI, consider the following points:

  • リンクされたサービス (読み取り、書き込み、読み取り/書き込み) がデータ ファクトリ内でどのように使用されているかに応じて、オブジェクトに対する適切な読み取り/書き込みアクセス許可を設定します。Set appropriate read/write permissions on objects based on how the linked service (read, write, read/write) is used in your data factory.
  • 有効期限を適切に設定します。Set Expiry time appropriately. Storage オブジェクトへのアクセスがパイプラインのアクティブな期間内に期限切れにならないことを確認します。Make sure that the access to Storage objects doesn't expire within the active period of the pipeline.
  • URI は、必要に応じて、適切なコンテナーや BLOB で作成する必要があります。The URI should be created at the right container/blob based on the need. Data Factory から特定の BLOB にアクセスするには、その BLOB の Shared Access Signature URI を使用します。A shared access signature URI to a blob allows Data Factory to access that particular blob. Data Factory で Blob Storage コンテナー内の BLOB を反復処理するには、そのコンテナーの Shared Access Signature URI を使用します。A shared access signature URI to a Blob storage container allows Data Factory to iterate through blobs in that container. アクセスするオブジェクトの数を後で変更する場合、または Shared Access Signature URI を更新する場合は必ず、リンクされたサービスを新しい URI で更新してください。To provide access to more or fewer objects later, or to update the shared access signature URI, remember to update the linked service with the new URI.

サービス プリンシパルの認証Service principal authentication

一般的な Azure Storage サービス プリンシパル認証については、「Azure Active Directory を使用して Azure Storage へのアクセスを認証する」をご覧ください。For Azure Storage service principal authentication in general, refer to Authenticate access to Azure Storage using Azure Active Directory.

サービス プリンシパル認証を使用するには、次の手順のようにします。To use service principal authentication, follow these steps:

  1. アプリケーションを Azure AD テナントに登録する」に従って、Azure Active Directory (Azure AD) にアプリケーション エンティティを登録します。Register an application entity in Azure Active Directory (Azure AD) by following Register your application with an Azure AD tenant. 次の値を記録しておきます。リンクされたサービスを定義するときに使います。Make note of the following values, which you use to define the linked service:

    • アプリケーション IDApplication ID
    • アプリケーション キーApplication key
    • テナント IDTenant ID
  2. Azure BLOB ストレージでサービス プリンシパルに適切なアクセス許可を付与します。Grant the service principal proper permission in Azure Blob storage. ロールについて詳しくは、「RBAC を使用して Azure Storage データへのアクセス権を管理する」をご覧ください。Refer to Manage access rights to Azure Storage data with RBAC with more details on the roles.

    • ソースとして、[アクセス制御 (IAM)] で、少なくともストレージ BLOB データ閲覧者ロールを付与します。As source, in Access control (IAM), grant at least Storage Blob Data Reader role.
    • シンクとして、[アクセス制御 (IAM)] で、少なくともストレージ BLOB データ共同作成者ロールを付与します。As sink, in Access control (IAM), grant at least Storage Blob Data Contributor role.

Azure BLOB ストレージのリンクされたサービスでは、次のプロパティがサポートされます。These properties are supported for an Azure Blob storage linked service:

プロパティProperty 説明Description 必須Required
typetype type プロパティは、AzureBlobStorage に設定する必要があります。The type property must be set to AzureBlobStorage. はいYes
serviceEndpointserviceEndpoint https://<accountName>.blob.core.windows.net/ のパターンで、Azure BLOB ストレージ サービス エンドポイントを指定します。Specify the Azure Blob storage service endpoint with the pattern of https://<accountName>.blob.core.windows.net/. はいYes
servicePrincipalIdservicePrincipalId アプリケーションのクライアント ID を取得します。Specify the application's client ID. はいYes
servicePrincipalKeyservicePrincipalKey アプリケーションのキーを取得します。Specify the application's key. このフィールドを SecureString としてマークして Data Factory に安全に保管するか、Azure Key Vault に格納されているシークレットを参照します。Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. はいYes
tenanttenant アプリケーションが存在するテナントの情報 (ドメイン名またはテナント ID) を指定します。Specify the tenant information (domain name or tenant ID) under which your application resides. Azure portal の右上隅にマウスを置くことで取得します。Retrieve it by hovering the mouse in the top-right corner of the Azure portal. はいYes
connectViaconnectVia データ ストアに接続するために使用される統合ランタイムThe integration runtime to be used to connect to the data store. Azure 統合ランタイムまたは自己ホスト型統合ランタイムを使用できます (データ ストアがプライベート ネットワークにある場合)。You can use Azure Integration Runtime or Self-hosted Integration Runtime (if your data store is in a private network). 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。If not specified, it uses the default Azure Integration Runtime. いいえNo

注意

サービス プリンシパル認証は、"AzureBlobStorage" タイプのリンクされたサービスによってのみサポートされており、以前の "AzureStorage" タイプのリンクされたサービスではサポートされていません。Service principal authentication is only supported by "AzureBlobStorage" type linked service but not previous "AzureStorage" type linked service.

例:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Azure リソースのマネージド ID 認証Managed identities for Azure resources authentication

データ ファクトリは、特定のデータ ファクトリを表す、Azure リソースのマネージド ID に関連付けることができます。A data factory can be associated with a managed identity for Azure resources, which represents this specific data factory. 独自のサービス プリンシパルを使用するのと同様に、BLOB ストレージ認証にこのマネージド ID を直接使用できます。You can directly use this managed identity for Blob storage authentication similar to using your own service principal. これにより、この指定されたファクトリは、BLOB ストレージにアクセスしてデータをコピーできます。It allows this designated factory to access and copy data from/to your Blob storage.

一般的な Azure Storage 認証については、「Azure Active Directory を使用して Azure Storage へのアクセスを認証する」をご覧ください。Refer to Authenticate access to Azure Storage using Azure Active Directory for Azure Storage authentication in general. Azure リソースのマネージド ID 認証を使用するには、次のようにします。To use managed identities for Azure resources authentication, follow these steps:

  1. ファクトリと共に生成された "サービス ID アプリケーション ID" の値をコピーして、データ ファクトリのマネージド ID 情報を取得します。Retrieve data factory managed identity information by copying the value of "SERVICE IDENTITY APPLICATION ID" generated along with your factory.

  2. Azure BLOB ストレージでマネージド ID に適切なアクセス許可を付与します。Grant the managed identity proper permission in Azure Blob storage. ロールについて詳しくは、「RBAC を使用して Azure Storage データへのアクセス権を管理する」をご覧ください。Refer to Manage access rights to Azure Storage data with RBAC with more details on the roles.

    • ソースとして、[アクセス制御 (IAM)] で、少なくともストレージ BLOB データ閲覧者ロールを付与します。As source, in Access control (IAM), grant at least Storage Blob Data Reader role.
    • シンクとして、[アクセス制御 (IAM)] で、少なくともストレージ BLOB データ共同作成者ロールを付与します。As sink, in Access control (IAM), grant at least Storage Blob Data Contributor role.

重要

PolyBase を使用して BLOB (ソースまたはステージングとして) から SQL Data Warehouse にデータを読み込む場合、BLOB にマネージド ID 認証を使用しているときは、こちらのガイダンスの手順 1 と 2 にも従って、1) SQL Database サーバーを Azure Active Directory (Azure AD) に登録し、2) SQL Database サーバーにストレージ BLOB データ共同作成者のロールを割り当ててください。残りの部分は Data Factory によって処理されます。If you use PolyBase to load data from Blob (as source or as staging) into SQL Data Warehouse, when using managed identity authentication for Blob, make sure you also follow steps 1 and 2 in this guidance to 1) register your SQL Database server with Azure Active Directory (Azure AD) and 2) assign the Storage Blob Data Contributor role to your SQL Database server; the rest are handled by Data Factory. お使いの BLOB ストレージが Azure Virtual Network エンドポイントで構成されている場合、PolyBase を使用してそこからデータを読み込むには、PolyBase で要求されるマネージド ID 認証を使用する必要があります。If your Blob storage is configured with an Azure Virtual Network endpoint, to use PolyBase to load data from it, you must use managed identity authentication as required by PolyBase.

Azure BLOB ストレージのリンクされたサービスでは、次のプロパティがサポートされます。These properties are supported for an Azure Blob storage linked service:

プロパティProperty 説明Description 必須Required
typetype type プロパティは、AzureBlobStorage に設定する必要があります。The type property must be set to AzureBlobStorage. はいYes
serviceEndpointserviceEndpoint https://<accountName>.blob.core.windows.net/ のパターンで、Azure BLOB ストレージ サービス エンドポイントを指定します。Specify the Azure Blob storage service endpoint with the pattern of https://<accountName>.blob.core.windows.net/. はいYes
connectViaconnectVia データ ストアに接続するために使用される統合ランタイムThe integration runtime to be used to connect to the data store. Azure 統合ランタイムまたは自己ホスト型統合ランタイムを使用できます (データ ストアがプライベート ネットワークにある場合)。You can use Azure Integration Runtime or Self-hosted Integration Runtime (if your data store is in a private network). 指定されていない場合は、既定の Azure 統合ランタイムが使用されます。If not specified, it uses the default Azure Integration Runtime. いいえNo

注意

Azure リソースのマネージド ID 認証は、"AzureBlobStorage" タイプのリンクされたサービスによってのみサポートされており、以前の "AzureStorage" タイプのリンクされたサービスではサポートされていません。Managed identities for Azure resources authentication is only supported by "AzureBlobStorage" type linked service but not previous "AzureStorage" type linked service.

例:Example:

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {            
            "serviceEndpoint": "https://<accountName>.blob.core.windows.net/"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

データセットのプロパティDataset properties

データセットを定義するために使用できるセクションとプロパティの完全な一覧については、データセットに関する記事をご覧ください。For a full list of sections and properties available for defining datasets, see the Datasets article.

Parquet 形式、区切りテキスト形式およびバイナリ形式のデータセットParquet, delimited text and binary format dataset

Blob Storage をコピー先またはコピー元として Parquet 形式、区切りテキスト形式およびバイナリ形式のデータをコピーするには、Parquet 形式区切りテキスト形式およびバイナリ形式に関する記事で、形式ベースのデータセットおよびサポートされる設定について参照してください。To copy data to and from Blob storage in Parquet, delimited text or binary format, refer to Parquet format, Delimited text format and Binary format article on format-based dataset and supported settings. Azure BLOB では、形式ベースのデータセットの location 設定において、次のプロパティがサポートされています。The following properties are supported for Azure Blob under location settings in format-based dataset:

プロパティProperty 説明Description 必須Required
typetype データセット内の location の type プロパティは、AzureBlobStorageLocation に設定する必要があります。The type property of the location in dataset must be set to AzureBlobStorageLocation. はいYes
containercontainer BLOB コンテナー。The blob container. はいYes
folderPathfolderPath 特定のコンテナーの下のフォルダーへのパス。The path to folder under the given container. フォルダーをフィルター処理するためにワイルドカードを使用する場合は、この設定をスキップし、アクティビティのソースの設定で指定します。If you want to use wildcard to filter folder, skip this setting and specify in activity source settings. いいえNo
fileNamefileName 特定のコンテナー + folderPath の下のファイル名。The file name under the given container + folderPath. ファイルをフィルター処理するためにワイルドカードを使用する場合は、この設定をスキップし、アクティビティのソースの設定で指定します。If you want to use wildcard to filter files, skip this setting and specify in activity source settings. いいえNo

注意

次のセクションで説明する Parquet/テキスト形式の AzureBlob 型のデータセットは、下位互換性のために引き続きコピー/Lookup/GetMetadata アクティビティでそのままサポートされますが、Mapping Data Flow では機能しません。AzureBlob type dataset with Parquet/Text format mentioned in next section is still supported as-is for Copy/Lookup/GetMetadata activity for backward compatibility, but it doesn't work with Mapping Data Flow. 今後は、この新しいモデルを使用することをお勧めします。ADF オーサリング UI はこれらの新しい型を生成するように切り替えられています。You are suggested to use this new model going forward, and the ADF authoring UI has switched to generating these new types.

例:Example:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

他の形式のデータセットOther format dataset

Blob Storage をコピー先またはコピー元として ORC/Avro/JSON 形式のデータをコピーするには、データセットの type プロパティを AzureBlob に設定します。To copy data to and from Blob storage in ORC/Avro/JSON format, set the type property of the dataset to AzureBlob. 次のプロパティがサポートされています。The following properties are supported.

プロパティProperty 説明Description 必須Required
typetype データセットの type プロパティは、AzureBlob に設定する必要があります。The type property of the dataset must be set to AzureBlob. はいYes
folderPathfolderPath BLOB ストレージのコンテナーとフォルダーのパス。Path to the container and folder in the blob storage.

ワイルドカード フィルターは、コンテナー名を除くパスに対してサポートされます。Wildcard filter is supported for the path excluding container name. 使用できるワイルドカーは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。実際のフォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has wildcard or this escape char inside.

例: myblobcontainer/myblobfolder/。「フォルダーとファイル フィルターの例」の例を参照してください。Examples: myblobcontainer/myblobfolder/, see more examples in Folder and file filter examples.
はい (Copy/Lookup アクティビティの場合)、いいえ (GetMetadata アクティビティの場合)Yes for Copy/Lookup activity, No for GetMetadata activity
fileNamefileName 指定された "folderPath" の下にある BLOB の名前またはワイルドカード フィルターName or wildcard filter for the blob(s) under the specified "folderPath". このプロパティの値を指定しない場合、データセットはフォルダー内のすべての BLOB をポイントします。If you don't specify a value for this property, the dataset points to all blobs in the folder.

フィルターに使用できるワイルドカードは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。For filter, allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character).
- 例 1: "fileName": "*.csv"- Example 1: "fileName": "*.csv"
- 例 2: "fileName": "???20180427.txt"- Example 2: "fileName": "???20180427.txt"
実際のファイル名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。Use ^ to escape if your actual file name has wildcard or this escape char inside.

出力データセットに fileName の指定がなく、アクティビティ シンクに preserveHierarchy の指定がない場合、コピー アクティビティによって自動的に生成される BLOB 名のパターンは、"Data.[activity run ID GUID].[GUID if FlattenHierarchy].[format if configured].[compression if configured] " になります。たとえば、"Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz" です。クエリの代わりにテーブル名を使用して表形式のソースからコピーする場合は、名前のパターンは " [table name].[format].[compression if configured] " になります。たとえば、"MyTable.csv" です。When fileName isn't specified for an output dataset and preserveHierarchy isn't specified in the activity sink, the copy activity automatically generates the blob name with the following pattern: "Data.[activity run ID GUID].[GUID if FlattenHierarchy].[format if configured].[compression if configured]", e.g. "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"; if you copy from tabular source using table name instead of query, the name pattern is "[table name].[format].[compression if configured]", e.g. "MyTable.csv".
いいえNo
modifiedDatetimeStartmodifiedDatetimeStart ファイルはフィルター処理され、元になる属性は最終更新時刻です。Files filter based on the attribute: Last Modified. 最終変更時刻が modifiedDatetimeStart から modifiedDatetimeEnd の間に含まれる場合は、ファイルが選択されます。The files will be selected if their last modified time are within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. 時刻は "2018-12-01T05:00:00Z" の形式で UTC タイム ゾーンに適用されます。The time is applied to UTC time zone in the format of "2018-12-01T05:00:00Z".

多数のファイルにファイル フィルターを実行する場合は、この設定を有効にすることで、データ移動の全体的なパフォーマンスが影響を受けることに注意してください。Be aware the overall performance of data movement will be impacted by enabling this setting when you want to do file filter from huge amounts of files.

プロパティは、ファイル属性フィルターをデータセットに適用しないことを意味する NULL にすることができます。The properties can be NULL that mean no file attribute filter will be applied to the dataset. modifiedDatetimeStart に datetime 値を設定し、modifiedDatetimeEnd を NULL にした場合は、最終更新時刻属性が datetime 値以上であるファイルが選択されることを意味します。When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. modifiedDatetimeEnd に datetime 値を設定し、modifiedDatetimeStart を NULL にした場合は、最終更新時刻属性が datetime 値以下であるファイルが選択されることを意味します。When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be selected.
いいえNo
modifiedDatetimeEndmodifiedDatetimeEnd ファイルはフィルター処理され、元になる属性は最終更新時刻です。Files filter based on the attribute: Last Modified. 最終変更時刻が modifiedDatetimeStart から modifiedDatetimeEnd の間に含まれる場合は、ファイルが選択されます。The files will be selected if their last modified time are within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. 時刻は "2018-12-01T05:00:00Z" の形式で UTC タイム ゾーンに適用されます。The time is applied to UTC time zone in the format of "2018-12-01T05:00:00Z".

多数のファイルにファイル フィルターを実行する場合は、この設定を有効にすることで、データ移動の全体的なパフォーマンスが影響を受けることに注意してください。Be aware the overall performance of data movement will be impacted by enabling this setting when you want to do file filter from huge amounts of files.

プロパティは、ファイル属性フィルターをデータセットに適用しないことを意味する NULL にすることができます。The properties can be NULL that mean no file attribute filter will be applied to the dataset. modifiedDatetimeStart に datetime 値を設定し、modifiedDatetimeEnd を NULL にした場合は、最終更新時刻属性が datetime 値以上であるファイルが選択されることを意味します。When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. modifiedDatetimeEnd に datetime 値を設定し、modifiedDatetimeStart を NULL にした場合は、最終更新時刻属性が datetime 値以下であるファイルが選択されることを意味します。When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be selected.
いいえNo
formatformat ファイルベースのストア間でファイルをそのままコピー (バイナリ コピー) する場合は、入力と出力の両方のデータセット定義で format セクションをスキップします。If you want to copy files as is between file-based stores (binary copy), skip the format section in both the input and output dataset definitions.

特定の形式のファイルを解析または生成する場合、サポートされるファイル形式の種類は、TextFormatJsonFormatAvroFormatOrcFormatParquetFormat です。If you want to parse or generate files with a specific format, the following file format types are supported: TextFormat, JsonFormat, AvroFormat, OrcFormat, and ParquetFormat. formattype プロパティをいずれかの値に設定します。Set the type property under format to one of these values. 詳細については、Text 形式Json 形式Avro 形式Orc 形式Parquet 形式 の各セクションを参照してください。For more information, see the Text format, JSON format, Avro format, Orc format, and Parquet format sections.
いいえ (バイナリ コピー シナリオのみ)No (only for binary copy scenario)
compressioncompression データの圧縮の種類とレベルを指定します。Specify the type and level of compression for the data. 詳細については、サポートされるファイル形式と圧縮コーデックに関する記事を参照してください。For more information, see Supported file formats and compression codecs.
サポートされる種類は、GZipDeflateBZip2、および ZipDeflate です。Supported types are GZip, Deflate, BZip2, and ZipDeflate.
サポートされるレベルは、OptimalFastest です。Supported levels are Optimal and Fastest.
いいえNo

ヒント

フォルダーの下のすべての BLOB をコピーするには、folderPath のみを指定します。To copy all blobs under a folder, specify folderPath only.
特定の名前の単一の BLOB をコピーするには、フォルダー部分で folderPath、ファイル名で fileName を指定します。To copy a single blob with a given name, specify folderPath with folder part and fileName with file name.
フォルダーの下の BLOB のサブセットをコピーするには、フォルダー部分で folderPath、ワイルドカード フィルターで fileName を指定します。To copy a subset of blobs under a folder, specify folderPath with folder part and fileName with wildcard filter.

例:Example:

{
    "name": "AzureBlobDataset",
    "properties": {
        "type": "AzureBlob",
        "linkedServiceName": {
            "referenceName": "<Azure Blob storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "mycontainer/myfolder",
            "fileName": "*",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

コピー アクティビティのプロパティCopy activity properties

アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。For a full list of sections and properties available for defining activities, see the Pipelines article. このセクションでは、Blob Storage のソースとシンクでサポートされるプロパティの一覧を示します。This section provides a list of properties supported by the Blob storage source and sink.

ソースの種類として Blob Storage を設定するBlob storage as a source type

Parquet 形式、区切りテキスト形式およびバイナリ形式のデータセットParquet, delimited text and binary format dataset

Blob Storage をコピー先またはコピー元として Parquet 形式、区切りテキスト形式およびバイナリ形式のデータをコピーするには、Parquet 形式区切りテキスト形式およびバイナリ形式に関する記事で、形式ベースのデータセットおよびサポートされる設定について参照してください。To copy data to and from Blob storage in Parquet, delimited text or binary format, refer to Parquet format, Delimited text format and Binary format article on format-based dataset and supported settings. Azure BLOB では、形式ベースのコピー ソースの storeSettings 設定において、次のプロパティがサポートされています。The following properties are supported for Azure Blob under storeSettings settings in format-based copy source:

プロパティProperty 説明Description 必須Required
typetype storeSettings の type プロパティは AzureBlobStorageReadSetting に設定する必要があります。The type property under storeSettings must be set to AzureBlobStorageReadSetting. はいYes
recursiverecursive データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。Indicates whether the data is read recursively from the subfolders or only from the specified folder. recursive が true に設定され、シンクがファイル ベースのストアである場合、空のフォルダーおよびサブフォルダーはシンクでコピーも作成もされないことに注意してください。Note that when recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink. 使用可能な値: true (既定値) および falseAllowed values are true (default) and false. いいえNo
wildcardFolderPathwildcardFolderPath ソース フォルダーをフィルター処理するためにデータセットで構成されている、特定のコンテナーの下のワイルドカード文字を含むフォルダーのパス。The folder path with wildcard characters under the given container configured in dataset to filter source folders.
使用できるワイルドカーは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。実際のフォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has wildcard or this escape char inside.
フォルダーとファイル フィルターの例」の他の例をご覧ください。See more examples in Folder and file filter examples.
いいえNo
wildcardFileNamewildcardFileName ソース ファイルをフィルター処理するための、特定のコンテナー + folderPath/wildcardFolderPath の下のワイルドカード文字を含むファイル名。The file name with wildcard characters under the given container + folderPath/wildcardFolderPath to filter source files.
使用できるワイルドカーは、* (ゼロ文字以上の文字に一致) と ? (ゼロ文字または 1 文字に一致) です。実際のフォルダー名にワイルドカードまたはこのエスケープ文字が含まれている場合は、^ を使用してエスケープします。Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has wildcard or this escape char inside. フォルダーとファイル フィルターの例」の他の例をご覧ください。See more examples in Folder and file filter examples.
はい (データセットで fileName が指定されていない場合)Yes if fileName is not specified in dataset
modifiedDatetimeStartmodifiedDatetimeStart ファイルはフィルター処理され、元になる属性は最終更新時刻です。Files filter based on the attribute: Last Modified. 最終変更時刻が modifiedDatetimeStart から modifiedDatetimeEnd の間に含まれる場合は、ファイルが選択されます。The files will be selected if their last modified time are within the time range between modifiedDatetimeStart and modifiedDatetimeEnd. 時刻は "2018-12-01T05:00:00Z" の形式で UTC タイム ゾーンに適用されます。The time is applied to UTC time zone in the format of "2018-12-01T05:00:00Z".
プロパティは、ファイル属性フィルターをデータセットに適用しないことを意味する NULL にすることができます。The properties can be NULL which mean no file attribute filter will be applied to the dataset. modifiedDatetimeStart に datetime 値を設定し、modifiedDatetimeEnd を NULL にした場合は、最終更新時刻属性が datetime 値以上であるファイルが選択されることを意味します。When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. modifiedDatetimeEnd に datetime 値を設定し、modifiedDatetimeStart を NULL にした場合は、最終更新時刻属性が datetime 値以下であるファイルが選択されることを意味します。When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be selected.
いいえNo
modifiedDatetimeEndmodifiedDatetimeEnd 上記と同じです。Same as above. いいえNo
maxConcurrentConnectionsmaxConcurrentConnections 同時にストレージ ストアに接続する接続の数。The number of the connections to connect to storage store concurrently. データ ストアへのコンカレント接続を制限する場合にのみ指定します。Specify only when you want to limit the concurrent connection to the data store. いいえNo

注意

Parquet や区切りテキスト形式の場合、次のセクションで説明する BlobSource 型のコピー アクティビティ ソースは、下位互換性のために引き続きそのままサポートされます。For Parquet/delimited text format, BlobSource type copy activity source mentioned in next section is still supported as-is for backward compatibility. 今後は、この新しいモデルを使用することをお勧めします。ADF オーサリング UI はこれらの新しい型を生成するように切り替えられています。You are suggested to use this new model going forward, and the ADF authoring UI has switched to generating these new types.

例:Example:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSetting",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "AzureBlobStorageReadSetting",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

他の形式のソースOther format source

ORC、Avro、または JSON 形式 のデータを Blob Storage からコピーするには、コピー アクティビティのソースの種類を BlobSource に設定します。To copy data from Blob storage in ORC, Avro, or JSON format, set the source type in the copy activity to BlobSource. コピー アクティビティの source セクションでは、次のプロパティがサポートされます。The following properties are supported in the copy activity source section.

プロパティProperty 説明Description 必須Required
typetype コピー アクティビティのソースの type プロパティを BlobSource に設定する必要がありますThe type property of the copy activity source must be set to BlobSource. はいYes
recursiverecursive データをサブフォルダーから再帰的に読み取るか、指定したフォルダーからのみ読み取るかを指定します。Indicates whether the data is read recursively from the subfolders or only from the specified folder. recursive が true に設定され、シンクがファイル ベースのストアである場合、空のフォルダーおよびサブフォルダーはシンクでコピーも作成もされないことに注意してください。Note that when recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink.
使用可能な値: true (既定値) および falseAllowed values are true (default) and false.
いいえNo
maxConcurrentConnectionsmaxConcurrentConnections 同時にストレージ ストアに接続する接続の数。The number of the connections to connect to storage store concurrently. データ ストアへのコンカレント接続を制限する場合にのみ指定します。Specify only when you want to limit the concurrent connection to the data store. いいえNo

例:Example:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Azure Blob input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "BlobSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

シンクの種類として Blob Storage を設定するBlob storage as a sink type

Parquet 形式、区切りテキスト形式およびバイナリ形式のソースParquet, delimited text and binary format source

Parquet 形式、区切りテキスト形式およびバイナリ形式のデータを Blob Storage からコピーするには、Parquet 形式区切りテキスト形式およびバイナリ形式に関する記事で、形式ベースのコピー アクティビティのソースと、サポートされる設定について参照してください。To copy data from Blob storage in Parquet, delimited text or binary format, refer to Parquet format, Delimited text format and Binary format article on format-based copy activity source and supported settings. Azure BLOB では、形式ベースのコピー シンクの storeSettings 設定において、次のプロパティがサポートされています。The following properties are supported for Azure Blob under storeSettings settings in format-based copy sink:

プロパティProperty 説明Description 必須Required
typetype storeSettings の type プロパティは AzureBlobStorageWriteSetting に設定する必要があります。The type property under storeSettings must be set to AzureBlobStorageWriteSetting. はいYes
copyBehaviorcopyBehavior ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。Defines the copy behavior when the source is files from a file-based data store.

使用できる値は、以下のとおりです。Allowed values are:
- PreserveHierarchy (既定値):ファイル階層をターゲット フォルダー内で保持します。- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. ソース フォルダーに対するソース ファイルの相対パスと、ターゲット フォルダーに対するターゲット ファイルの相対パスが一致します。The relative path of source file to source folder is identical to the relative path of target file to target folder.
- FlattenHierarchy:ソース フォルダーのすべてのファイルをターゲット フォルダーの第一レベルに配置します。- FlattenHierarchy: All files from the source folder are in the first level of the target folder. ターゲット ファイルは、自動生成された名前になります。The target files have autogenerated names.
- MergeFiles:ソース フォルダーのすべてのファイルを 1 つのファイルにマージします。- MergeFiles: Merges all files from the source folder to one file. ファイルまたは BLOB の名前を指定した場合、マージされたファイル名は指定した名前になります。If the file or blob name is specified, the merged file name is the specified name. それ以外は自動生成されたファイル名になります。Otherwise, it's an autogenerated file name.
いいえNo
maxConcurrentConnectionsmaxConcurrentConnections 同時にストレージ ストアに接続する接続の数。The number of the connections to connect to storage store concurrently. データ ストアへのコンカレント接続を制限する場合にのみ指定します。Specify only when you want to limit the concurrent connection to the data store. いいえNo

注意

Parquet や区切りテキスト形式の場合、次のセクションで説明する BlobSink 型のコピー アクティビティ シンクは、下位互換性のために引き続きそのままサポートされます。For Parquet/delimited text format, BlobSink type copy activity sink mentioned in next section is still supported as-is for backward compatibility. 今後は、この新しいモデルを使用することをお勧めします。ADF オーサリング UI はこれらの新しい型を生成するように切り替えられています。You are suggested to use this new model going forward, and the ADF authoring UI has switched to generating these new types.

例:Example:

"activities":[
    {
        "name": "CopyFromBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Parquet output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "ParquetSink",
                "storeSettings":{
                    "type": "AzureBlobStorageWriteSetting",
                    "copyBehavior": "PreserveHierarchy"
                }
            }
        }
    }
]

他の形式のシンクOther format sink

ORC/Avro/JSON 形式のデータを Blob Storage にコピーするには、コピー アクティビティのシンクの種類を BlobSink に設定します。To copy data to Blob storage in ORC/Avro/JSON format, set the sink type in the copy activity to BlobSink. sink セクションでは、次のプロパティがサポートされます。The following properties are supported in the sink section.

プロパティProperty 説明Description 必須Required
typetype コピー アクティビティのシンクの type プロパティは BlobSink に設定する必要があります。The type property of the copy activity sink must be set to BlobSink. はいYes
copyBehaviorcopyBehavior ソースがファイル ベースのデータ ストアのファイルの場合は、コピー動作を定義します。Defines the copy behavior when the source is files from a file-based data store.

使用できる値は、以下のとおりです。Allowed values are:
- PreserveHierarchy (既定値):ファイル階層をターゲット フォルダー内で保持します。- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. ソース フォルダーに対するソース ファイルの相対パスと、ターゲット フォルダーに対するターゲット ファイルの相対パスが一致します。The relative path of source file to source folder is identical to the relative path of target file to target folder.
- FlattenHierarchy:ソース フォルダーのすべてのファイルをターゲット フォルダーの第一レベルに配置します。- FlattenHierarchy: All files from the source folder are in the first level of the target folder. ターゲット ファイルは、自動生成された名前になります。The target files have autogenerated names.
- MergeFiles:ソース フォルダーのすべてのファイルを 1 つのファイルにマージします。- MergeFiles: Merges all files from the source folder to one file. ファイルまたは BLOB の名前を指定した場合、マージされたファイル名は指定した名前になります。If the file or blob name is specified, the merged file name is the specified name. それ以外は自動生成されたファイル名になります。Otherwise, it's an autogenerated file name.
いいえNo
maxConcurrentConnectionsmaxConcurrentConnections 同時にストレージ ストアに接続する接続の数。The number of the connections to connect to storage store concurrently. データ ストアへのコンカレント接続を制限する場合にのみ指定します。Specify only when you want to limit the concurrent connection to the data store. いいえNo

例:Example:

"activities":[
    {
        "name": "CopyToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Blob output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "BlobSink",
                "copyBehavior": "PreserveHierarchy"
            }
        }
    }
]

フォルダーとファイル フィルターの例Folder and file filter examples

このセクションでは、ワイルドカード フィルターを使用した結果のフォルダーのパスとファイル名の動作について説明します。This section describes the resulting behavior of the folder path and file name with wildcard filters.

folderPathfolderPath fileNamefileName recursiverecursive ソースのフォルダー構造とフィルターの結果 (太字のファイルが取得されます)Source folder structure and filter result (files in bold are retrieved)
container/Folder* (空、既定値を使用)(empty, use default) falsefalse containercontainer
    FolderA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Subfolder1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AnotherFolderB    AnotherFolderB
        File6.csv        File6.csv
container/Folder* (空、既定値を使用)(empty, use default) truetrue containercontainer
    FolderA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Subfolder1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AnotherFolderB    AnotherFolderB
        File6.csv        File6.csv
container/Folder* *.csv falsefalse containercontainer
    FolderA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Subfolder1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AnotherFolderB    AnotherFolderB
        File6.csv        File6.csv
container/Folder* *.csv truetrue containercontainer
    FolderA    FolderA
        File1.csv        File1.csv
        File2.json        File2.json
        Subfolder1        Subfolder1
            File3.csv            File3.csv
            File4.json            File4.json
            File5.csv            File5.csv
    AnotherFolderB    AnotherFolderB
        File6.csv        File6.csv

recursive と copyBehavior の例Some recursive and copyBehavior examples

このセクションでは、recursive 値と copyBhavior 値の組み合わせごとに、Copy 操作で行われる動作について説明します。This section describes the resulting behavior of the Copy operation for different combinations of recursive and copyBehavior values.

recursiverecursive copyBehaviorcopyBehavior ソースのフォルダー構造Source folder structure ターゲットの結果Resulting target
truetrue preserveHierarchypreserveHierarchy Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
ターゲット フォルダー Folder1 は、ソースと同じ構造で作成されます。The target folder Folder1 is created with the same structure as the source:

Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
truetrue flattenHierarchyflattenHierarchy Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
ターゲットの Folder1 は、次の構造で作成されます。The target Folder1 is created with the following structure:

Folder1Folder1
    File1 の自動生成された名前    autogenerated name for File1
    File2 の自動生成された名前    autogenerated name for File2
    File3 の自動生成された名前    autogenerated name for File3
    File4 の自動生成された名前    autogenerated name for File4
    File5 の自動生成された名前    autogenerated name for File5
truetrue mergeFilesmergeFiles Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
ターゲットの Folder1 は、次の構造で作成されます。The target Folder1 is created with the following structure:

Folder1Folder1
    File1、File2、File3、File4、File5 の内容は 1 つのファイルにマージされて、自動生成されたファイル名が付けられます。    File1 + File2 + File3 + File4 + File5 contents are merged into one file with an autogenerated file name.
falsefalse preserveHierarchypreserveHierarchy Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
ターゲット フォルダー Folder1 は、次の構造で作成されます。The target folder Folder1 is created with the following structure:

Folder1Folder1
    File1    File1
    File2    File2

Subfolder1 と File3、File4、File5 は取得されません。Subfolder1 with File3, File4, and File5 is not picked up.
falsefalse flattenHierarchyflattenHierarchy Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
ターゲット フォルダー Folder1 は、次の構造で作成されます。The target folder Folder1 is created with the following structure:

Folder1Folder1
    File1 の自動生成された名前    autogenerated name for File1
    File2 の自動生成された名前    autogenerated name for File2

Subfolder1 と File3、File4、File5 は取得されません。Subfolder1 with File3, File4, and File5 is not picked up.
falsefalse mergeFilesmergeFiles Folder1Folder1
    File1    File1
    File2    File2
    Subfolder1    Subfolder1
        File3        File3
        File4        File4
        File5        File5
ターゲット フォルダー Folder1 は、次の構造で作成されます。The target folder Folder1 is created with the following structure

Folder1Folder1
    File1、File2 の内容は 1 つのファイルにマージされ、自動生成されたファイル名が付けられます。    File1 + File2 contents are merged into one file with an autogenerated file name. File1 の自動生成された名前autogenerated name for File1

Subfolder1 と File3、File4、File5 は取得されません。Subfolder1 with File3, File4, and File5 is not picked up.

Mapping Data Flow のプロパティMapping Data Flow properties

Mapping Data Flow のソース変換シンク変換に関する記事で詳細を確認してください。Learn details from source transformation and sink transformation in Mapping Data Flow.

次の手順Next steps

Data Factory のコピー アクティビティによってソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアの表をご覧ください。For a list of data stores supported as sources and sinks by the copy activity in Data Factory, see Supported data stores.