【发布时间】:2019-08-21 17:04:05
【问题描述】:
我正在尝试从 python 程序连接到 Db2 Event Store 数据库 2.0 版,但我遇到了 SSL 配置问题。在 1.1.3 版本中,我曾经设置 ConfigurationReader.setSSLEnabled(True) 并且足以让我连接,我如何在 2.0 版本中执行相同操作?
【问题讨论】:
标签: python ssl db2 ibm-event-store
我正在尝试从 python 程序连接到 Db2 Event Store 数据库 2.0 版,但我遇到了 SSL 配置问题。在 1.1.3 版本中,我曾经设置 ConfigurationReader.setSSLEnabled(True) 并且足以让我连接,我如何在 2.0 版本中执行相同操作?
【问题讨论】:
标签: python ssl db2 ibm-event-store
我没有丰富的 EventStore1.1.3 经验。但在 EventStore 2.0 中,您将需要提供一些其他配置。
EventStore 有详细的远程应用环境设置指南
https://www.ibm.com/support/knowledgecenter/SSGNPV_2.0.0/develop/dev-guide.html
但我会为你总结一下。您需要设置以下步骤:
1/ 下载spark 2.2.1或2.3.2,然后设置SPARK_HOME shell env var。
export SPARK_HOME=<SPARK_DIR>
2/ 下载在 Maven 上开源的 EventStore java 客户端 jar ibm-db2-eventstore-client-n.n.n.jar。将 jar 移动到 spark jars 目录
mv <ibm-db2-eventstore-client-n.n.n.jar> $SPARK_HOME/jars
3/ 下载EventStore Python包,并导出包路径
export PYTHONPATH="${PYTHONPATH}:<Python_package_location>
4/ 准备包含 db2 EventStore 服务器颁发的公共证书的 Java 密钥库。您将需要密钥库及其密码。
如果管理员已经为 EventStore 服务器提供了自己的证书,请向管理员索取密钥库和公共证书。 在以下代码片段中,将配置事件存储连接。
userid:EventStore 用户的用户名。
from eventstore.common import ConfigurationReader
ConfigurationReader.setConnectionEndpoints("<JDBC_CONNECTION_ENDPOINT>;<SCALA_CONNECTION_ENDPOINT>")
ConfigurationReader.setEventUser("<userid>")
ConfigurationReader.setEventPassword("<password>")
ConfigurationReader.setSslKeyStoreLocation("<keystore_path>")
ConfigurationReader.setSslKeyStorePassword("<keystore_pwd>")
ConfigurationReader.setSslTrustStoreLocation("<keystore_path>")
ConfigurationReader.setSslTrustStorePassword("<keystore_pwd>")
ConfigurationReader.setClientPluginName("IBMIAMauth")
ConfigurationReader.setClientPlugin(True)
ConfigurationReader.setSSLEnabled(True)
通过以上配置,你应该很高兴。
【讨论】: