小编Gow*_*avi的帖子

我们可以使用boto3 Python在aws s3存储桶之间递归复制文件和文件夹吗?

是否可以使用boto3将一个源存储桶中的所有文件复制到其他目标存储桶.而源存储桶没有常规的文件夹结构.

Source bucket: SRC
Source Path: A/B/C/D/E/F..
where in D folder it has some files,
E folder has some files

Target bucket: TGT
Target path: L/M/N/
Run Code Online (Sandbox Code Playgroud)

我需要使用boto3将SRC存储桶上方的所有文件和文件夹从文件夹C复制到N文件夹下的TGT存储桶.

任何人都可以知道任何API,或者我们是否需要编写新的python脚本来完成此任务.

python amazon-s3 amazon-web-services boto3 aws-lambda

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

jq:错误:在第1行的<top-level>中未定义test1 / 0

尝试在外壳中动态添加值到数组时,我在JSON文件下面遇到错误。

下面是一个tmp.json文件,

{
  "environments": {
    "integration": [
      "testing for jenkins job"
    ],
    "prod": [],
    "staging": [],
    "uat": []
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试将值附加到带有静态变量的数组时,它可以正常工作。下面是命令jq'.environments.integration + = [“ test1”]'tmp.json

各自的输出是,

{
  "environments": {
    "appbuild": [],
    "integration": [
      "testing for jenkins job",
      "test1"
    ],
    "prod": [],
    "staging": [],
    "uat": []
  }
 }
Run Code Online (Sandbox Code Playgroud)

而当我尝试动态附加值时,会引发错误。

export Environment_Name="integration"
jq ".environments."\"${Environment_Name}"\" += test1" tmp.json
Run Code Online (Sandbox Code Playgroud)

我得到的错误是,

jq: error: test1/0 is not defined at <top-level>, line 1:
.environments."integration" += test1
jq: 1 compile error
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助解决此问题。

shell jq

7
推荐指数
2
解决办法
9441
查看次数

标签 统计

amazon-s3 ×1

amazon-web-services ×1

aws-lambda ×1

boto3 ×1

jq ×1

python ×1

shell ×1