zoukankan      html  css  js  c++  java
  • [AWS DA] DynamoDB CLI

    Using --project-expression:

    aws dynamodb scan --table-name users --projection-expression "user_id,game_id"
    {
        "Items": [
            {
                "user_id": {
                    "S": "ersaessew"
                },
                "game_id": {
                    "N": "123"
                }
            },
            {
                "user_id": {
                    "S": "fgxfbgf"
                },
                "game_id": {
                    "N": "234"
                }
            }
        ],
        "Count": 2,
        "ScannedCount": 2,
        "ConsumedCapacity": null
    }

    Using --filter-expression:

    aws dynamodb scan --table-name users --filter-expression "user_id= :u" --expression-attribute-values '{ ":u": {"S": "ersaessew"}}'

    result:

    {
        "Items": [
            {
                "user_id": {
                    "S": "ersaessew"
                },
                "game_id": {
                    "N": "123"
                },
                "game_ts": {
                    "S": "2021-05-31T11:34:19.266Z"
                }
            }
        ],
        "Count": 1,
        "ScannedCount": 2,
        "ConsumedCapacity": null
    }

    Using --page-size: 

    total we have 2 items, set page size = 1, it performance 2 api calls.

    aws dynamodb scan --table-name users --page-size 1

    Result:

    {
        "Items": [
            {
                "user_id": {
                    "S": "ersaessew"
                },
                "game_id": {
                    "N": "123"
                },
                "game_ts": {
                    "S": "2021-05-31T11:34:19.266Z"
                }
            },
            {
                "user_id": {
                    "S": "fgxfbgf"
                },
                "game_id": {
                    "N": "234"
                },
                "game_ts": {
                    "S": "2021-05-30T11:34:19.266Z"
                }
            }
        ],
        "Count": 2,
        "ScannedCount": 2,
        "ConsumedCapacity": null
    }

    If we want to limit api calls when using page size, we can use: --max-items:

    --page-size and --max-items doesn't need to be used at the same time.

    --max-items is for limit RCU

    --page-size is avoid timeout

    aws dynamodb scan --table-name users --page-size 1 --max-items 1
    {
        "Items": [
            {
                "user_id": {
                    "S": "ersaessew"
                },
                "game_id": {
                    "N": "123"
                },
                "game_ts": {
                    "S": "2021-05-31T11:34:19.266Z"
                }
            }
        ],
        "Count": 1,
        "ScannedCount": 1,
        "ConsumedCapacity": null,
        "NextToken": "eyJFeGNsdXNpdmVTdGFydEtleSI6IHsidXNlcl9pZCI6IHsiUyI6ICJlcnNhZXNzZXcifSwgImdhbWVfdHMiOiB7IlMiOiAiMjAyMS0wNS0zMVQxMTozNDoxOS4yNjZaIn19fQ=="
    }

    "NextToekn" is what you should use to get next batch of items.

    aws dynamodb scan --table-name users --page-size 1 --max-items 1 --starting-token eyJFeGNsdXNpdmVTdGFydEtleSI6IHsidXNlcl9pZCI6IHsiUyI6ICJlcnNhZXNzZXcifSwgImdhbWVfdHMiOiB7IlMiOiAiMjAyMS0wNS0zMVQxMTozNDoxOS4yNjZaIn19fQ==
    {
        "Items": [
            {
                "user_id": {
                    "S": "fgxfbgf"
                },
                "game_id": {
                    "N": "234"
                },
                "game_ts": {
                    "S": "2021-05-30T11:34:19.266Z"
                }
            }
        ],
        "Count": 0,
        "ScannedCount": 0,
        "ConsumedCapacity": null,
        "NextToken": "eyJFeGNsdXNpdmVTdGFydEtleSI6IHsidXNlcl9pZCI6IHsiUyI6ICJmZ3hmYmdmIn0sICJnYW1lX3RzIjogeyJTIjogIjIwMjEtMDUtMzBUMTE6MzQ6MTkuMjY2WiJ9fX0="
    }

    If there is no items anymore:

    {
        "Items": [],
        "Count": 0,
        "ScannedCount": 0,
        "ConsumedCapacity": null
    }
  • 相关阅读:
    随意给一组数,找出满足一下条件的a[i],a[i]左边的数小于等于a[i],a[i]右边的数大于等于a[i]
    SVN
    四种进程或线程同步互斥的控制方法
    二叉树转双向链表
    最大连续子序列和
    找出一个字符串中第一个只出现一次的字符
    清除浮动的那些事
    jQuery中ready与load事件的区别
    css 经典布局之圣杯布局(左右固定,中间自适应)
    window.name + iframe跨域实例
  • 原文地址:https://www.cnblogs.com/Answer1215/p/14832942.html
Copyright © 2011-2022 走看看