本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Java 和 SPARQL 的 IAM 身份验证连接到亚马逊 Neptune 数据库
本节介绍如何使用带有签名版本 4 身份验证的 RDF4 J 或 Apache Jena 连接到 Neptune。
先决条件
- Java 8 或更高版本。 
- Apache Maven 3.3 或更高版本。 - 有关在运行 Amazon Linux 的 EC2 实例上安装这些先决条件的信息,请参阅使用 IAM 身份验证连接 Amazon Neptune 数据库的先决条件。 
- 
      用于对请求进行签名的 IAM 凭证。有关更多信息,请参阅《适用于 Java 的 AWS SDK 开发人员指南》中的使用默认凭证提供程序链。 注意如果您使用的是临时凭证,这些凭证(包括会话令牌)将在指定时间间隔后到期。 在请求新凭证时,您必须更新您的会话令牌。有关更多信息,请参阅 IAM 用户指南中的使用临时安全证书请求 AWS 资源访问权限。 
- 
      将 SERVICE_REGION变量设置为以下内容之一,以指示 Neptune 数据库实例的区域:- 美国东部(弗吉尼亚州北部): - us-east-1
- 美国东部(俄亥俄州): - us-east-2
- 美国西部(北加利福尼亚): - us-west-1
- 美国西部(俄勒冈州): - us-west-2
- 加拿大(中部): - ca-central-1
- 加拿大西部(卡尔加里): - ca-west-1
- 南美洲(圣保罗): - sa-east-1
- 欧洲地区(斯德哥尔摩): - eu-north-1
- 欧洲(西班牙): - eu-south-2
- 欧洲地区(爱尔兰): - eu-west-1
- 欧洲地区(伦敦): - eu-west-2
- 欧洲地区(巴黎): - eu-west-3
- 欧洲地区(法兰克福): - eu-central-1
- 中东(巴林): - me-south-1
- 中东(阿联酋): - me-central-1
- 以色列(特拉维夫): - il-central-1
- 非洲(开普敦): - af-south-1
- 亚太地区(香港): - ap-east-1
- 亚太地区(东京): - ap-northeast-1
- 亚太地区(首尔): - ap-northeast-2
- 亚太地区(大阪): - ap-northeast-3
- 亚太地区(新加坡): - ap-southeast-1
- 亚太地区(悉尼): - ap-southeast-2
- 亚太地区(雅加达): - ap-southeast-3
- 亚太地区(墨尔本): - ap-southeast-4
- 亚太地区(马来西亚): - ap-southeast-5
- 亚太地区(孟买): - ap-south-1
- 中国(北京): - cn-north-1
- 中国(宁夏): - cn-northwest-1
- AWS GovCloud (美国西部): - us-gov-west-1
- AWS GovCloud (美国东部): - us-gov-east-1
 
使用签名版本 4 签名的 RDF4 J 或 Apache Jena 连接到 Neptune
- 
      从中克隆示例存储库 GitHub。 git clone https://github.com/aws/amazon-neptune-sparql-java-sigv4.git
- 
      更改到克隆的目录中。 cd amazon-neptune-sparql-java-sigv4
- 
      通过检出具有最新标签的分支获取项目的最新版本。 git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
- 
      输入以下命令之一以编译和运行示例代码。 your-neptune-endpoint替换为您的 Neptune 数据库实例的主机名或 IP 地址。默认端口为 8182。注意有关查找 Neptune 数据库实例的主机名的信息,请参阅连接到 Amazon Neptune 端点部分。 Eclipse J RDF4输入以下内容以运行 RDF4 J 示例。 mvn compile exec:java \ -Dexec.mainClass="com.amazonaws.neptune.client.rdf4j.NeptuneRdf4JSigV4Example" \ -Dexec.args="https://your-neptune-endpoint:port"Apache Jena输入以下内容以运行 Apache Jena 示例。 mvn compile exec:java \ -Dexec.mainClass="com.amazonaws.neptune.client.jena.NeptuneJenaSigV4Example" \ -Dexec.args="https://your-neptune-endpoint:port"
- 要查看示例的源代码,请参阅 - src/main/java/com/amazonaws/neptune/client/目录中的示例。
要在您自己的 Java 应用程序中使用 SigV4 签名驱动程序,请将 amazon-neptune-sigv4-signer Maven 程序包添加到 pom.xml 的 <dependencies> 部分。我们建议您从示例开始着手。