当前位置: 首页 > 知识库问答 >
问题:

GAE-如何配置访问云SQL从谷歌应用引擎在Quarkusjava11应用程序?

南宫松
2023-03-14

我正在App Engine上评估一个Quarkus应用程序。该应用程序需要一个基于Cloud SQL的Postgres DB,我将该实例命名为“quarkus”。

但是我遇到了这些访问错误:无权访问实例:addlogic-foodiefnf-1:quarkus

Service account:addlogic-foodiefnf-1 @ app spot . gserviceaccount . com具有以下角色:云SQL Admin云SQL服务代理编辑器

我错过了什么?

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "code": 7,
      "message": "Not authorized to access instance: addlogic-foodiefnf-1:quarkus "
    },
    "authenticationInfo": {
      "principalEmail": "addlogic-foodiefnf-1@appspot.gserviceaccount.com",
      "serviceAccountDelegationInfo": [
        {
          "firstPartyPrincipal": {
            "principalEmail": "app-engine-appserver@prod.google.com"
          }
        }
      ],
      "principalSubject": "serviceAccount:addlogic-foodiefnf-1@appspot.gserviceaccount.com"
    },
    "requestMetadata": {
      "callerIp": "107.178.230.54",
      "requestAttributes": {
        "time": "2021-09-27T06:18:33.283490Z",
        "auth": {}
      },
      "destinationAttributes": {}
    },
    "serviceName": "cloudsql.googleapis.com",
    "methodName": "cloudsql.instances.connect",
    "authorizationInfo": [
      {
        "resource": "instances/quarkus ",
        "permission": "cloudsql.instances.connect",
        "granted": true,
        "resourceAttributes": {
          "service": "sqladmin.googleapis.com",
          "name": "projects/addlogic-foodiefnf-1/instances/quarkus ",
          "type": "sqladmin.googleapis.com/Instance"
        }
      }
    ],
    "resourceName": "instances/quarkus ",
    "request": {
      "@type": "type.googleapis.com/google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest",
      "instance": "europe-west3~quarkus ",
      "project": "addlogic-foodiefnf-1",
      "body": {}
    },
    "response": {}
  },
  "insertId": "-il5zyxe1b1rn",
  "resource": {
    "type": "cloudsql_database",
    "labels": {
      "project_id": "addlogic-foodiefnf-1",
      "database_id": "addlogic-foodiefnf-1:quarkus ",
      "region": "europe-west3"
    }
  },
  "timestamp": "2021-09-27T06:18:33.270158Z",
  "severity": "ERROR",
  "logName": "projects/addlogic-foodiefnf-1/logs/cloudaudit.googleapis.com%2Factivity",
  "receiveTimestamp": "2021-09-27T06:18:33.799357464Z"
}

背景故事:我已经设置了关于 https://quarkus.io/guides/deploying-to-google-cloud 的夸克应用程序,但是类“PostgreSQL10Dialect”无法加载:请参阅为什么在Google App Engine java11中的Quarkus上找不到PostgreSQL10Dialect类?

在这篇文章中,我想学习如何调试Google App Engine的云SQL访问错误。使用公共IP设置云SQL实例。云SQL实例还需要设置吗?如上所述,根据https://Cloud . Google . com/SQL/docs/postgres/connect-app-engine-standard # Java的要求,标准应用引擎的服务帐户具有“云SQL Admin”角色

感谢您的帮助。

共有1个答案

南宫泓
2023-03-14

我理解使用“quarkus.datasource”。db kind=postgresql´触发hibernate进行自动配置。因此,无法建立连接。

我必须使用 quarkus.datasource.db-kind=other 来防止 Quarkus 自动配置和访问问题。

(由于这在这里解决了这个问题,我的问题是为什么在Google App Engine java11中的QUKUS上找不到PostgreSQL10Dialect类?仍然是开放的。)

 类似资料:
  • 当尝试连接到谷歌云SQL我得到以下错误: 我已经花了几个小时试图解决这个问题,但还是一无所获。 我的配置如下(在ZF2-config-local.php中): 我还将我的Google App Engine应用程序的应用程序ID添加到Cloud SQL中的访问控制列表(授权应用程序引擎应用程序)中。 当我尝试运行这个时: 我得到了unix套接字错误。我错过了什么?

  • 我有一个应用引擎项目。 我也有谷歌云功能。 我想从App Engine项目中调用谷歌云功能。我就是没法让它发挥作用。 是的,如果我将函数完全公开(即将云函数设置为“允许所有流量”,并为“所有用户”创建一个允许调用函数的规则),它就可以工作。但是如果我限制这两个设置中的任何一个,它会立即停止工作,我得到403。 应用程序和函数在同一个项目中,所以我至少假设将函数设置为“仅允许内部流量”应该可以正常工

  • 我想能够从谷歌云功能中调用谷歌应用程序引擎,有可能吗?找不到任何解决办法

  • 我们需要为一个高流量的网站使用WordPress。我们预计每月的初始浏览量为50万次,并将增加到每月约800万次。主要在工作时间使用,一个月大约20天,每天8小时。 我们正在考虑将Google App Engine与Google Cloud SQL一起使用。我们想知道它对这种负载的扩展程度如何。理论上说Google App Engine应该自动扩展,但不确定Google Cloud SQL在扩展时