Hebo
Hebo

Reputation: 65

boto DynamoDb query/scan ProjectionExpression syntax?

From the documentation, it says "By default, a Scan returns all of the data attributes for every item; however, you can use the ProjectionExpression parameter so that the Scan only returns some of the attributes, rather than all of them."

I am wondering if anyone knows what's the syntax for using the ProjectionExpression parameter with boto?

For example I have

leagueTable = Table('leagues', schema=[HashKey('leagueId', data_type=NUMBER)]

I want to use the ProjectionExpression parameter to scan the table and only get back the selected field.

Upvotes: 0

Views: 2585

Answers (1)

Daniela Miao
Daniela Miao

Reputation: 1373

According to the documentation at http://docs.pythonboto.org/en/latest/ref/dynamodb2.html#boto.dynamodb2.table.Table.scan , the attributes parameter will allow you to specify a tuple of attributes and only return those attributes in the result set.

However, this uses the AttributesToGet API, instead of the newer ProjectionExpression API you are referring to. ProjectionExpression will allow you to retrieve individual list or map elements. To use ProjectionExpression, you would have to use the low-level API for boto, which matches the low-level DynamoDB API closely. The scan documentation for this can be found at: http://docs.pythonboto.org/en/latest/ref/dynamodb2.html#boto.dynamodb2.layer1.DynamoDBConnection.scan

Hope that helps, good luck!

Upvotes: 0

Related Questions