Google App Engine-部署无法正常进行

问题描述 投票:0回答:1

我有一个针对Google Cloud SQL实例Google App Engine项目 (一个API)。 我有在本地运行的API和SQL实例的确切副本。

当我在开发(本地)上执行项目时,可以很好地探索API。 但是,当我进行部署时,所有呼叫都返回为空。

这是API代码(Java):

@ApiMethod(
        name = "test.users.list",
        path = "test/users/list",
        httpMethod = "get"
)
public UserList testUserList ()
{
    UserList users = UserList.getAll();
    return users;
}

这是它返回本地的内容

{
 "users": [
  {
   "id": "3",
   "firstName": "Test",
   "lastName": "User",
   "email": "[email protected]",
   "password": "12fc892642c48a8227410f5b6722e1edeeefedfb",
   "logins": 0,
   "lastLogin": 0,
   "roles": [
    {
     "id": "1",
     "name": "user",
     "loaded": true
    }
   ],
   "fullName": "Test User",
   "admin": false,
   "lastLoginDat": "1969-12-31T21:00:00.000-03:00",
   "loaded": true
  },
  {
   "id": "6",
   "firstName": "Test",
   "lastName": "User 2",
   "email": "[email protected]",
   "password": "c5bc2a33ddffcfb3d61779ab44d7d933e1336b02",
   "logins": 0,
   "lastLogin": 0,
   "fullName": "Test User 2",
   "admin": false,
   "lastLoginDat": "1969-12-31T21:00:00.000-03:00",
   "loaded": true
  }
 ]
}

这是它在服务器资源管理器上返回的内容:

{  
    "kind": "myapp#usersItem",  
    "etag": "\"l4AE0sdQvyB-SkumpjWQFJVUZzo/MSGC-asdfasdf\"" 
}

一些见解:

  • 我可以通过MySQL Workbench访问本地SQL实例和Google Cloud SQL外部实例。
  • 本地和外部SQL实例都彼此相等。
  • 我还保证可以访问用来访问数据库的项目(通过Google Cloud面板)。

我真的不知道该怎么办或检查。 我已经搜索了类似的内容,但找不到任何相关的内容。

任何想法表示赞赏。

google-app-engine google-cloud-sql
1个回答
0
投票

正如Jan所指出的,GAE本地化和生产是两个独立的故事。 但是,我将为您提供比此特定解决方案更好的东西,这是解决此问题和其他问题的工具:

1.转到控制台>计算> App Engine>版本,并确保您上传的后端版本是正确的版本(请查看其上传时间),并且已选择或默认

2.创建一个API测试方法 ,该方法对数据库执行相当基本的操作,但不调用其他方法也不使用try / catch块。 您正在尝试在此处引发异常(如果有)。 击中数据库并返回数据所需的所有代码都应在该方法内部。

3.转到资源管理器面板,然后执行您的测试方法。 如果可行,那么您的问题不在于连接,而在于逻辑。 使用与(2)相同的方法测试逻辑。

4.如果该方法不起作用,请转至:控制台>监视>日志。 在这里,您将找到异常跟踪

© www.soinside.com 2019 - 2024. All rights reserved.