【问题标题】:SQL Server Job won't recognize AWS CLI commandSQL Server 作业无法识别 AWS CLI 命令
【发布时间】:2019-09-04 17:00:00
【问题描述】:

您好,我有一个带有 CmdExec 步骤的 SQL Server 作业,如下所示:

powershell.exe -file D:\Script\test.ps1

目前的 PowerShell 脚本是这样的:

aws s3 ls s3://backup-sql-day/

奇怪的是,作业成功运行,并且有这条消息。

“aws”一词未被识别为 cmdlet、函数、脚本文件的名称,
或可运行的程序。检查名称的拼写,或者是否包含路径,
验证路径是否正确,然后重试。
在 D:\Script\teste.ps1:1 char:1
+ aws s3 ls s3://backup-sql-day/
+ ~~~
     + CategoryInfo : ObjectNotFound: (aws:String) [], CommandNotFoundException
     +fullyQualifiedErrorId:CommandNotFoundException.Process

退出代码 0。
步骤成功。

所以脚本没有运行,没有向我报告错误,问题是我似乎无法在 SQL Server 作业上运行任何 AWS 脚本,但是我可以与任何用户正常运行它,是否有人有关于如何解决这个问题的线索?

【问题讨论】:

    标签: sql-server powershell amazon-s3


    【解决方案1】:

    (未损坏的)错误消息实际上是不言自明的。该脚本运行,但找不到aws 命令行工具。 PATH 环境变量中未包含 AWS CLI 安装路径,或者 SQL Server 作业忽略了系统环境。

    您可以通过在脚本中添加路径来解决此问题:

    $env:Path += ';C:\Program Files\Amazon\AWSCLI'
    aws s3 ls s3://backup-sql-day/
    

    C:\Program Files\Amazon\AWSCLI 替换为安装该工具的文件夹。

    【讨论】:

    • 问题是我使用 python 命令“pip install awscli”安装了 CLI,所以在 C:\Program Files\Amazon 上没有 AWSCLI 文件夹。
    • @GabrielGuimarães 应该使用 MSI 在 Windows 上安装它。不过,这并没有改变您需要做的任何事情。找到aws 命令行工具的位置并将该文件夹添加到PATH
    • 我需要更改代码页 (chcp 860) 我需要最新版本的 python 才能使其工作。
    • 仅出于文档目的,这是我使用的行。 $env:Path += ';C:\Program Files\Amazon\cfn-bootstrap\;C:\Program Files\Python35\Scripts\;C:\Program Files\Python35\'
    • 我必须在文件夹位置后附加“bin”才能访问“aws”命令
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 1970-01-01
    • 2013-11-26
    • 2018-01-01
    • 2017-09-29
    • 2018-06-13
    • 2019-01-03
    相关资源
    最近更新 更多