Querying multiple values

10,475

You need to work with the AND expression so something like this will make the trick

$ aws rds describe-db-snapshots --include-shared \
--query 'DBSnapshots[?(DBInstanceIdentifier==`testing` && DBSnapshotIdentifier==`test1`)].{DBNAME:DBInstanceIdentifier,SNAPSHOT:DBSnapshotIdentifier}'
Share:
10,475
bob dylan
Author by

bob dylan

Just passing the time away

Updated on July 12, 2022

Comments

  • bob dylan
    bob dylan almost 2 years

    I'm trying to filter by multiple values however I can't seem to get an and clause to work (e.g. filter1 and filter 2 ... etc.):

    Show me snapshots where the database name is 'testing'

    aws rds describe-db-snapshots --include-shared --query 'DBSnapshots[?DBInstanceIdentifier==`testing`].{DBNAME:DBInstanceIdentifier,SNAPSHOT:DBSnapshotIdentifier}'
    [
        {
            "SNAPSHOT": "test1",
            "DBNAME": "testing"
        },
        {
            "SNAPSHOT": "test2",
            "DBNAME": "testing"
        },
        {
            "SNAPSHOT": "test3",
            "DBNAME": "testing"
        },
        {
            "SNAPSHOT": "test4",
            "DBNAME": "testing"
        }
    ]
    

    Show me snapshots named 'test1'

    $ aws rds describe-db-snapshots --include-shared --query 'DBSnapshots[?DBSnapshotIdentifier==`test1`].{DBNAME:DBInstanceIdentifier,SNAPSHOT:DBSnapshotIdentifier}'
    [
        {
            "SNAPSHOT": "test1",
            "DBNAME": "testing"
        },
            {
            "SNAPSHOT": "test1",
            "DBNAME": "testing2"
        }
    ]
    

    Show me snapshots from the database testing that are named test1

    aws rds describe-db-snapshots --include-shared --query 'DBSnapshots[?DBInstanceIdentifier==`testing`][?DBSnapshotIdentifier==`test1`].{DBNAME:DBInstanceIdentifier,SNAPSHOT:DBSnapshotIdentifier}'
    []
    

    How can this be achieved?

  • bob dylan
    bob dylan over 6 years
    I actually needed the && expression not || to return what I want. The link provided is much better than anything I found. Thanks. My final solution is: aws rds describe-db-snapshots --include-shared --query 'DBSnapshots[?DBInstanceIdentifier==testing && DBSnapshotIdentifier==test1].{DBNAME:DBInstanceIdentifier,SN‌​APSHOT:DBSnapshotIde‌​ntifier}' I've submitted an edit to your answer to reflect this. Once it gets approved I'll accept your response as answer.
  • Frederic Henri
    Frederic Henri over 6 years
    sorry, I misread the initial question and thought you wanted one or the other , thanks for the edit and the correction