in sandbox/CWMetricStreamExporter/lambda/main.go [266:289]
func sendRequestToAPS(body *bytes.Reader) (*http.Response, error) {
// Create an HTTP request from the body content and set necessary parameters.
req, err := http.NewRequest("POST", os.Getenv("PROMETHEUS_REMOTE_WRITE_URL"), body)
if err != nil {
panic(err)
}
sess, _ := session.NewSession(&aws.Config{
Region: aws.String(os.Getenv("AWS_REGION")),
})
signer := v4.NewSigner(sess.Config.Credentials)
req.Header.Set("Content-Type", "application/x-protobuf")
req.Header.Set("Content-Encoding", "snappy")
req.Header.Set("X-Prometheus-Remote-Write-Version", "0.1.0")
signer.Sign(req, body, "aps", os.Getenv("PROMETHEUS_REGION"), time.Now())
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
return resp, err
}