使用jclouds和clojure(甚至只是jclouds)的简单运行脚本示例



>我有这个 clojure 代码

(let [group-name "my-test-group"
      compute (compute-service provider user password)
      node (create-node compute group-name)
      node-id (.getId node)]
  (.runScriptOnNode compute node-id ??)
  (destroy-node compute node-id))

我想在我的实例上运行ls作为示例。 我应该在??中放入什么才能使其工作?

阅读 Jclouds 文档,它说我应该在那里放置一个Statement对象,但我不知道如何在 Clojure 或 Java 中为 ls 命令创建一个语句对象。 我会接受Clojure或Java中的示例(因为我可以轻松地在两者之间进行翻译)。

runScriptOnNode有几种形式。如 ComputeService 接口中所定义,脚本可以作为Statement对象或简单字符串提供。

如果要使用该Statement,则可以使用 Statements 类中的帮助程序方法(类似于:Statements.exec("ls"))生成它,但由您使用语句或字符串形式来生成它。

以下是使用两种方法(使用 String 和 with Statement)的示例,假设 OP 中的示例代码围绕此代码:

(.runScriptOnNode compute node-id "ls")
(.runScriptOnNode compute node-id (Statements/exec "ls"))

相关内容

  • 没有找到相关文章