Как переместить файлы в хранилище озера данных Azure с помощью Powershell -recursive? - PullRequest
1 голос
/ 30 октября 2019

Я пытаюсь найти способ перемещения файлов из одной папки в другую на ADLS gen1, не зная точного имени файла.

Я хотел попробовать с Get-AzDataLakeStoreChildItem и Move-AzDataLakeStoreItem с помощью-рекурсивный, но по какой-то причине это не поддерживается в AZ.

Я пытался это

Get-AzDataLakeStoreChildItem -Account "my_acc" -Path "/Training/TestCopy/Source/" |
Where-Object {$_.lastwritetime -ge (Get-Date).AddDays(-7)} -OutVariable File | 
Move-AzDataLakeStoreItem -Account "my_acc" -Destination "/Training/TestCopy/Target/$File" -WhatIf

Но он дает только: Что если: Выполнение операции "Переместить" на цель "/Training/TestCopy/Target".

Я ожидаю получить файлы из "/ Training / TestCopy / Source /" to "/ Training / TestCopy / Target /"

I 'Я не так хорош во всем этом.

1 Ответ

1 голос
/ 31 октября 2019

Насколько я понимаю, вы хотите переместить файлы из одной папки в другую папку. Если это так, вы используете команду

# Path: Specify the Data Lake Store path of the item to move
#Destination: Specify the Data Lake Store path to which to move the item
Move-AzDataLakeStoreItem -AccountName "ContosoADL" -Path "/Original/Path/File.txt" -Destination "/New/Path/RenamedFile.txt"

Для получения более подробной информации, пожалуйста, обратитесь к https://docs.microsoft.com/en-us/powershell/module/az.datalakestore/move-azdatalakestoreitem?view=azps-2.8.0.

Connect-AzAccount

$account = Get-AzDataLakeStoreAccount -ResourceGroupName asS -Name testadls02

$sourcePath="/test"
#get the files in the source folder
$files =Get-AzDataLakeStoreChildItem -Account $account.Name -Path $sourcePath

$targetPath ="/test1"

Foreach($file in $files){

  $name = $file.Name

  Move-AzDataLakeStoreItem -Account $account.Name -Path $file.Path -Destination "$targetPath/$name"
}
Write-Host "the file in sourcePath folder"
Get-AzDataLakeStoreChildItem -Account $account.Name -Path $sourcePath
Write-Host "-----------------------"
Write-Host "the file in targetPath folder"
Get-AzDataLakeStoreChildItem -Account $account.Name -Path $targetPath

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...