मैं https://airflow.apache.org/docs का अनुसरण करके एयरफ्लो डैग्स को ट्रिगर करने का प्रयास कर रहा हूं /stable/api.html यह साइट। उन्होंने एक कर्ल कमांड <कोड>कर्ल-एक्स पोस्ट \ प्रदान किया http://localhost:8080/api/प्रयोगात्मक/डैग्स//dag_runs \ -H 'कैश-कंट्रोल: नो-कैश' \ -एच 'सामग्री-प्रकार: एप्लिकेशन/जेसन' \ -d '{"conf":"{\"key\":\"value\"}"}' to Trigger Dag। यह तब काम कर रहा है जब मैं अपने शेल से इस कमांड को निष्पादित करता हूं।

मैंने इस समापन बिंदु को गो POST /api/experimental/dags/<DAG_ID>/dag_runs में कॉल करने का प्रयास किया और मुझे 400 Bad Request

Go में POST /api/experimental/dags/<DAG_ID>/dag_runs को http.POST() या http.NewRequest() के रूप में कैसे उपयोग करें?

मैंने यह कोशिश की:

package main

import (
    "encoding/json"
    "fmt"
    "net/http"
    "strings"
)
func main(){
    body := strings.NewReader(`{"conf":"{\"key\":\"value\"}"}`)
    req, err := http.NewRequest("POST", "http://localhost:8080/api/experimental/dags/airflow_sample/dag_runs", body)
    if err != nil {
        fmt.Println(err)
    }
    req.Header.Set("Cache-Control", "no-cache")
    req.Header.Set("Content-Type", "application/json")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(resp)
    defer resp.Body.Close()
}
1
Bhanu Prakash 4 मार्च 2020, 09:16
कर्ल अनुरोध के बाद आपको क्या आउटपुट मिलता है? चेक किए गए सर्वर लॉग?
 – 
vikram sahu
4 मार्च 2020, 10:00

1 उत्तर

सबसे बढ़िया उत्तर

मैंने इसे हल किया।

मुख्य समारोह में-

मैंने body := strings.NewReader(`{"conf":"{\"key\":\"value\"}"}`) बदल दिया

इसके लिए body := strings.NewReader(`{}`)

इसने एक जादू की तरह काम किया।

0
Bhanu Prakash 4 मार्च 2020, 10:16