gpt4 book ai didi

amazon-web-services - 通过请求另一个函数对 Lambda 函数进行超时会导致超时错误

转载 作者:行者123 更新时间:2023-12-01 22:23:40 26 4
gpt4 key购买 nike

我有一个带有用户验证器的 lambda 函数 A,它请求带有 Bearer token 的第二个 lambda 函数 B,并希望接收用户信息。

当我将函数 A 的超时时间定义为小于 28 秒时,我收到以下错误:

错误:获取 https://dev.url.com/auth/ :net/http:在等待连接时取消请求(等待 header 时超出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 毫秒(!!!)。

超时是否可能在执行中具有这样的作用?如果是这样,为什么?

最佳答案

正如上面评论中提到的,谁可能会遇到同样的问题,我的 lambda 函数位于 VPC 内部。一开始我质疑我的 VPC 配置,但因为有时两个 lambda 之间的执行都成功执行,所以我很早就排除了这个假设。

仍然不明白为什么增加我的 lambda 的超时可以使它工作。我没有假设,Suraj 的评论鼓励我重置我的 VPC 配置,而不是根据我的经验进行配置,而是尝试遵循以下 link 中的每个细节.在这个过程中,意识到之前我将公共(public)路由表分配给了私有(private)子网。这似乎解释了这个问题。

关于amazon-web-services - 通过请求另一个函数对 Lambda 函数进行超时会导致超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61318858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com