本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Neptune JDBC 连接
Amazon Neptune 发布了一款开源 JDBC 驱动程序
该驱动程序与 JDBC 4.2 兼容,并且至少需要 Java 8。有关如何使用 JDBC 驱动程序的信息,请参阅 JDBC API 文档
该 GitHub 项目包含驱动程序的详细文档,您可以在其中提交问题和打开功能请求:
Neptune JDBC 驱动程序入门
要使用 Neptune JDBC 驱动程序连接到 Neptune 实例,要么必须将 JDBC 驱动程序部署在与您的 Neptune 数据库集群在同一 VPC 中的 Amazon EC2 实例上,要么该实例必须通过 SSH 隧道或负载均衡器可用。SSH 隧道可以在驱动程序内部设置,也可以在外部设置。
您可从此处neptune-jdbc-1.0.0-all.jar
。要使用它,请将 JAR 文件放在应用程序的 classpath
中。或者,如果您的应用程序使用 Maven 或 Gradle,则可以使用相应的 Maven 或 Gradle 命令从 JAR 安装驱动程序。
驱动程序需要 JDBC 连接 URL 才能连接 Neptune,格式如下:
jdbc:neptune:
(connection type)
://(host)
;property
=value
;property
=value
;...
;property
=value
GitHub 项目中每种查询语言的章节描述了您可以在 JDBC 连接 URL 中为该查询语言设置的属性。
如果 JAR 文件位于应用程序的 classpath
中,则无需进行其它配置。您可以使用 JDBC DriverManager
接口和 Neptune 连接字符串连接驱动程序。例如,如果您可以通过端口 8182 上的 neptune-example.com
端点访问您的 Neptune 数据库集群,则可以像这样连接 openCypher:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; void example() { String url = "jdbc:neptune:opencypher://bolt://neptune-example:8182"; Connection connection = DriverManager.getConnection(url); Statement statement = connection.createStatement(); connection.close(); }
GitHub 项目中每种查询语言的文档部分描述了在使用该查询语言时如何构造连接字符串。
将 Tableau 与 Neptune JDBC 驱动程序结合使用
要将 Tableau 与 Neptune JDBC 驱动程序结合使用,请先下载并安装最新版本的 Tableau Desktop.taco
文件)。
在 Mac 上连接适用于 Neptune 的 Tableau
将 Neptune JDBC 驱动程序 JAR 文件放入
/Users/
文件夹中。(your user name)
/Library/Tableau/Drivers将 Neptune Tableau 连接器
.taco
文件放在/Users/
文件夹中。(your user name)
/Documents/My Tableau Repository/Connectors-
如果您启用了 IAM 身份验证,请为其设置环境。请注意,在
.zprofile/
、.zshenv/
、.bash_profile
等中设置的环境变量将不起作用。必须设置环境变量,这样它们才能由 GUI 应用程序加载。设置凭证的一种方法是将访问密钥和私密密钥放在
/Users/
文件中。(your user name)
/.aws/credentials设置服务区域的一种简单方法是打开终端,然后使用应用程序的区域(例如,
us-east-1
)输入以下命令:launchctl setenv SERVICE_REGION
region name
还有其它方法可以设置在重启后仍然存在的环境变量,但是无论使用哪种技术,都必须设置 GUI 应用程序可以访问的变量。
-
要将环境变量加载到 Mac 上的 GUI 中,请在终端上输入以下命令:
/Applications/Tableau/Desktop/2021.1.app/Contents/MacOS/Tableau
在 Windows 计算机上连接到适用于 Neptune 的 Tableau
将 Neptune JDBC 驱动程序 JAR 文件放入
C:\Program Files\Tableau\Drivers
文件夹中。将 Neptune Tableau 连接器
.taco
文件放在C:\Users\
文件夹中。(your user name)
\Documents\My Tableau Repository\Connectors-
如果您启用了 IAM 身份验证,请为其设置环境。
这可以像设置用户
ACCESS_KEY
、SECRET_KEY
和SERVICE_REGION
环境变量一样简单。
Tableau 处于打开状态后,选择窗口左侧的更多。如果 Tableau 连接器文件位置正确,则可以在显示的列表中选择 Amazon的 Amazon Neptune:
![在 Tableau 中选择 SQL](images/tableau-sql-gremlin.png)
您不必编辑端口,也不必添加任何连接选项。输入您的 Neptune 端点并设置您的 IAM 和 SSL 配置(如果您使用 IAM,则必须启用 SSL)。
当您选择登录时,如果您的图形很大,则连接时间可能超过 30 秒。Tableau 正在收集顶点和边缘表并联接边缘上的顶点,并创建可视化效果。
对 JDBC 驱动程序连接进行故障排除
如果驱动程序无法连接到服务器,请使用 JDBC Connection
对象的 isValid
函数来检查连接是否有效。如果函数返回 false
(表示连接无效),请检查所连接的端点是否正确,以及您是否在 Neptune 数据库集群的 VPC 中,或者您是否有通往该集群的有效 SSH 隧道。
如果您从 DriverManager.getConnection
调用中获得 No suitable driver found for
响应,则连接字符串的开头可能存在问题。请确保您的连接字符串以如下方式开头:(connection
string)
jdbc:neptune:
opencypher
://...
要收集有关连接的更多信息,可以在连接字符串中添加 LogLevel
,如下所示:
jdbc:neptune:
opencypher
://(JDBC URL)
:(port)
;logLevel=trace
或者,您可以在输入属性中添加 properties.put("logLevel", "trace")
来记录跟踪信息。