我的Datomic存储URI是什么?
我按照Running on AWS的Datomic文档在CloudFormation上创建了一个事务处理机。我花了很长时间寻找EC2事务处理机IP,但显然事务处理机详细信息已写入存储。
那么我该如何找出它是什么呢?有什么最简单的方法可以测试我可以连接到它,而不会在代码中冒错误的风险?像bin/test-connection <datomic://some-uri> =>这样的东西“连接到同级就很好了”。那就好了。
(如果来自Cognitect的任何人正在阅读这篇文章,我试图给您钱,但部署Datomic太难了。)
发布于 2018-01-12 01:59:41
在Datomic documentation中,DynamoDB连接URI为:
(def uri "datomic:ddb://{region}/{your-system-name}/{db-name}")对于凭证,您可以将AWS_ACCESS_KEY_ID和AWS_SECRET_KEY导出到环境,或者将?aws_access_key_id={key}&aws_secret_key={secret}作为查询参数附加到URI上。
在您的ddb-transactor.properties文件中,您将有一个aws-dynamodb-table=属性设置为your-system-name。如果你已经启动了你的堆栈,你可以在这里查看发电机数据库控制台下的DDB表名/系统名:
https://console.aws.amazon.com/dynamodb/home?region=us-east-1#tables
要进行连接,您需要创建一个DB。这是一个来自REPL的示例连接,其中包含我的AWS凭据,这些凭据来自环境。
Clojure 1.9.0-RC1
user=> (require '[datomic.api :as d])
nil
user=> (def uri "datomic:ddb://us-east-1/jaret-test-name/test")
#'user/uri
user=> (d/create-database uri)
true
user=> (def conn (d/connect uri))
#'user/conn
user=> (def db (d/db conn))
#'user/db我还想指出,我之所以能够从本地计算机连接,是因为我在cf-template.properties文件中取消了对aws-ingress-cidrs=0.0.0.0/0的注释。
https://stackoverflow.com/questions/48069084
复制相似问题