小编use*_*241的帖子

在python中解析aws sns事件数据的json数据

我能够使用sns将事件数据分配给变量

def lambda_handler(event, context):
    message = event['Records'][0]['Sns']['Message']
    print("From SNS: " + message)
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "Records": [
        {
            "eventVersion": "2.0",
            "eventSource": "aXXXX",
            "awsRegion": "XXXXX",
            "eventTime": "2016-03-09T12:24:19.255Z",
            "eventName": "ObjectCreated:Put",
            "userIdentity": {
                "principalId": "AWS:XXXXXXXXXXX"
            },
            "requestParameters": {
                "sourceIPAddress": "xxx.xxx.xx.xx"
            },
            "responseElements": {
                "x-amz-request-id": "XXXX",
                "x-amz-id-2": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
            },
            "s3": {
                "s3SchemaVersion": "1.0",
                "configurationId": "xxx-xxx-xxx",
                "bucket": {
                    "name": "bucketname",
                    "ownerIdentity": {
                        "principalId": "XXXXXX"
                    },
                    "arn": "arn:aws:s3:::xxxxx"
                },
                "object": {
                    "key": "index.js",
                    "size": 7068,
                    "eTag": "xxxx",
                    "sequencer": "0000000000"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我无法进一步解析,并得到的值awsRegion, …

python parsing json

6
推荐指数
1
解决办法
1万
查看次数

如何修复 aws CODE BUILD COMMAND_EXECUTION_ERROR 退出状态 255

我正在使用 AWS 服务代码构建 Pilepileline 等配置 CICD piepline,以更新我的 ecs Fargate 集群中的部署网络,在我的 buildspec.yml 文件中,aws ecs cli 命令失败,抛出“COMMAND_EXECUTION_ERROR:执行命令时出错:aws ecs update-service --服务 xxxxx。原因:退出状态 255”

我尝试使用“AmazonECS_FullAccess”策略向代码构建角色提供权限。

post_build:  
    commands:  
      - echo Build completed on `date`  
      - echo Pushing the Docker images...  
      - docker push $REPOSITORY_URI:latest  
      - docker push $REPOSITORY_URI:$IMAGE_TAG  
      - echo Writing image definitions file...  
      - printf '[{"name":"xxxxxxx","imageUri":"%s"}]' $REPOSITORY_URI:$IMAGE_TAG > imagedefinitions.json  
      - cat imagedefinitions.json 
      - echo Updating ECSfargate service ...  
      - aws ecs describe-services --services xxxxxxxxxxxxxxxxx 
      - aws ecs update-service --service xxxxxxxxxxxxxxxxx --desired-count 2 --no-force-new-deployment  

Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-ecs amazon-iam aws-codebuild

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

将带有键=值对的文本文件转换为jq中特定的json格式

我有一个文本文件,input.txt 中包含以下值

key1=value1\r
key2=value2
key3=value3\r
key4=value4
Run Code Online (Sandbox Code Playgroud)

需要 jq r 表达式通过删除“\r”将其转换为以下 json 格式

输出.json

{
"Environment": {
    "Variables": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
        "key4": "value4"
    }
}
Run Code Online (Sandbox Code Playgroud)

}

我尝试过下面的表达式并得到

jq -Rs [ split("\n")[] | select(length > 0) | split("=") | {(.[0]): .[1]} ] 
Run Code Online (Sandbox Code Playgroud)

并得到以下输出

[
  {
   "key1ey1": "Value1\r"
  },
  {
   "key2": "value2"
  },
  {
   "key3": "value3\r"
  },
  {
   "key4": "value4"
  }

]
Run Code Online (Sandbox Code Playgroud)

shell json jq

4
推荐指数
1
解决办法
2634
查看次数

eval 在 shellscript 中不起作用

我正在尝试使用 获取在运行时按名称选择的变量的值eval,但如果-名称中包含(连字符),则无法获取其值。

ENV=dev
REGION=us-east-1

DBUSERNAME=DB_USER_${ENV}_$REGION
DBPASSWORD=DB_PASS_${ENV}_$REGION

eval "USERNAME=\${${DBUSERNAME}}"
eval "PASSWORD=\${${DBPASSWORD}}"

echo USERNAME=$USERNAME
echo PASSWORD=$PASSWORD
Run Code Online (Sandbox Code Playgroud)

结果

echo USERNAME=east-1
echo PASSWORD=east-1
Run Code Online (Sandbox Code Playgroud)

预期结果

echo USERNAME=DB_USER_dev_us-east-1
echo PASSWORD=DB_USER_dev_us-east-1
Run Code Online (Sandbox Code Playgroud)

如果名称中没有连字符,则工作正常。

shell

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

node js lambda 中的代码:从事件数据中获取 s3 键的最后修改日期

我在 lambda 中使用节点 js 代码。
创建 S3 对象时,函数传递事件数据

var record = event.Records[0];
var bucket = record.s3.bucket.name;
var key = record.s3.object.key;
Run Code Online (Sandbox Code Playgroud)

如何获取 s3 密钥的最后修改日期以创建文件夹并将密钥粘贴到其中。

如果上次修改日期是:Mon Feb 22 14:46:23 GMT+530 2016,

那么文件夹名称必须是: Bucketname/2016/02/22/

amazon-s3 node.js aws-lambda

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

S3通知在其他区域调用sns主题

我有一个存储桶,我已经从与该存储桶相同的区域中配置了sns主题作为通知,是否有任何方法可以配置其他区域中的sns主题以在发生s3事件时调用

amazon-s3 amazon-web-services amazon-sns

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