小编nad*_*ish的帖子

使用Bash变量构建JSON字符串

我需要将这些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)

bash json quoting

35
推荐指数
8
解决办法
3万
查看次数

docker运行将参数传递给入口点

我可以使用-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)

docker dockerfile

11
推荐指数
2
解决办法
8873
查看次数

如何让 pg_dump 包含创建用户命令

我需要创建以下所有命令的转储。

   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)

postgresql

7
推荐指数
1
解决办法
6828
查看次数

使用内联策略创建 IAM 角色的 cloudformation 模板

我正在尝试使用以下模板创建 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)

amazon-web-services aws-cloudformation

5
推荐指数
1
解决办法
5960
查看次数

如何使用AWS Java SDK设置AWS容器凭证

我要使用ContainerCredentialsProvider(CredentialsEndpointProvider) 代替ContainerCredentialsProvider(),因为后者已弃用。

目前,我正在使用以下弃用的构造函数ContainerCredentialsProvider()

AWSSimpleSystemsManagement ssm = 
    AWSSimpleSystemsManagementClientBuilder
        .standard()
        .withRegion(region)
        .withCredentials(new ContainerCredentialsProvider())
        .build();
Run Code Online (Sandbox Code Playgroud)

CredentialsEndpointProvider是一个抽象类。我需要ECSCredentialsEndPointProvider在docker中使用类似的内容,但我不确定该怎么做。任何帮助表示赞赏。

java amazon-web-services amazon-ecs aws-java-sdk

5
推荐指数
2
解决办法
569
查看次数

Windows Puppet 代理无法连接到 AWSOpsWorks Puppet Enterprise 主机

我已经使用 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)

puppet aws-opsworks puppet-enterprise

3
推荐指数
1
解决办法
943
查看次数

无法使用 SetEnvironmentVariable 设置 PATH

我正在尝试在我的 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)

powershell erlang rabbitmq

2
推荐指数
1
解决办法
1161
查看次数