Saya tidak dapat menemukan cara untuk memulai dan menghentikan instans Cloud SQL menggunakan java mysql admin-api.

Saya menemukan dokumentasi resmi google yang menjelaskan cara memulai dan menghentikan instance Cloud SQL melalui gcloud: https://cloud.google.com/sql/docs/mysql/start-stop-restart-instance Tapi saya tidak dapat memperoleh hal yang sama melalui java menggunakan admin mysql- api,

Adakah yang bisa membantu saya?

0
Andrea Zonzin 12 Desember 2017, 16:30

1 menjawab

Jawaban Terbaik

Secara umum, Cloud SQL Admin API untuk Java digunakan untuk operasi seperti yang Anda cari. Jika Anda menggunakan Maven, Anda dapat menambahkan pustaka ke proyek Anda dengan menambahkan baris kode berikut ke file konfigurasi 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:

Sejauh yang saya lihat di dokumentasi, API yang mendasarinya menggunakan metode Instance.Patch untuk memulai dan menghentikan instance, meskipun saya tidak dapat menemukan informasi spesifik tentang cara melakukannya. Namun, Anda dapat menemukan sendiri informasi yang lebih relevan di Instance :Tambal halaman. Saya akan terus mencari informasi lebih lanjut dan jika saya menemukan sesuatu yang relevan, saya akan memposting komentar untuk jawaban ini di bawah.

EDIT 2:

Saya telah melakukan beberapa pengujian menggunakan Google APIs Explorer, menggunakan PROJECT_ID, SQL_INSTANCE_ID dan badan JSON seperti ini:

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

Menurut dokumentasi:

Kebijakan aktivasi menentukan kapan instans diaktifkan; itu hanya berlaku ketika status instance RUNNABLE. Nilai yang valid: SELALU: Instance aktif, dan tetap demikian meskipun tidak ada permintaan koneksi. TIDAK PERNAH: Instance tidak aktif; itu tidak diaktifkan, bahkan jika permintaan koneksi datang. ON_DEMAND: Hanya instans Generasi Pertama. Instance merespons permintaan yang masuk, dan mati sendiri saat tidak digunakan. Instans dengan harga PER_USE dimatikan setelah 15 menit tidak aktif. Instance dengan harga PER_PACKAGE dimatikan setelah 12 jam tidak aktif.

Saya telah mencoba menjalankan API dengan status TIDAK PERNAH dan SELALU, dan instance Cloud SQL saya berhenti dan memulai dengan semestinya. Jadi dalam kasus Anda, dan kembali ke API Admin untuk Java, Anda harus melihat Setelan instance Anda, khususnya di metode ini :

public Settings setActivationPolicy(java.lang.String activationPolicy)

Mengubah Kebijakan Aktivasi menjadi TIDAK PERNAH atau SELALU harus menjadi apa yang Anda butuhkan di sini, meskipun Anda dapat melihat kemungkinan keadaan instans lain jika mereka lebih sesuai dengan kebutuhan Anda.

3
dsesto 13 Desember 2017, 09:14