本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 Neptun JDBC e 连接
亚马逊 Neptune 发布了一款支持 Gremlin openCypher、SQL-Gremlin 和查询的开源JDBC驱动程序
该驱动程序与 JDBC 4.2 兼容,并且至少需要 Java 8。有关如何使用JDBC驱动程序的信息,请参阅JDBCAPI文档
该 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
,则无需进行其他配置。您可以使用JDBCDriverManager
接口和 Neptune 连接字符串连接驱动程序。例如,如果您的 Neptune 数据库集群可通过端口 8182 neptune-example.com
上的终端节点进行访问,则可以像这样进行 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 与 Neptun JDBC e 驱动程序配合使用
要将 Tableau 与 Neptune JDBC 驱动程序配合使用,请先下载并安装最新版本的 Tableau.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 连接器文件位置正确,则可以在显示的列表中选择 AWS的 Amazon Neptune:
![SQL在表格中选择](images/tableau-sql-gremlin.png)
您不必编辑端口,也不必添加任何连接选项。输入您的 Neptune 端点并设置您的IAM和SSL配置(SSL如果正在使用IAM,则必须启用)。
当您选择登录时,如果您的图形很大,则连接时间可能超过 30 秒。Tableau 正在收集顶点和边缘表并联接边缘上的顶点,并创建可视化效果。
JDBC驱动程序连接疑难解答
如果驱动程序无法连接到服务器,请使用JDBCConnection
对象的isValid
函数来检查连接是否有效。如果函数返回false
(表示连接无效),请检查所连接的终端节点是否正确,以及您是否在 Neptune 数据库集群中,或者您是否有SSH通往该集群的有效隧道。VPC
如果您从 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")
来记录跟踪信息。