Última actualización el
21-12-2021
Description
This function searches for items based on the values of the primary key values.
For more information, see Query.
Category
History
ColdFusion (2021 release): Added this function.
Syntax
serviceHandle.query(requestParameters)
Parameters
See request parameters of Query.
Example
<cfscript> cred = { "credentialAlias" : "myalias", "vendorName" : "AWS", "region" : "us-east-2", "secretAccessKey" : "xxxxx", "accessKeyId" : "xxxx" } config = { "serviceName" = "DYNAMODB" } dynamo = getCloudService(cred, config) // Stage 1: create a table tableName="MusicTableForDemo" tableStruct={ TableName : "#tableName#", KeySchema:[ { AttributeName: "Artist", KeyType: "HASH"}, // Partition key { AttributeName: "SongTitle", KeyType: "RANGE"} // Sort key ], AttributeDefinitions:[ { AttributeName: "Artist", AttributeType: "S" }, { AttributeName: "SongTitle", AttributeType: "S" } ], ProvisionedThroughput:{ ReadCapacityUnits: 10, WriteCapacityUnits: 10 } } try{ createResponse=dynamo.createTable(tableStruct) writeOutput("Table created successfully") } catch (any e){ writeDump(e) } // Stage 2: batch write item batchWriteItemStruct={ "RequestItems":{ "#tableName#":[ { "PutRequest":{ "Item":{ "Artist":{"S":"Beatles"}, "SongTitle":{"S":"Yesterday"} } } }, { "PutRequest":{ "Item":{ "Artist":{"S":"Rolling STones"}, "SongTitle":{"S":"Angie"} } } }, { "PutRequest":{ "Item":{ "Artist":{"S":"Beatles"}, "SongTitle":{"S":"Hey Jude"} } } }, { "PutRequest":{ "Item":{ "Artist":{"S":"Beatles"}, "SongTitle":{"S":"Let it be"} } } }, { "PutRequest":{ "Item":{ "Artist":{"S":"Lionel Richie"}, "SongTitle":{"S":"Hello"} } } }, { "PutRequest":{ "Item":{ "Artist":{"S":"Adele"}, "SongTitle":{"S":"Hello, I Love You"} } } }, { "PutRequest":{ "Item":{ "Artist":{"S":"Adele"}, "SongTitle":{"S":"Hello"} } } } ] } } try{ qriteItemResponse=dynamo.batchWriteItem(batchWriteItemStruct,{"hasType":true}) writeOutput("Items inserted successfully") writeDump(qriteItemResponse) } catch (any e){ writeDump(e) } // Stage 3: query the table // Return a single song, by primary key queryStruct={ "TableName":"#tableName#", "KeyConditionExpression": "Artist =:a and SongTitle =:t", "ExpressionAttributeValues": { ":a": "Beatles", ":t": "Yesterday" } } // Output of first case try{ queryResponse=dynamo.query(queryStruct,{"customResponse":true}) writeOutput("Items returned successfully") writeDump(queryResponse) } catch (ay e){ writeDump(e) } // Return all songs by a particular artist queryStructArtist={ "TableName":"#tableName#", "KeyConditionExpression":"Artist =:a", "ExpressionAttributeValues":{ ":a": "Beatles" } } // Output of second case try{ queryResponseArtist=dynamo.query(queryStructArtist,{"customResponse":true}) writeOutput("Items returned successfully") writeDump(queryResponseArtist) } catch (ay e){ writeDump(e) } // Return all of the songs by an artist matching first part of title queryStructFirstPart={ "TableName":"#tableName#", "KeyConditionExpression":"Artist =:a and begins_with(SongTitle,:t)", "ExpressionAttributeValues":{ ":a":"Adele", ":t":"Hello" } } // Output of third case try{ queryResponseFirstPart=dynamo.query(queryStructFirstPart,{"customResponse":true}) writeOutput("Items returned successfully") writeDump(queryResponseFirstPart) } catch (ay e){ writeDump(e) } </cfscript>
Output