问题标签 [google-cloud-spanner-emulator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 为什么针对 Spanner 模拟器运行的 Spanner spring 演示无法创建池化数据库连接?
我无法让 Google 的spring-data-jpa-sample 项目在 Spanner 模拟器上运行。我在 MacOS Mojave 上使用预装的 JDK 11(AdoptOpenJDK build 11.0.3+7)。
我已经对我的 GCP 帐户进行了身份验证,并按照此处记录的方式完成了模拟器设置,按照说明启动模拟器,成功创建实例,并将SPANNER_EMULATOR_HOST
环境变量设置为localhost:9010
.
当 Spring 应用程序运行时,它会失败并出现以下错误:
在此之前有两个警告。HHH000342:无法获取到查询元数据的连接)和 SQL 错误:0,SQLState:null。
如果我更新 spring.datasource.url 以添加usePlainText=true
最后,我在这里看到了建议的解决方案,结果是一样的。
应用程序代码和配置与spring-data-jpa-sample 项目中显示的完全相同,这就是为什么我没有在此处发布它 - 除了spring.datasource.url
application.properties 中的值(见下文)。要复制此问题,请按照此处的模拟器设置说明 ,克隆存储库,设置项目、实例和数据库变量并运行代码示例。
这是application.properties
文件的内容:
google-cloud-spanner - Cloud Spanner 模拟器 - docker 初始化
我正在尝试设置一个启动 cloud spanner 并对其进行初始化的 docker 容器。
使用 google 提供的这个官方 docker 镜像:gcr.io/cloud-spanner-emulator/emulator
我希望在启动时自动初始化扳手。
我用 docker 文件尝试了各种方法,总结一下:
但是由于缺少有关此映像如何工作的信息,因此很难找到是否可以在每次容器启动时对其进行初始化。
我再说一遍,我需要在容器安装时自动运行它。它将建立管道。
有没有办法用这个提供的 docker 镜像来做到这一点?或者我应该创建自己的 dockerfile 来通过 gcloud cli 安装模拟器?
intellij-idea - 从 Intellij 的 Database Navigator 插件连接到 GCloud Spanner Emulator 实例
我gcr.io/cloud-spanner-emulator/emulator
在我的开发机器上的 Docker 容器中运行。我想从Intellij Database Navigator连接到数据库,这样我就可以看到哪些数据写入了我的表。
在 Database Navigator 中,我创建了一个新的通用连接并将其配置为使用google-cloud-spanner-jdbc驱动程序(版本 1.17.3,从maven获得),使用连接字符串
如此处所述,但使用了正确的项目、实例和数据库名称。至关重要的是,我已包含此问题中记录usePlainText=true
的参数。
当我测试连接时,我收到一条错误消息,上面写着
无法连接到“Spanner Localstack”。INVALID_ARGUMENT:在连接 URI 中发现无效属性:v$session.program, ApplicationName
有没有人使用 google-cloud-spanner-jdbc 驱动程序成功地将 Intellij 的 Database Navigator 连接到 cloud-spanner-emulator?
transactions - Spanner 模拟器 - 挂起交易
我们在沙盒环境中使用扳手模拟器。有时会发生某些事务挂起导致以下错误的原因:
我们发现在出现此类问题后使扳手模拟器再次工作的唯一方法是重新创建数据库(删除和创建),这很烦人。
我试图杀死列出的所有会话,gcloud spanner databases sessions list --database=db --instance=sand
但没有帮助。
有没有办法在扳手模拟器中中止/回滚挂起的事务?
google-cloud-platform - Google Spanner Emulator - 任何查询都出现 HTTP 500 错误
我昨天安装了一个扳手模拟器,它成功地返回了我的查询结果,比如gcloud spanner databases list --instance=test-instance
但是由于我重新启动了我的机器,当我尝试执行数据库列表或任何其他查询时,我看到了这个特定的错误。它在每种情况下都返回以下错误-
谁能告诉我同样的原因可能是什么?
注意- 我尝试使用 CLI 和 Docker 启动模拟器,但都没有工作。我从这两种方法中都得到了以下输出,这让我相信模拟器正在正确启动。
更新
根据下面@Hoilong 的回答。重新创建扳手实例工作正常。以下是为重新创建实例而运行的命令 -
进而
注意-
- <name_of_instance> - 将此替换为您为现有实例提供的实例名称。
- 在运行这些命令之前必须运行模拟器。您可以参考此文档以找到启动模拟器的不同方法 - https://cloud.google.com/spanner/docs/emulator
google-cloud-spanner - Spanner Emulator - 调用者在资源上缺少 IAM 权限 spanner.sessions.create
尝试使用 Java 客户端 API 在本地模拟器上执行查询时,出现以下错误 -
如何为该用户提供在本地扳手模拟器上创建会话的能力?
google-cloud-platform - 如何从 docker 容器连接到扳手模拟器
我可以直接从本地计算机连接到扳手模拟器,但是在尝试从 docker 容器连接到它时遇到问题。
我的撰写文件中有以下两项服务:
当我启动 serviceA 时,我可以gcloud
在我的本地扳手模拟器上运行查询。但是当我尝试从 serviceA 容器中运行命令时,我得到last exception: 503 failed to connect to all addresses
.
我试图运行的命令(直接在我机器上的容器之外工作)
帮助表示赞赏!
google-cloud-spanner - 如何捕获扳手交易错误
我目前正在为我的本地开发开发扳手模拟器,最终将使用实际实例。我正在尝试运行一个错误的 SQL 查询,期望捕获并为用户抛出一条错误消息。
当我使用云运行以下查询时,我看到HTTPError
gcloud spanner databases execute-sql --project=local-gcp-project testdb --instance=Emulator --sql='SELECT SingerId, AlbumId, AlbumTitle FROM Albums'
当我使用 python 客户端库运行相同的查询时,我没有看到任何错误,而且我看到inside try
总是被打印出来。
知道我可能会错过什么吗?
docker - 无法在 minikube 中创建扳手实例模拟器
在本地环境中,使用spanner的 docker 模拟器来创建开发工具。
如果使用 minikube,在 kubernetes 环境下运行它的 docker,可以启动它的容器
但无法通过gcloud
命令创建实例
它变得悬而未决。
当使用没有 minikube 的环境时,我可以启动 docker 并创建一个实例
gcloud spanner
在 minikube 的 docker-env 下似乎无法运行命令。为什么?
google-cloud-platform - Cloud Spanner DB - 无法从 ReadOnlyTransaction.getReadTimestamp() 读取时间戳
我试图使用 ReadOnlyTransaction.getReadTimestamp() 函数,但我一直遇到异常:“方法只能在读取返回数据或完成后调用”我从数据库返回一两条记录,但我无法读取时间戳。下面是示例代码如何以及我在做什么。
我尝试使用 resultSet.close() 和 rotxn.close() 关闭 resultSet 和/或 rotxn,然后调用 rotxn.getReadTimestamp(),但运气不佳。我得到了同样的错误信息。
我正在使用 Spanner Java 库:com.google.cloud:google-cloud-spanner:2.0.1 尝试用谷歌搜索该问题,但没有找到太多。欢迎任何帮助:)
谢谢。:)