私は以下のリンクを見ています。
フォルダパスとファイル名にワイルドカード文字を使用する機能を持つことになっています。 「アクティビティ」をクリックして[ソース]をクリックすると、このビューが表示されます。
私は何日も何日もループしたいので、このビューのようなものであるべきです。
もちろんそれは実際には働きません。 ErrorCode: 'PathNotfound'を読み込んでいます。メッセージ:「指定されたパスは存在しません。」ファイルパスとファイル名に特定の文字列の特定の文字列を指定して、すべてのフォルダ内のすべてのファイルを再帰的に反復するようにツールを手に入れる方法がありますか?ありがとう。
何日も月をループしたいと思います
プロセスを1つずつ開始しましょう。
注:このパラメータは必要に応じて他のアクティビティの出力から渡すことができます。参照: ADFのパラメータ
[。] 2. 2つのデータセットを作成します。
[。] 2.1シンクデータセット - BLOBストレージ)をリンクしています。リンクされているサービス(既存のものであることを確認してください)。必要に応じてパラメータとして渡すことができます。
[。] 2.2 Source DataSet - BLOBストレージには、または必要に応じて依存します。リンクされているサービスにリンクして、コンテナ名(存在することを確認してください)。必要に応じてパラメータとして渡されました。
[。] 注:1。フォルダパスは、データをコピーするパスを決定します。コンテナが存在しない場合は、アクティビティが作成され、ファイルが既に存在する場合はデフォルトでファイルが上書きされます。 。
2。出力パスを動的に構築する場合は、データセット内のパラメータを渡します。ここでは、MonthcopyとDatacopyというDataSetの2つのパラメータを作成しました。
[。] .パイプラインでコピーアクティビティを作成します。
[。] ワイルドカードフォルダパス:
@{concat(formatDateTime(adddays(utcnow(),-1),'yyyy'),'/',string(pipeline().parameters.month),'/',string(pipeline().parameters.day),'/*')}
where:
The path will become as: current-yyyy/month-passed/day-passed/* (the * will take any folder on one level)
_
{
"name": "pipeline2",
"properties": {
"activities": [
{
"name": "Copy Data1",
"type": "Copy",
"dependsOn": [],
"policy": {
"timeout": "7.00:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"storeSettings": {
"type": "AzureBlobStorageReadSettings",
"recursive": true,
"wildcardFolderPath": {
"value": "@{concat(formatDateTime(adddays(utcnow(),-1),'yyyy'),'/',string(pipeline().parameters.month),'/',string(pipeline().parameters.day),'/*')}",
"type": "Expression"
},
"wildcardFileName": "*.csv",
"enablePartitionDiscovery": false
},
"formatSettings": {
"type": "DelimitedTextReadSettings"
}
},
"sink": {
"type": "DelimitedTextSink",
"storeSettings": {
"type": "AzureBlobStorageWriteSettings"
},
"formatSettings": {
"type": "DelimitedTextWriteSettings",
"quoteAllText": true,
"fileExtension": ".csv"
}
},
"enableStaging": false
},
"inputs": [
{
"referenceName": "DelimitedText1",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "DelimitedText2",
"type": "DatasetReference",
"parameters": {
"monthcopy": {
"value": "@pipeline().parameters.month",
"type": "Expression"
},
"datacopy": {
"value": "@pipeline().parameters.day",
"type": "Expression"
}
}
}
]
}
],
"parameters": {
"month": {
"type": "string"
},
"day": {
"type": "string"
}
},
"annotations": []
}
}
_
{
"name": "DelimitedText1",
"properties": {
"linkedServiceName": {
"referenceName": "AzureBlobStorage1",
"type": "LinkedServiceReference"
},
"annotations": [],
"type": "DelimitedText",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"container": "corpdata"
},
"columnDelimiter": ",",
"escapeChar": "\\",
"quoteChar": "\""
},
"schema": []
}
}
_
{
"name": "DelimitedText2",
"properties": {
"linkedServiceName": {
"referenceName": "AzureBlobStorage1",
"type": "LinkedServiceReference"
},
"parameters": {
"monthcopy": {
"type": "string"
},
"datacopy": {
"type": "string"
}
},
"annotations": [],
"type": "DelimitedText",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"folderPath": {
"value": "@concat(formatDateTime(adddays(utcnow(),-1),'yyyy'),dataset().monthcopy,'/',dataset().datacopy)",
"type": "Expression"
},
"container": "copycorpdata"
},
"columnDelimiter": ",",
"escapeChar": "\\",
"quoteChar": "\""
},
"schema": []
}
}
_