【问题标题】:Start and Stop Cloud SQL via Java mysql admin-api通过 Java mysql admin-api 启动和停止 Cloud SQL
【发布时间】:2018-05-26 05:06:56
【问题描述】:

我找不到使用 java mysql admin-api 简单地启动和停止 Cloud SQL 实例的方法。

我发现这个官方谷歌文档解释了如何通过 gcloud 启动和停止 Cloud SQL 实例:https://cloud.google.com/sql/docs/mysql/start-stop-restart-instance 但我无法使用 mysql admin-api 通过 java 获得相同的东西,

谁能帮帮我?

【问题讨论】:

    标签: java google-cloud-platform google-cloud-sql


    【解决方案1】:

    通常,Cloud SQL Admin API for Java 用于诸如您要查找的操作之类的操作。如果您使用的是 Maven,您可以将库添加到您的项目中,将以下代码行添加到 pom.xml 配置文件中:

    <project>
      <dependencies>
        <dependency>
          <groupId>com.google.apis</groupId>
          <artifactId>google-api-services-sqladmin</artifactId>
          <version>v1beta4-rev48-1.23.0</version>
        </dependency>
      </dependencies>
    </project>
    

    编辑:

    据我在documentation 中看到的,底层API 使用Instance.Patch 方法来启动和停止实例,尽管我找不到任何有关如何执行此操作的具体信息。但是,您可以在Instances:Patch 页面中自己找到更多相关信息。我会继续寻找更多信息,如果发现相关信息,我会在下面对这个答案发表评论。

    编辑 2:

    我一直在使用Google APIs ExplorerPROJECT_IDSQL_INSTANCE_ID 和像这样的 JSON 正文执行一些测试:

    {
      "settings": {
        "activationPolicy": "YOUR_PREFERED_STATE"
      }
    }
    

    根据文档:

    激活策略指定实例何时被激活;它是 仅在实例状态为 RUNNABLE 时适用。有效值: ALWAYS:实例处于开启状态,即使没有 连接请求。从不:实例关闭;它没有被激活, 即使连接请求到达。 ON_DEMAND:第一代 仅限实例。实例响应传入的请求,并转 不使用时自行关闭。 PER_USE 定价的实例关闭 闲置 15 分钟后。具有 PE​​R_PACKAGE 定价的实例 闲置 12 小时后关闭。

    我尝试使用 NEVERALWAYS 状态运行 API,我的 Cloud SQL 实例相应地停止并启动。因此,在您的情况下,回到 Java 的 Admin API,您应该查看实例的 Settings,特别是 this method:

    public Settings setActivationPolicy(java.lang.String activationPolicy)
    

    激活策略更改为 NEVER 或 ALWAYS 应该是您需要的,尽管您可以查看其他可能的实例状态,以防它们更好地满足您的要求。

    【讨论】:

    • 注意!不要使用它!这是删除实例的方法,而不是启动和停止实例的方法-请修改您的答案!
    • 糟糕!你完全正确,我误解了这个问题。我现在正在编辑它。
    • 我认为 OP 现在可以在我的答案中找到他需要的东西。抱歉之前的误会
    • 没问题!我很乐意提供帮助。再次为之前的混乱感到抱歉。
    猜你喜欢
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多