我需要将这些bash变量读入我的JSON字符串,我不熟悉bash.任何帮助表示赞赏.
#!/bin/sh
BUCKET_NAME=testbucket
OBJECT_NAME=testworkflow-2.0.1.jar
TARGET_LOCATION=/opt/test/testworkflow-2.0.1.jar
JSON_STRING='{"bucketname":"$BUCKET_NAME"","objectname":"$OBJECT_NAME","targetlocation":"$TARGET_LOCATION"}'
echo $JSON_STRING
Run Code Online (Sandbox Code Playgroud) 我可以使用-e选项传递环境变量。但是我不确定如何使用docker run命令将命令行参数传递给入口点的jar。
Docker文件
FROM openjdk
ADD . /dir
WORKDIR /dir
COPY ./test-1.0.1.jar /dir/test-1.0.1.jar
ENTRYPOINT java -jar /dir/test-1.0.1.jar
Run Code Online (Sandbox Code Playgroud)
test.sh
#! /bin/bash -l
export AWS_ACCESS_KEY_ID=$(aws configure get aws_access_key_id)
export AWS_SECRET_ACCESS_KEY=$(aws configure get aws_secret_access_key)
$value=7
docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -i -t testjava $value
Run Code Online (Sandbox Code Playgroud) 我需要创建以下所有命令的转储。
test=> create user rdstest login password 'rdstest';
CREATE ROLE
test=> grant connect on database test to rdstest;
GRANT
test=> create user devadmin login password 'devtest';
CREATE ROLE
test=> grant connect on database test to devadmin;
GRANT
test=> grant rdstest to devadmin with admin option;
GRANT ROLE
test=> grant rdstest to devadmin;
GRANT ROLE
test=> create schema authorization rdstest;
CREATE SCHEMA
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 pg_dump 作为 pg_dump -U devadmin -h ****xxx.rds.amazonaws.com test > Outfile.sql 创建它时
我只能看到与架构相关的命令
CREATE SCHEMA rdstest;
ALTER SCHEMA rdstest …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下模板创建 IAM 角色。我能够使用托管策略创建角色。当我尝试在模板中添加内联策略时出现错误
“Property PolicyDocument 不能为空。”
{
"Resources": {
"test": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ec2.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
},
"ManagedPolicyArns": [
"arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess",
"arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole",
],
"Policies": [
"PolicyName" : "create_snapshot",
"PolicyDocument" : {
"Version" : "2012-10-17",
"Statement": [ {
"Effect" : "Allow",
"Action": [
"ec2:DeleteSnapshot",
"ec2:CreateTags",
"ec2:CreateSnapshot"
],
"Resource" : "*"
} ]
}
],
"RoleName": "test"
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我要使用ContainerCredentialsProvider(CredentialsEndpointProvider)
代替ContainerCredentialsProvider(),因为后者已弃用。
目前,我正在使用以下弃用的构造函数ContainerCredentialsProvider():
AWSSimpleSystemsManagement ssm =
AWSSimpleSystemsManagementClientBuilder
.standard()
.withRegion(region)
.withCredentials(new ContainerCredentialsProvider())
.build();
Run Code Online (Sandbox Code Playgroud)
CredentialsEndpointProvider是一个抽象类。我需要ECSCredentialsEndPointProvider在docker中使用类似的内容,但我不确定该怎么做。任何帮助表示赞赏。
我已经使用 aws opsworks 创建了傀儡大师。我可以自动将 ami linux 节点添加到 puppet master。
当我尝试通过以下链接将 Windows 64 位节点添加到我的 puppet master 时遇到问题https://puppet.com/docs/pe/2017.3/installing/installing_agents.html#install-windows-agents-with -msi 包
我将 puppet-agent-x64.msi 从当前位置的 puppet master 复制到 windows 节点和 /opt/puppetlabs/server/data/packages/public//windows-x86_64-/ 并运行安装程序来安装代理。安装成功,开始菜单包含一个 Puppet 文件夹,其中包含手动运行代理、运行 Facter 和打开命令提示符以与 Puppet 工具一起使用的快捷方式。
但是 Windows 节点没有显示在 puppet web ui 中,当我尝试运行 puppet 代理时出现此错误
"Running Puppet agent on demand ...
Error: Could not request certificate: Error 403 on SERVER: Forbidden request: /puppet-ca/v1/certificate/ca (method :get). Please see the server logs for details.
Exiting; failed to retrieve certificate and waitforcert is disabled …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的 powershell 脚本中设置环境变量。
这是我的代码片段。它设置系统环境变量(系统属性>环境变量>路径)但是,我无法在powershell中启动rabbitmq-service。
'$ENV:PATH' 命令输出没有新添加的路径。系统重新启动后 $ENV:PATH 包含新路径,但命令“rabbitmq-service”仍然不起作用。
# SET Erlang and RabbitMQ Home Path
$ERLANG_HOME = "$env:PROGRAMFILES\erl9.2"
[System.Environment]::SetEnvironmentVariable("ERLANG_HOME", $ERLANG_HOME, "Machine")
$ERTS_HOME = "$env:PROGRAMFILES\erts-9.2"
[System.Environment]::SetEnvironmentVariable("ERTS_HOME", $ERTS_HOME, "Machine")
$RABBITMQ_HOME = "$env:PROGRAMFILES\RabbitMQ Server\rabbitmq_server-3.6.11"
[System.Environment]::SetEnvironmentVariable("RABBITMQ_HOME", $RABBITMQ_HOME, "Machine")
# Add Erlang and RabbitMQ to Path
$System_Path_Elems = [System.Environment]::GetEnvironmentVariable("PATH", "Machine").Split(";")
if (!$System_Path_Elems.Contains("$RABBITMQ_HOME\sbin") -and !$System_Path_Elems.Contains("$ERLANG_HOME\bin") -and !$System_Path_Elems.Contains("$ERTS_HOME\bin"))
{
$newPath = [System.String]::Join(";", $System_Path_Elems + "$ERLANG_HOME\bin" + "$ERTS_HOME\bin" + "$RABBITMQ_HOME\sbin")
[System.Environment]::SetEnvironmentVariable("PATH", $newPath, "Machine")
}
Run Code Online (Sandbox Code Playgroud)
如果我在我的脚本中使用 $env:PATH 设置 PATH,它会起作用。
$env:Path += ";C:\\Program Files\\erl9.2\\erts-9.2\\bin;
C:\\Program Files\\RabbitMQ Server\\rabbitmq_server-3.6.11\\sbin;C:\\Program Files\\erl9.2\\bin"
Run Code Online (Sandbox Code Playgroud)
我能够毫无问题地执行以下命令。
rabbitmq-service …Run Code Online (Sandbox Code Playgroud) amazon-ecs ×1
aws-java-sdk ×1
aws-opsworks ×1
bash ×1
docker ×1
dockerfile ×1
erlang ×1
java ×1
json ×1
postgresql ×1
powershell ×1
puppet ×1
quoting ×1
rabbitmq ×1