首页 文章

通过Java mysql admin-api启动和停止Cloud SQL

提问于
浏览
0

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

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

有人可以帮帮我吗?

1 回答

  • 2

    通常,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>
    

    EDIT:

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

    EDIT 2:

    我一直在使用Google APIs Explorer执行一些测试,使用 PROJECT_IDSQL_INSTANCE_ID 和一个JSON主体,例如:

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

    根据文件:

    激活策略指定实例何时激活;仅当实例状态为RUNNABLE时才适用 . 有效值:始终:实例已打开,即使没有连接请求也会保持此状态 . 永远不会:实例关闭;即使连接请求到达,它也不会被激活 . ON_DEMAND:仅限第一代实例 . 实例响应传入的请求,并在不使用时自行关闭 . 具有PER_USE定价的实例在不活动15分钟后关闭 . PER_PACKAGE定价的实例在12小时不活动后关闭 .

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

    public Settings setActivationPolicy(java.lang.String activationPolicy)
    

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

相关问题