我有一个Powershell脚本(.ps1),该脚本执行具有返回值的其他Powershell脚本。
我使用以下命令调用脚本:
$result = Invoke-Expression -Command ".\check.ps1 $fileCommon"
Write-Output $result
Run Code Online (Sandbox Code Playgroud)
输出仅Write-Ouput是具有其他脚本的,而没有返回值是$true或$false。
如何捕捉其他脚本的收益?
我使用此资源在EC2中创建了一个带有terraform的AMI:
resource "aws_instance" "devops-demo" {
ami = "jnkdjsndjsnfsdj"
instance_type = "t2.micro"
key_name = "demo-devops"
user_data = "${file("ops_setup.sh")}"
}
Run Code Online (Sandbox Code Playgroud)
用户数据执行安装Java JRE 的shell脚本:
sudo yum remove java-1.7.0-openjdk -y
sudo wget -O /opt/server-jre-8u172-linux-x64.tar.gz --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/server-jre-8u172-linux-x64.tar.gz"
sudo tar xzf /opt/server-jre-8u172-linux-x64.tar.gz
export JAVA_HOME=/jdk1.8.0_172
export JRE_HOME=/jdk1.8.0_171/jre
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
但是没有一个环境变量可行.但是,如果我通过ssh连接到实例并执行export命令,它可以正常工作.
有没有办法用terraform定义环境变量?
linux environment-variables amazon-ec2 amazon-web-services terraform
我得到一个JSON,我想将其转换为带参数的URL,例如:
JSON:
{
"id" : "27",
"name: : "Testing name"
}
Run Code Online (Sandbox Code Playgroud)
URL:
id=27&name=Testing+name
Run Code Online (Sandbox Code Playgroud)
我找到了一些解决方案,但仅限Javascript于此:
JavaScript 对象 (JSON) 转 URL 字符串格式
但我想用Java,不行Javascript。
知道如何使用 Java 进行转换吗?
我需要使用/定义java.io.File变量类型来获取将作为参数发送给另一个方法的文件。
现在我有相对路径:
File file = new File("C:/javaproject/src/main/resources/demo/test.txt");
Run Code Online (Sandbox Code Playgroud)
我想用ClassLoader这样的方式改变它:
ClassLoader.getSystemResource("/demo/test.txt");
Run Code Online (Sandbox Code Playgroud)
但我无法将它用于文件,因为不是同一类型。如果我使用.toString()它会返回 NullPointerException:
java.lang.NullPointerException: null
Run Code Online (Sandbox Code Playgroud)
当我用系统输出打印它时返回相同的异常: System.out.println(ClassLoader.getSystemResource("demo/test.txt").toString());
文件夹和文件都存在。为什么会出现这个错误?
我有一个mule flow以a开头,File Component它从目录中检索文件.
如何获取文件名而不是文件内容?
我读了一个包含JSON Array这样的文件:
[
{
"example":{
"name":"edward",
"lastName":"espin"
},
"error":"That name doesn't exists"
},
{
"example":{
"name":"toretto",
"lastName":"brav"
},
"error":null
}
]
Run Code Online (Sandbox Code Playgroud)
我只想使用相同的格式将错误值不为空的记录存储在新文件中。
我使用了一个for-each贯穿每个 JSON 和内部的,检查该 JSON 是否没有带有空值 ( payload.error != null)的“错误”字段。
问题是我for-each在 a 中使用 a和choice。
预期的输出必须是:
[
{
"example":{
"name":"edward",
"lastName":"espin"
},
"error":"That name doesn't exists"
}
]
Run Code Online (Sandbox Code Playgroud)
转换组件和Dataweave 2是否有更简单的方法?
我有一个Java Object作为输入的有效载荷:
{
"name"="Michael",
"surname"="Alpha",
"mail"="demo@gmail.com",
"gender"="Male"
}
Run Code Online (Sandbox Code Playgroud)
我想更改保留其余消息的性别值:
%dw 2.0
output application/java
---
gender: if(payload.gender == "Male") "" else payload.gender
Run Code Online (Sandbox Code Playgroud)
但它只返回性别字段。 我该如何解决?
这是我的基础mule flow:
HTTP Listener> Logger> Http Request> Logger(结果消息)
<http:request-config name="HTTP_Request_Configuration" host="localhost" port="8080" doc:name="HTTP Request Configuration" usePersistentConnections="false"/>
<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>
<flow name="servoy-restFlow">
<http:listener config-ref="HTTP_Listener_Configuration"
path="/" doc:name="HTTP" />
<logger message="#[message.payloadAs(java.lang.String)]" level="INFO"
doc:name="Logger" />
<http:request config-ref="HTTP_Request_Configuration"
path="service/rest/request" method="POST"
doc:name="HTTP" />
<logger message="#[message.payloadAs(java.lang.String)]" level="INFO"
doc:name="Logger" />
</flow>
Run Code Online (Sandbox Code Playgroud)
但它返回有关超时异常的错误:
********************************************************************************
Exception stack is:
1. Timeout exceeded (java.util.concurrent.TimeoutException)
com.ning.http.client.providers.grizzly.GrizzlyAsyncHttpProvider:426 (null)
2. Error sending HTTP request. Message payload is of type: String (org.mule.api.MessagingException)
org.mule.module.http.internal.request.DefaultHttpRequester:287 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/MessagingException.html)
********************************************************************************
Root …Run Code Online (Sandbox Code Playgroud) 我从外部API获得具有以下内容的text/plain 主体。输出具有相同的格式,每行JSON。
{"update":"7.6"}
{"update":"3.2"}
{"update":"1.3"}
Run Code Online (Sandbox Code Playgroud)
预期的输出(Object Array):
[{"version":"7.6"},{"version":"3.2"},{"version":"1.3"}]
Run Code Online (Sandbox Code Playgroud)
如何循环每条字符串行并转换为对象数组?
假设我必须先将每行转换为JSON。
我的输入是Array of Java Objects:
[{"name"="Demo","platform"=[{"id"="1","value"="ios"},{"id"="2","value"="android"}],"language"=[{"id"="1","value"="eng"}],"date"="20/05/2018"}, {"name"="Kernel","platform"=[{"id"="1","value"="macos"},{"id"="2","value"="linux"}],"language"=[{"id"="1","value"="ger"}],"date"="20/05/2018"}]
Run Code Online (Sandbox Code Playgroud)
每个都Java Object 包含平台和语言键中的数组,如下例所示:
{"name"="Demo","platform"=[{"id"="1","value"="ios"},{"id"="2","value"="android"}],"language"=[{"id"="1","value"="eng"}],"date"="20/05/2018"}
Run Code Online (Sandbox Code Playgroud)
这是预期的输出text/plain类型:
{"name":"Demo","platform":[{"id":"1","value":"ios"},{"id":"2","value":"android"}],"language":[{"id":"1","value":"eng"}],"date":"20/05/2018"}
{"name":"Kernel","platform":[{"id":"1","value":"macos"},{"id":"2","value":"linux"}],"language":[{"id":"1","value":"ger"}],"date":"20/05/2018"}
Run Code Online (Sandbox Code Playgroud)
是否可以应用它而不必玩字符串替换?
mule ×6
dataweave ×4
java ×3
file ×2
http ×2
json ×2
amazon-ec2 ×1
arrayobject ×1
arrays ×1
classpath ×1
encoding ×1
filter ×1
httprequest ×1
invoke ×1
linux ×1
overwrite ×1
post ×1
powershell ×1
return-value ×1
terraform ×1
timeout ×1
tostring ×1
url ×1