Showing posts with label Dynamodb. Show all posts
Showing posts with label Dynamodb. Show all posts

12/08/2021

increase number in dynamodb field key value

 

Get Access permission

.

import boto3
##########################################################
ACCESS_KEY = 'xxxx'
SECRET_KEY = 'xxx'
dynamo_client = boto3.client('dynamodb',
aws_access_key_id = ACCESS_KEY,
aws_secret_access_key = SECRET_KEY
)

.


sample code

.

#update when db
def update_when_db(who, when):
dynamo_client.update_item(
TableName='president_when', #table name
Key={'when': {'S': when}}, #primary key filed name, #key value, if key file not exist, it will create
UpdateExpression="ADD #counter :increment",
ExpressionAttributeNames={'#counter': who}, #key filed name that you want to increase
ExpressionAttributeValues={':increment': {'N': '1'}} #increase 1
)

.


Thank you.

🙇🏻‍♂️


www.marearts.com




10/12/2021

aws dynamodb scan all item using paginate

 


Refer to code, Thank you!

..


import boto3

ACCESS_KEY = '***'
SECRET_KEY = '***'
dynamo_client = boto3.client(
'dynamodb',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
region_name = 'eu-west-1'
)


def Search_Item(TABLE_NAME):
paginator = dynamo_client.get_paginator('scan')
operation_parameters = {'TableName': TABLE_NAME,}
page_iterator = paginator.paginate(**operation_parameters)
return page_iterator


TABLE_NAME ='****'

page_iterator = Search_Item(TABLE_NAME)
for page in page_iterator:
for item in page['Items']:
print(item['UID']['S'])

..


www.marearts.com

🙇🏻‍♂️


9/01/2021

AWS dynamoDB safe searching way, search item by scan and get it by paginator.

 refer to follow code

--

import boto3

dynamo_client = boto3.client('dynamodb')

def Search_Item(TABLE_NAME, uid):
paginator = dynamo_client.get_paginator('scan')
operation_parameters = {
'TableName': TABLE_NAME,
'FilterExpression': 'UID = :search',
'ExpressionAttributeValues': {
':search': {'S': uid},
}
}
page_iterator = paginator.paginate(**operation_parameters)
return page_iterator

UID_list = []
TABLE_NAME ='example_Table'
UID ='example_uid'

page_iterator = Search_Item(TABLE_NAME, UID)
for page in page_iterator:
for item in page['Items']:
UID_list.append(item['UID']['S'])

--


Thank you.

www.marearts.com




1/26/2021

AWS dynamoDB, search item by condition in 3 ways

 

Most secure way is 3rd, first and second way can fail when items are many.


code start

#pre define
UID_common = '24dea8d41ef74efda24a4b37805fe6de'

#### way 1 ###
dynamodb_resource = boto3.resource('dynamodb')
docs_table = dynamodb_resource.Table(DOCUMENTS_TABLE_NAME)
resp = docs_table.scan(FilterExpression = Attr('UID_COMMON').eq(UID_common))
for item in resp['Items']:
print( item['UID'] )

#### pre-define ###
dynamo_client = boto3.client('dynamodb',
aws_access_key_id = ACCESS_KEY,
aws_secret_access_key = SECRET_KEY,
region_name = REGION
)

#### way 2 ###
response = dynamo_client.scan(
TableName = DOCUMENTS_TABLE_NAME,
ExpressionAttributeValues={':search':{'S': UID_common} },
FilterExpression = "UID_COMMON = :search"
)
for item in response['Items']:
print(item['UID']['S'] )

### way 3 ###
paginator = dynamo_client.get_paginator('scan')
operation_parameters = {
'TableName': DOCUMENTS_TABLE_NAME,
'FilterExpression': 'UID_COMMON = :search',
'ExpressionAttributeValues': {
':search': {'S': UID_common},
}
}

page_iterator = paginator.paginate(**operation_parameters)
for page in page_iterator:
for item in page['Items']:
print( item['UID']['S'] )

code end


Enjoy AWS!