首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从cli启动aws cli命令

从cli启动aws cli命令
EN

Stack Overflow用户
提问于 2020-04-22 03:07:25
回答 4查看 855关注 0票数 2

我试图使用OS进程采样器在JMeter中运行aws cli命令。我将在JMeter和aws cli都将被安装的坞上运行这个程序。但是在我这样做之前,我尝试在我的mac上本地运行这个命令,但是到目前为止我还无法让aws命令运行。

在我的本地终端上运行:A.AWS--版本b. bash j.sh (aws )都返回aws /2.0.8 Python/3.7.4达尔文/18.7.0 botocore/2.0.0dev12

这证实aws cli在path中是可用的,可以在全球范围内访问。

但是,当我从OS进程采样器运行相同的命令时,我尝试了如下: a。

代码语言:javascript
复制
Working Directory: /Users/tester/Downloads/apache-jmeter-5.1.1/bin
Environment: {}
Executing: bash aws --version

答复:bash: aws --version: No such file or directory

b.

代码语言:javascript
复制
Working Directory: /Users/tester
Environment: {}
Executing: bash j.sh
where j.sh just contains the aws --version command

答复:j.sh: line 1: aws: command not found

我遗漏了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-04-22 17:51:33

谢谢德米特里和瓦迪姆对我问题的答复。不幸的是,这两个示例都适用于Windows,在Windows中,OS进程采样器的工作方式与Mac不同。我还让它在Mac上使用操作系统进程采样器进行了很少的调整:

Mac的关键区别在于j测量仪需要安装aws cli的位置。

代码语言:javascript
复制
/usr/local/bin/aws

我找到了这个命令

代码语言:javascript
复制
which aws

我还决定使用Beanshell采样器和日志一起来完成这个任务,这将使我能够更好地编写和控制我的其他需求。以下是我的参考代码:

代码语言:javascript
复制
try {

    Process p = Runtime.getRuntime().exec("/usr/local/bin/aws --version");
    p.waitFor();


    BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
    StringBuilder logCommandOutput = new StringBuilder();
    String line;
    while ((line = in.readLine()) != null) {
        logCommandOutput.append(line);
    } in .close();
    log.info("Output: " + logCommandOutput.toString());
} catch (Exception e) {
    log.error("exception" + e);

}

希望这能帮助那些试图做同样事情的人。

票数 2
EN

Stack Overflow用户

发布于 2021-01-20 20:31:39

对于那些需要在JMeter 上运行AWS命令的用户,使用(我使用10)。下面是我的设置。

最初的命令是:

代码语言:javascript
复制
$ aws dynamodb list-tables

结果:

票数 2
EN

Stack Overflow用户

发布于 2020-04-22 10:57:51

我相信您需要按照以下方式配置您的OS进程采样器

  • 命令:/bin/bash
  • 参数1:-c
  • 参数2:aws --version

演示:

来自巴什手册页

如果存在-c选项,则从第一个非选项参数command_string读取命令。如果在command_string之后有参数,则第一个参数分配给$0,其余的参数都分配给位置参数。赋值为$0设置shell的名称,该名称用于警告和错误消息。

更多信息:如何在本地和从JMeter远程运行外部命令和程序

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61356605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档