我将Prisma与 Cloud Run 和 Cloud SQL 结合使用。DATABASE_URL提供给它后,prisma.schema它在运行时抛出一个错误。
Can't reach database server at `(/cloudsql/project-name:us-east1:database-id)`:`5432`
Please make sure your database server is running at `(/cloudsql/project-name:us-east1:database-id)`:`5432`."
Run Code Online (Sandbox Code Playgroud)
DATABASE_URL:postgresql://username:password@localhost/databasename?host=(/cloudsql/project-name:us-east1:database-id)连接出了什么问题?我是否未能正确构建DATABASE_URL?
当我尝试从GAE连接到Cloud SQL时,我收到此错误:
"没有为jdbc找到合适的驱动程序:google:mysql:// parasql-app:inst101/db1384221549822"
我的代码看起来像这样:
Class.forName("com.mysql.jdbc.GoogleDriver");
Connection con = DriverManager.getConnection("jdbc:google:mysql://" + this.instance_name + "/" + this.database_name);
Run Code Online (Sandbox Code Playgroud)
连接旧版"jdbc:google:rdbms://"连接字符串没有问题.
我怎样才能解决这个问题?
在我的Android应用程序中,我想将我的Android应用程序中的图像存储到Google云端存储中.为此,我指的是这个美孚后端的首发示例.因为他们有一个部署在Google云端存储上的后端数据库,但我不知道我可以在那里部署自己的数据库.
在我的Android应用程序中查询数据库的步骤是什么?请帮我实现这个功能.任何人都可以建议一个教程或链接,提供在Google Gloud上使用和存储数据库的正确指南吗?谢谢.
google-app-engine android google-cloud-storage google-cloud-sql google-cloud-platform
不知道如何提出这个问题,但据我所知,谷歌云SQL支持实例的想法,这些实例位于其全球基础架构中......所以我可以在世界各地的多个实例中分布一个数据库.
我的应用程序服务的地理区域很少......数据并不需要整体聚合,因此可以单独存储在区域中的不同数据库中.
从一个数据库/多个实例服务所有区域是否有意义?或者我应该将每个区域分隔到它自己的数据库中并以旧的方式托管数据?
在我的gcloud SQL数据库的仪表板上,它说它正在使用325MB的存储,而通过MySQL-Workbench检查数据库的总大小时,它说只有大约1.1MB的数据。这是一个很小的数据库,包含所有文本和URL,因此绝对不能接近325MB。
我的问题是,什么导致尺寸报告的差异?
我正在尝试从节点应用程序连接到Google Cloud SQL,该应用程序在Kubernetes管理的Google Container Engine容器中运行。我已按照此处的说明创建Cloud SQL代理。
运行应用程序时,我收到:
{
"code": "ENOTFOUND",
"errno": "ENOTFOUND",
"syscall": "getaddrinfo",
"hostname": "127.0.0.1:3306",
"host": "127.0.0.1:3306",
"port": 3306,
"fatal": true
}
Run Code Online (Sandbox Code Playgroud)
因此,似乎无法解决代理。
我已经跑步kubectl describe pods <pod_name>,代理似乎正常:
cloudsql-proxy:
Container ID: docker://47dfb6d22d5e0924f0bb4e1df85220270b4f21e971228d03148fef6b3aad6c6c
Image: b.gcr.io/cloudsql-docker/gce-proxy:1.05
Image ID: docker://sha256:338793fcb60d519482682df9d6f88da99888ba69bc6da96b18a636e1a233e5ec
Port:
Command:
/cloud_sql_proxy
--dir=/cloudsql
-instances=touch-farm:asia-east1:api-staging=tcp:3306
-credential_file=/secrets/cloudsql/credentials.json
Requests:
cpu: 100m
State: Running
Started: Sat, 01 Oct 2016 20:38:40 +1000
Ready: True
Restart Count: 0
Environment Variables: <none>
Run Code Online (Sandbox Code Playgroud)
在我看来,唯一不寻常的是该Port字段为空白,但是上面引用的指南中没有说明在部署配置文件中公开端口。我也尝试过在配置文件中指定3306端口,但是尽管该端口随后显示在kubectl describe pods输出中,但节点仍然找不到代理。
我在这里想念什么?为什么我无法解析代理?
编辑(更多信息)
来自cloudsql-proxy容器的日志:
2016-10-01T11:44:40.108529344Z 2016/10/01 11:44:40 …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用云sql gen2优化应用程序引擎Java应用程序的性能.如果我可以跟踪对云sql的调用,就像我可以在stackdriver跟踪详细信息中跟踪对数据存储区的RPC调用一样,那将会有很大帮助.这在某种程度上是可能的,还是有计划的?或者是用毫秒进行log.info()调用的唯一替代方法?或者是否有其他方法来添加事件标记以进行跟踪/分析?
我能够找到此文档,该文档解释了如何从python进行操作:https : //cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres
我找不到等同于golang的任何东西。这有可能吗?
因此,我正在做一个小项目,该项目使用Google Dataflow和apache beam建立流传输管道。我完成了一些教程,能够建立流水线并在BigQuery中运行流,但是我想将其流到完整的关系数据库(即Cloud SQL)中。我已经在这个网站和整个google上进行了搜索,似乎最好的方法是使用JdbcIO。我在这里有点困惑,因为当我查找有关如何执行此操作的信息时,它们都是指批量写入云SQL而不是完全流式传输。
我的简单问题是,我可以将数据直接流到Cloud SQL中,还是必须通过批处理发送。
干杯!
试图将我的早期项目的数据库迁移到云中。尽管构建所有内容的代码都是简陋的,但是db结构和数据本身还是相当完善的。我可能会想出一种迁移所有内容(例如pgdump等)的转储方法,但是我仍然有很多东西要学习,所以我宁愿一步一步地获得经验。
来源:一个〜1gb sqlite数据库文件
目标:运行Postgres v9.6的Google CloudSQL
已经使用与sqlite数据库相同的架构和表名称在云数据库中创建了表。不担心架构实施错误,因为我尚未在云中定义外键。
计划:为每个数据库创建不同的并发SQLAlchemy连接,然后阅读sqlite->写入CloudSQL。使用SQLAlchemy返回并为每个表定义数据结构。来自models.py的片段:
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base, declared_attr
Base = declarative_base()
class PublicMixin(object):
@declared_attr
def __tablename__(cls):
return cls.__name__.lower()
class Category(PublicMixin, Base):
id = Column(Integer, primary_key=True)
name = Column(String)
class Player(PublicMixin, Base):
id = Column(Integer, primary_key=True)
name = Column(String)
username = Column(String)
notes = Column(String)
[...]
Run Code Online (Sandbox Code Playgroud)
然后,我将此文件复制为models_lite.py,以便可以导入每个模型而不会产生干扰。这是我尝试作为概念证明运行的migration.py文件:
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from models import Base, Category, Player …Run Code Online (Sandbox Code Playgroud) python postgresql sqlalchemy database-migration google-cloud-sql
google-cloud-sql ×10
mysql ×2
postgresql ×2
android ×1
apache-beam ×1
go ×1
jdbc ×1
prisma ×1
python ×1
sqlalchemy ×1
stackdriver ×1