【问题标题】:How to specify fully identified database qualifier in Google Spanner如何在 Google Spanner 中指定完全识别的数据库限定符
【发布时间】:2020-06-15 10:36:23
【问题描述】:

https://cloud.google.com/sdk/gcloud/reference/spanner/databases/execute-sql 表示 execute-sql 命令中的数据库位置参数可以是“数据库的 ID 或数据库的完全限定标识符”。

我找不到这种完全限定标识符的语法。在文档中我能想到的任何地方查看/搜索。

尝试使用标准分隔符(斜线、点、冒号等)会产生随机错误消息。

有什么想法吗?

【问题讨论】:

    标签: google-cloud-platform command-line-interface google-cloud-spanner


    【解决方案1】:

    Cloud Spanner 数据库的完全限定名称采用以下格式:

    projects/<project-id>/instances/<instance-id>/databases/<database-id>

    【讨论】:

    • 这是有效的 :-) thx。但这只是一半的答案,额外的 50% 告诉我你在哪里找到的..
    • “在我的脑海中”算不算 ;-) 抱歉,我经常使用 Java 客户端库,那里有很多对它的引用,但我想这可能不太明显其他文档。值得一提的是:REST API 使用相同的格式 (cloud.google.com/spanner/docs/reference/…)
    【解决方案2】:

    这里是资源名称的概述:https://cloud.google.com/iam/docs/full-resource-names。这表明资源名称(这与标识符是同义词吗?)应采用以下格式://spanner.googleapis.com/projects/project-id/instances/instance-id

    【讨论】:

    • ) gcloud spanner databases execute-sql //spanner.googleapis.com/projects/my-project/instances/my-instances/databases/my-database --sql "SELECT count(1) FROM some_table" ❯❯❯ 错误:(gcloud.spanner.databases.execute-sql) 解析 [数据库] 时出错。 [database] 资源未正确指定。未能找到属性 [instance]。可以通过以下方式设置属性: - 在命令行中提供参数 [--instance] - 设置属性 [spanner/instance]
    • 好的,我对此进行了测试。这对我有用: gcloud spanner databases execute-sql testdb --instance test --sql "SELECT * FROM villetest" 显然这只是在我当前的项目中查找测试实例。当我尝试添加完整的实例名称时,它显示“请求的 URL /v1/projects/tasklist-278604/instances///spanner.googleapis.com/projects/tasklist-278604/instances/test/databases/testdb /sessions?alt=json 在此服务器上未找到。“所以您可能需要使用 gcloud config 设置项目,然后只使用实例 ID,而不是全名?
    • 或者您可以使用 --project 在您的 gcloud 命令中设置项目。
    • 谢谢,我知道这种方式,但我想用完全限定的名称检查一些东西..
    • 是的,我想我有点误解了这个问题。我不确定资源 ID 是否真的在任何地方都被详尽地描述了。
    猜你喜欢
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2014-06-28
    • 2016-01-15
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多