【问题标题】:appmaker data: connect to multiple Cloud SQL databasesappmaker 数据:连接到多个 Cloud SQL 数据库
【发布时间】:2017-08-18 01:27:37
【问题描述】:

一个App可以连接多个云SQL数据库吗?

我可以在应用设置中连接到单个云 SQL 数据库 (projectName:regionName:instanceName/databaseName)。

但我想将多个现有 Cloud SQL 数据库中的模型添加到我的单个应用程序中。

创建外部数据模型时,没有选项或设置来配置另一个/附加的谷歌云 SQL 数据库。

如果有办法解决这个问题,有什么建议吗?

参考:将您的应用连接到现有的 Google Cloud SQL 数据库: https://developers.google.com/appmaker/models/cloudsql#connect_your_app_to_an_existing_google_cloud_sql_database

约翰

【问题讨论】:

    标签: google-app-maker


    【解决方案1】:

    刚刚试了一下:

    应用制作工具服务器脚本可以访问 Google 服务 API。 JDBC 类允许您在添加 10 个列入白名单的 IP 后连接到 Cloud SQL。

    发件人:https://developers.google.com/apps-script/guides/jdbc 在云控制台的访问控制中添加以下 IP:

    64.18.0.0/20
    64.233.160.0/19
    66.102.0.0/20
    66.249.80.0/20
    72.14.192.0/18
    74.125.0.0/16
    173.194.0.0/16
    207.126.144.0/20
    209.85.128.0/17
    216.239.32.0/19
    

    我将此位放入服务器脚本并将其附加到按钮并检查输出日志并发现它有效。

      function Connect() {
      var address = 'instance_ip'; 
      var user = 'username';
      var pw = 'password';
      var db = 'database_name'; 
    
      var dbUrl = 'jdbc:mysql://' + address + '/' + db; 
    
    // read some rows
    function readFrom() {
      var conn = Jdbc.getConnection(dbUrl, user, pw); 
    
      var start = new Date(); 
      var stmt = conn.createStatement();
    
      stmt.setMaxRows(100); 
      var results = stmt.executeQuery('SELECT * FROM table_name'); 
      var numCols = results.getMetaData().getColumnCount(); 
    
      while (results.next()) {
        var rowString = ''; 
        for(var col = 0; col < numCols; col++) {
          rowString += results.getString(col + 1) + '\t';  
        }
        console.log(rowString);
      }
    
      results.close();
      stmt.close();
    }
    
    readFrom();
    }
    

    使用它,您可以拥有任意数量的连接。但这不会让 App Maker 将其识别为数据源。在正式支持此功能之前,您必须手动处理结果。 (我喜欢这个想法,并将为此创建一个 repo 库。)

    【讨论】:

    • 感谢 Cosinelosses,我希望将额外的 Cloud SQL 用作 App Maker Widgets 等的数据源。但正如您所说,这种方式不允许将其识别为数据源。
    • 对。我不喜欢页面上的每个输出都必须来自数据源。我有一个案例,这是一个真正的问题。
    • 您可以将结果分配给计算模型的记录,并让应用制作者正常使用数据。
    猜你喜欢
    • 2019-11-10
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 2019-03-10
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多