Как вставить значения в базу данных AzureSQL с помощью функций Azure - PullRequest
0 голосов
/ 26 сентября 2019

Я получаю значения из 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-код работает нормально.

...