Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
# Usage: wait_for_dynamo_record
#
# Checks to see if Lambda has run to save the sizing in dynamo
wait_for_dynamodb_record() {
local response=$(check_dynamodb_record)
local count=1
while [ -z "$response" ]; do
if [ $count -ge $WAITER_ATTEMPTS ]; then
local timeout=$(($WAITER_ATTEMPTS * $WAITER_INTERVAL))
msg "No item from DynamoDB found within $timeout seconds"
return 1
fi
msg "No item in DynamoDB yet..."
sleep $WAITER_INTERVAL
response=$(check_dynamodb_record)
count=$(($count + 1))
done
msg "Item found in DynamoDB."
return 0
}
# Usage: check_dynamodb_record
#
# Checks if an item exists in the $TABLE_NAME DynamoDB table with the $DEPLOYMENT_ID.
# Returns 0 if an item was returned, 1 if no item was returned.
check_dynamodb_record() {
local response=$($AWS_CLI dynamodb get-item --table-name $TABLE_NAME \
--key '{"deploymentId":{"S":"'$DEPLOYMENT_ID'"}}')
if [ -z "$response" ]; then
return 1
else
echo $response
return 0
fi
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.