小编jag*_*ar3的帖子

如何使用JMESPath将两个数组(`keys`和`values`)组合成一个对象?

我有一个带有两个数组的JSON对象 - 一个keys数组和一个values数组,两者长度相同.使用jmespath,我想构造一个新对象,使用keys数组的值作为键,values数组的值作为值,就像array_combine在PHP中一样.

例如,这是输入:

{
    "keys": [
        "a",
        "b",
        "c"
    ],
    "values": [
        1,
        2,
        3
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我期待的输出:

{
    "a": 1,
    "b": 2,
    "c": 3
}
Run Code Online (Sandbox Code Playgroud)

有没有内置功能来实现这一目标?

jmespath

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

在Amazon S3中列出给定级别的目录

我在亚马逊S3桶中存储了200万个文件.下面有一个给定的根(l1),l1下的目录列表,然后每个目录包含文件.所以我的桶看起来像下面这样

l1/a1/file1-1.jpg
l1/a1/file1-2.jpg
l1/a1/... another 500 files
l1/a2/file2-1.jpg
l1/a2/file2-2.jpg
l1/a2/... another 500 files
....

l1/a5000/file5000-1.jpg
Run Code Online (Sandbox Code Playgroud)

我想尽快列出二级条目,所以我想得到a1,a2,a5000.我不想列出所有的密钥,这将花费更长的时间.

我很乐意直接使用AWS api,但是到目前为止我已经使用ruby中的right_aws gem玩了http://rdoc.info/projects/rightscale/right_aws

该gem中至少有两个API,我尝试在S3模块中使用bucket.keys(),在S3Interface模块中使用incrementally_list_bucket().例如,我可以设置前缀和分隔符列出所有l1/a1/*,但我无法弄清楚如何仅列出l1中的第一级.在incrementally_list_bucket()返回的哈希中有一个:common_prefixes条目,但在我的测试样本中没有填写.

S3 API可以实现此操作吗?

谢谢!

ruby directory amazon-s3

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

标签 统计

amazon-s3 ×1

directory ×1

jmespath ×1

ruby ×1