Jor*_*dan 28 python-2.7 amazon-dynamodb aws-lambda
在AWS Lambda中使用python,如何从DynamoDB表中放入/获取项目?
在Node.js中,这将是这样的:
dynamodb.getItem({
"Key": {"fruitName" : 'banana'},
"TableName": "fruitSalad"
}, function(err, data) {
if (err) {
context.fail('Incorrect username or password');
} else {
context.succeed('yay it works');
}
});
Run Code Online (Sandbox Code Playgroud)
我需要的只是python等价物.
omu*_*thu 36
使用Boto3(最新的适用于python的AWS开发工具包)
你导入它
import boto3
Run Code Online (Sandbox Code Playgroud)
然后通过电话呼叫客户端
dynamodb = boto3.client('dynamodb')
Run Code Online (Sandbox Code Playgroud)
获取项目示例
dynamodb.get_item(TableName='fruitSalad', Key={'fruitName':{'S':'Banana'}})
Run Code Online (Sandbox Code Playgroud)
放项目示例
dynamodb.put_item(TableName='fruitSalad', Item={'fruitName':{'S':'Banana'},'key2':{'N':'value2'}})
Run Code Online (Sandbox Code Playgroud)
'S'表示字符串值,'N'是数值
对于其他数据类型,请参阅http://boto3.readthedocs.org/en/latest/reference/services/dynamodb.html#DynamoDB.Client.put_item
Eya*_* Ch 15
完整的例子:
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)
Run Code Online (Sandbox Code Playgroud)
请注意,您需要决定何时使用'update_item'或'put_item'.
使用'update_item'确保只有一条具有相同散列/范围的记录.如果记录存在,它可以更新此记录,否则它将创建它
http://boto3.readthedocs.org/en/latest/reference/services/dynamodb.html#DynamoDB.Client.update_item
sud*_*war 13
使用最新的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'})
Run Code Online (Sandbox Code Playgroud)
如果您正在使用AWS,则可以使用此代码示例,只需要为此lambda函数授予权限,您可以在链接中找到详细信息
小智 7
您可以使用以下行在 DynamoDB 表中写入和读取:
首先导入boto3包
import boto3
Run Code Online (Sandbox Code Playgroud)
为 dynamoDB 创建对象
dynamodb = boto3.resource('dynamodb')
Run Code Online (Sandbox Code Playgroud)
选择您的特定表
table = dynamodb.Table("fruitSalad")
Run Code Online (Sandbox Code Playgroud)
写:
table.put_item(Item= {'fruitName': 'Banana'})
Run Code Online (Sandbox Code Playgroud)
读:
table.get_item(Key={'fruitName': 'Banana'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49716 次 |
| 最近记录: |