如何从无服务器 lambda 函数访问 s3?

问题描述

我有一个无法访问 s3 存储桶的无服务器 lambda 函数。我收到 const vendoRSShow = (props) => { const handleDelete = (vendor) => { props.deletevendor(vendor.id); }; const [counts,setCounts] = useState({}); // <-- initial empty object for counts // similar to componentDidMount: useEffect(() => { document.title = `You clicked ${Object.values(counts).reduce( (total,{ count }) => total + count,0 )} times`; }); // initialize/update state when vendors array changes useEffect(() => { setCounts( props.vendors.reduce( (counts,{ id }) => ({ ...counts,[id]: 0 // <-- store counts by vendor id }),{} ) ); },[props.vendors]); const handleCount = (id) => () => setCounts((counts) => ({ ...counts,[id]: counts[id] + 1 // <-- update specific vendor's count })); return ( <div className="vendor-show-div" style={vendors}> {props.vendors.map((vendor) => ( <ul key={vendor.id}> <Link to={`/vendors/${vendor.id}`}> {vendor.name}- ${vendor.total_cost} </Link> - <button onClick={() => handleDelete(vendor)}>X</button>-{" "} <button onClick={handleCount(vendor.id)}>{counts[vendor.id]}</button> </ul> ))} </div> ); }; 错误

此 Lambda 与 VPC 相关联,我已授予 s3 权限。

Connect timeout on endpoint URL:

解决方法

添加 S3 VPC 端点后,此问题已解决。