我已将一个数据组交易器部署到AWS云组,连接到DyanmoDB作为存储。如果我转到我的本地数据组目录(版本0.9.5.44)并使用repl:
,我就可以连接到transactor=> (def uri "datomic:ddb://us-east-1/datemo/test-db?aws_access_key_id={xxx}&aws_secret_key={yyy}")
=> (def conn (d/connect uri))
#object[datomic.peer.Connection 0x5e5ddfbc "{:unsent-updates-queue 0, :pending-txes 0,:next-t 1000, :basis-t 63, :index-rev 0, :db-id \"test-db-ab4b8028-e25b-4431-b2a2-c7173b4c9918\"}"]
但是,如果我在项目的repl中执行相同的操作,则它不起作用,而是出现以下错误:
CompilerException java.lang.NoClassDefFoundError:无法初始化 class datomic.ddb_cluster__init, 编译:(形状init1336530578825920965.clj:1:11)
顺便说一句,如果我尝试连接到我通常的数据开发处理器,它就可以正常工作。有谁知道我在这里做错了什么?该错误似乎表明该课程甚至不存在......
答案 0 :(得分:2)
您需要在项目中包含Datomic Peer库和AWS SDK作为依赖项,以连接到DDB支持的实例。
文档的这一部分:http://docs.datomic.com/storage.html#sec-6-1包含有关包含AWS SDK的详细信息。
-Marshall