Изменения в PowerShell Azure для проверки файла в хранилище озера данных Azure Gen 1 и запуска сценария BAT - PullRequest
2 голосов
/ 14 октября 2019

Мне нужно запустить BAT-файл, как только он станет доступен в хранилище озера данных Azure - Gen 1. У меня есть сценарий PowerShell, который выполняет проверку папки из моего C: \ Temp, но мне нужно изменить его на Azure. Место хранения хранилища данных.

Вместо C: \ Temp я использую AzureRmDataLakeStoreItem, но в этом возникают ошибки.

Ниже приведен сценарий PS:

 Param (
    #[string]$Path = "C:\Temp"
    [string]$Path = "Test-AzureRmDataLakeStoreItem -AccountName "aruntesting1" -Path "/MyFiles/test.csv" "
    )

### Look for any files from the path mentioned above
    $watcher = New-Object System.IO.FileSystemWatcher
    $watcher.Path = $Path
    $watcher.Filter = "*.*"
    $watcher.IncludeSubdirectories = $true
    $watcher.EnableRaisingEvents = $true  

### DEFINE ACTIONS AFTER AN EVENT IS DETECTED
    $action = { 
                $A = Start-Process -FilePath C:\Users\arsivana\Desktop\Arun\Project\xyz\test.bat -Wait -passthru;$a.ExitCode
              } 


### Events to be watched 
    Register-ObjectEvent $watcher "Created" -Action $action
    Register-ObjectEvent $watcher "Changed" -Action $action
    Register-ObjectEvent $watcher "Deleted" -Action $action
    Register-ObjectEvent $watcher "Renamed" -Action $action
    while ($true) {sleep 2}

1 Ответ

0 голосов
/ 17 октября 2019

Согласно моим исследованиям, команда Test-AzureRmDataLakeStoreItem используется для проверки наличия файла в учетной записи. Если файл существует, он возвращает истину. В противном случае возвращается false. Для более подробной информации, пожалуйста, обратитесь к документу . Поэтому я думаю, что вы можете использовать скрипт для запуска

$result = Test-AzureRmDataLakeStoreItem -Account $account -Path $path -PathType File
 if($result){ Start-Process }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...