Я получаю значения из API и возвращаю их.Эти значения должны быть вставлены в базу данных с помощью функций AZURE.
@FunctionName("HttpTrigger-Java")
public JSONObject run(@HttpTrigger(name = "req", methods = {
HttpMethod.GET,
HttpMethod.POST }, authLevel = AuthorizationLevel.FUNCTION)
HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) throws ParseException, IOException {
context.getLogger().info("Java HTTP trigger processed a request.");
String bearerToken="Bearer "+ token;
HttpClient client = HttpClientBuilder.create().build();
HttpGet requests=new HttpGet("/2.0/clusters/list");//GET the LIST
requests.addHeader("Authorization",bearerToken); //Adding the bearer token
requests.addHeader("cache-control", "no-cache");
HttpResponse response=client.execute(requests);
System.out.println("Response Code:" +
response.getStatusLine().getStatusCode());
String json = EntityUtils.toString(response.getEntity());
System.out.println("Gather clusters details\n");
JSONObject cluster = new JSONObject(json);
JSONArray Jarray=cluster.getJSONArray("clusters");
for (int i=0;i< Jarray.length();i++)
{
JSONObject clusters = Jarray.getJSONObject(i);
String cluster_id=clusters.get("cluster_id").toString();
String cluster_name=clusters.get("cluster_name").toString();
String start_timestamp=clusters.get("start_time").toString();
System.out.println("ClusterId:"+cluster_id+"\t"+"ClusterName:"
+cluster_name+"\t"+"start_time:"+start_timestamp+"\n");
if(response.getStatusLine().getStatusCode()!=200) {
System.out.println("Failed HTTP response"+response.getStatusLine().
getStatusCode()+" "+Jarray);
}
}
return cluster;
}
Code to insert into DATABASE
public void insertdb(JSONObject ResJ) throws Exception{
Connection con = ConnectToDB();
String tablename="cluster_info";
JSONArray array=ResJ.getJSONArray("clusters");
for (int j=0;j< array.length();j++)
{
JSONObject clusters = array.getJSONObject(j);
String cluster_id=clusters.get("cluster_id").toString();
String cluster_name=clusters.get("cluster_name").toString();
String start_timestamp=clusters.get("start_time").toString();
String terminated_timestamp=clusters.get("terminated_time").toString();
String sql =" INSERT INTO " + tablename + "
(cluster_id,cluster_name,start_timestamp,terminated_timestamp) VALUES
(?,?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, cluster_id);
pstmt.setString(2, cluster_name);
pstmt.setString(3, start_timestamp);
pstmt.setString(4, terminated_timestamp);
pstmt.executeUpdate();
}
return ;
}
Как я могу перенести результат списка в базу данных SQL?Должен ли он содержать основной метод?Если да, то как мне вызвать эти два метода в функциях Azure?
Я новичок в функциях Azure.Нормальный Java-код работает нормально.