我有一个带有用户验证器的 lambda 函数 A,它请求带有 Bearer 令牌的第二个 lambda 函数 B,并希望接收用户信息。
当我将函数 A 的超时定义为小于 28 秒时,我收到以下错误:
错误:获取https://dev.url.com/auth/:net/http:在等待连接时取消请求(等待标头时超出 Client.Timeout)
我的代码是:
client := &http.Client{
Timeout: time.Second * 20,
}
req, err := http.NewRequest("GET", m.authURL, nil)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+m.token)
resp, err := client.Do(req)
if err != nil || resp.StatusCode != http.StatusOK {
return errors.Errorf("Failed to request auth service.\ntoken: %s\nERROR: %+v\n", m.token, err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
log.Println(string(body))
return err
当我将函数 A 的超时时间定义为大于或等于 28 秒时,一切都按预期工作,两个函数都正常工作,整个过程大约需要 7 毫秒(!!!)。
超时是否可能在执行中具有这样的作用?如果是这样,为什么?
青春有我
相关分类