java HttpURLConnection 을 이용한 GCP에서 VM compute instance metadata 가져오기 


URL은 아래 문서 참조 https://cloud.google.com/compute/docs/storing-retrieving-metadata



import java.net.*;

import java.io.*;

import javax.servlet.http.*;


public class GetMetadata {


public static String getHostName() throws Exception {


              URL url = new URL("http://metadata.google.internal/computeMetadata/v1/instance/hostname");

              HttpURLConnection conn = (HttpURLConnection) url.openConnection();

              conn.setRequestMethod("GET");

              conn.setRequestProperty("Metadata-Flavor", "Google");

              BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

              String line = rd.readLine();

              rd.close();

              return line;

 }



public static String getInstanceName() throws Exception {

     URL url = new URL("http://metadata.google.internal/computeMetadata/v1/instance/name");

     HttpURLConnection conn = (HttpURLConnection) url.openConnection();

     conn.setRequestMethod("GET");

     conn.setRequestProperty("Metadata-Flavor", "Google");

     BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));

     String line = rd.readLine();

     rd.close();

     return line;

}