低级别接口
每个语言特定 Amazon SDK 为 Amazon DynamoDB 提供了一个低级别接口,其方法与低级别 DynamoDB API 请求非常相似。
在某些情况下,您需要使用 数据类型描述符 识别数据类型,例如 S
对于字符串,N
对于数字。
一个低级别接口可用于每种特定语言 Amazon SDK。
下面的 Java 程序使用低级别 Amazon SDK for Java 接口。程序对 Music
表中的歌曲发出 GetItem
请求,并打印该歌曲的发行年份。
com.amazonaws.services.dynamodbv2.AmazonDynamoDB
类实施 DynamoDB 低级接口。
package com.amazonaws.codesamples; import java.util.HashMap; import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.model.GetItemRequest; import com.amazonaws.services.dynamodbv2.model.GetItemResult; public class MusicLowLevelDemo { public static void main(String[] args) { AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); HashMap<String, AttributeValue> key = new HashMap<String, AttributeValue>(); key.put("Artist", new AttributeValue().withS("No One You Know")); key.put("SongTitle", new AttributeValue().withS("Call Me Today")); GetItemRequest request = new GetItemRequest() .withTableName("Music") .withKey(key); try { GetItemResult result = client.getItem(request); if (result && result.getItem() != null) { AttributeValue year = result.getItem().get("Year"); System.out.println("The song was released in " + year.getN()); } else { System.out.println("No matching song was found"); } } catch (Exception e) { System.err.println("Unable to retrieve data: "); System.err.println(e.getMessage()); } } }