how to put an Item in aws DynamoDb using aws Lambda with python

前端 未结 3 987
闹比i
闹比i 2021-02-01 01:50

Using python in AWS Lambda, how do I put/get an item from a DynamoDB table?

In Node.js this would be something like:

dynamodb.getItem({
    \"Key\": {\"f         


        
相关标签:
3条回答
  • 2021-02-01 01:59

    Using latest AWS SDK

    import boto3
    
    def lambda_handler(event, context):
        # this will create dynamodb resource object and
        # here dynamodb is resource name
        client = boto3.resource('dynamodb')
    
        # this will search for dynamoDB table 
        # your table name may be different
        table = client.Table("dynamoDB")
        print(table.table_status)
    
        table.put_item(Item= {'id': '34','company':  'microsoft'})
    

    If your are using AWS you can use this code sample, only you have to give permissions to this lambda function, you can find details in link

    0 讨论(0)
  • 2021-02-01 02:12

    Using Boto3 (Latest AWS SDK for python)

    You import it with

    import boto3
    

    Then call the client via

    dynamodb = boto3.client('dynamodb')
    

    Get item example

    dynamodb.get_item(TableName='fruitSalad', Key={'fruitName':{'S':'Banana'}})
    

    Put item example

    dynamodb.put_item(TableName='fruitSalad', Item={'fruitName':{'S':'Banana'},'key2':{'N':'value2'}})
    

    'S' indicates a String value, 'N' is a numeric value

    For other data types refer http://boto3.readthedocs.org/en/latest/reference/services/dynamodb.html#DynamoDB.Client.put_item

    0 讨论(0)
  • 2021-02-01 02:19

    full example:

    import boto3
    
    def lambda_handler(event, context):
    
        client = boto3.client('dynamodb')
    
        for record in event['Records']:
            # your logic here...
            try:
                client.update_item(TableName='dynamo_table_name', Key={'hash_key':{'N':'value'}}, AttributeUpdates={"some_key":{"Action":"PUT","Value":{"N":'value'}}}) 
            except Exception, e:
                print (e)
    

    please note that you need to decide when to use 'update_item' or 'put_item'.

    with 'update_item' you ensure to have only one record with the same hash/range. if the record exists it can update this record, else it will create it

    http://boto3.readthedocs.org/en/latest/reference/services/dynamodb.html#DynamoDB.Client.update_item

    0 讨论(0)
提交回复
热议问题