I am successfully getting an item from DynamoDB in a Lambda Pyton with Boto3. However, I am getting attribute: value. not just the value. Is there a way to invoke get_tem to get just the value?
Python Code:
import json
import boto3
def lambda_handler(event, context):
dynamodb = boto3.resource('dynamodb', region_name = 'us-east-1')
table = dynamodb.Table('D12Sites')
response = table.get_item(
Key={'SitesID': '1'},
ProjectionExpression='D12Website',
)
resp1 = response["Item"]
print(resp1)
#resp1 is: {'D12Website': 'http://site.live'}
#Need just: 'http://site.live'
return {
'statusCode': 200,
'body': json.dumps(response["Item"]),
}
#{'D12Website': 'http://site.live'}
Just to be sure.....First, thanks. Second: this works on the variable response, not call the database table again. Correct?
Yes, The Response Variable Holds the result of the get_item operation which already retrieves the item from dynamodb table, so by extracting value from the response variable you are not making another call to database