gpt4 book ai didi

go - 无法使用 lambda 访问远程文件

转载 作者:行者123 更新时间:2023-12-01 22:21:19 25 4
gpt4 key购买 nike

我刚刚创建了一个 lambda,并为其指定了默认 VPC、安全组和子网。给它一个具有 AWSLambdaVPCAccessExecutionRole 的角色.已验证的出站规则显示所有端口和协议(protocol)的 0.0.0.0/0。已验证 lambda.amazonaws.com 是策略上的受信任实体。
给它这样的代码(在本地工作):

package main

import (
"fmt"
"io/ioutil"
"log"
"net/http"
)

func main() {
res, err := http.Get("http://www.google.com/robots.txt")
if err != nil {
log.Fatal(err)
}
robots, err := ioutil.ReadAll(res.Body)
res.Body.Close()
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s", robots)
}
我在 lambda 中使用了“测试”函数,我得到的只是: Get "http://www.google.com/robots.txt": dial tcp 172.217.1.196:80: i/o timeout我已尝试查看有关该主题的所有 AWS 文档,但我似乎没有遗漏任何内容,但也许其他人会知道?
我最初并没有尝试访问 google robots.txt 文件,但是无论我尝试了什么都得到了相同的结果,我想我会直接从文档中提取一个示例来排除我正在做的任何事情。至少我知道我的代码正在执行,否则我们不会走到这一步。有什么想法可以尝试吗?

最佳答案

我在这里忽略的一件事是子网需要公共(public) NAT 网关……而不是互联网网关。一旦我们添加了这些,它就能够到达 AWS 墙外并下载所需的文件。

关于go - 无法使用 lambda 访问远程文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63307634/

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