【问题标题】:How to run PowerShell from Azure Data Factory如何从 Azure 数据工厂运行 PowerShell
【发布时间】:2018-10-09 12:44:22
【问题描述】:

我有 PowerShell 脚本,它为每 1000 条记录将一个复杂的 CSV 文件拆分为一个较小的 CSV 文件。代码如下:

$i=0;Get-Content C:\Users\dell\Desktop\Powershell\Input\bigsizeFile.csv -ReadCount 1000 | %{$i++; $_ | Out-File C:\Users\dell\Desktop\Powershell\Output\file$i.csv
}

现在我想在 Azure PowerShell 中使用这个脚本,并且我想从 Azure 数据工厂运行它。有人可以帮忙吗?

【问题讨论】:

    标签: powershell azure-data-factory azure-powershell azure-data-lake


    【解决方案1】:

    我能够通过将脚本作为应用程序加载到与批处理自定义活动关联的批处理帐户中来运行 PowerShell 脚本。从那里它找出正确的语法糖来使用环境变量来获取我的脚本的路径并运行它。我是这样做的:

    powershell powershell -command (\"(Get-ChildItem Env:AZ_BATCH_APP_PACKAGE_powershellscripts#1.0).Value\" + '\\Powershell\\processFromAzure.ps1
    

    如果您只想从任务目录调用,这应该可以:

    powershell powershell -command ("$env:AZ_BATCH_TASK_DIR" + '\wd\processFromAzure.ps1')
    

    希望这对其他人有帮助!

    【讨论】:

    • 很抱歉恢复这个 - 但我在试图通过自定义活动运行 PS 脚本时束手无策 - 我对“ ...通过将脚本作为应用程序加载到批处理中感兴趣与批量自定义活动关联的帐户”。你有机会给我解释一下吗?例如,如果我在这里有一个 PS 脚本 > PSTestBlob.blob.core.windows.net/TestingBlo/PowerShell/… 接下来我该怎么做?
    【解决方案2】:

    您可以在 ADFv2 中使用 Custom activity 来执行您的 powershell 命令。 Here 就是一个例子。

    【讨论】:

    • 该示例正在运行 .Net 活动。通过 ADFv2 运行 powershell 脚本是一个非常不同的过程。是的,自定义活动就是答案,但有关如何设置自定义活动以访问存储以正确查找和引用输入文件和输出目录的更多详细信息将大有帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多