【问题标题】:how to run aws cli command to access aws bucket in JAVA如何运行 aws cli 命令以访问 JAVA 中的 aws 存储桶
【发布时间】:2019-03-20 18:05:50
【问题描述】:

AWS 访问密钥 ID [****************]

AWS 秘密访问密钥 [****************]

默认区域名称 [us-east-1]

默认输出格式[json]:默认输出格式

如何通过 java 代码运行 AWS CLI 以将对象复制到 aws 存储桶

【问题讨论】:

    标签: java amazon-web-services amazon-s3 command-line-interface aws-cli


    【解决方案1】:

    尝试以下代码一次执行多个命令:

    public class DemoClass {
        public static void main(String[] args) {
            try {
                Runtime.getRuntime().exec("cmd /c command1 && command2 && command3");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    } 
    

    【讨论】:

      【解决方案2】:

      如果您需要访问 AWS S3 存储桶并使用 java 对其执行操作,那么您不需要使用 AWS cli

      相反,您可以使用AWS Java SDK 轻松做到这一点以及更多操作

      以下是 AWS SDK 页面的摘录

      SDK 通过提供 Java API 帮助降低编码的复杂性 适用于许多 AWS 服务,包括 Amazon S3、Amazon EC2、DynamoDB 和 更多的。单个可下载的软件包包括 AWS Java 库, 代码示例和文档。

      如果由于某种原因您只想使用 cli 本身并从 Java 调用 cli 命令,那么您可以使用以下示例,只需将 awsCliCommand 值更改为您要运行的命令

      public class MyAwsCliExec {
          public static void main(String[] args) {
              try {
                  String awsCliCommand = "aws s3 ls";
                  Runtime.getRuntime().exec("cmd /c start cmd.exe /K \""+awsCliCommand+"\"");
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      } 
      

      【讨论】:

      • 我是使用 AWS 的 SDK 完成的,但我想使用 AWS CLI 在 java 的 Runtime 类中运行我的代码。
      • 更新了关于如何使用 Runtime 类和 AWS CLI 来做到这一点的答案
      猜你喜欢
      • 2021-06-10
      • 2017-08-24
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2016-11-16
      • 2016-03-07
      相关资源
      最近更新 更多