Amazon web services 从Lambda函数创建SQS队列

Amazon web services 从Lambda函数创建SQS队列,amazon-web-services,aws-lambda,amazon-sqs,Amazon Web Services,Aws Lambda,Amazon Sqs,我试图从Python中的Lambda函数创建一个SQS队列。我有下面的代码,并在本地成功运行了它 client = boto3.client('sqs') notifications_url = client.create_queue( QueueName=notifications_queue, Attributes={ 'ReceiveMessageWaitTimeSeconds': '20' } ) 我已将代码作为Lambda函数上传,并尝试从L

我试图从Python中的Lambda函数创建一个SQS队列。我有下面的代码,并在本地成功运行了它

client = boto3.client('sqs')

notifications_url = client.create_queue(
    QueueName=notifications_queue,
    Attributes={
        'ReceiveMessageWaitTimeSeconds': '20'
    }
)
我已将代码作为Lambda函数上传,并尝试从Lambda控制台运行它。当我运行它时,它会在上面一行的30秒(30秒超时)后超时


Lambda函数角色具有完全的SQS访问权限,因此我不担心这是一个权限问题,但我不确定我还做错了什么。感谢您的帮助

您是否将Lambda函数放在没有NAT网关的VPC中?我刚刚添加了NAT网关,因为我在Lambda函数中使用Python请求库进行请求时遇到了进一步的问题。我跟进了,但无法使请求库正常工作。因此,现在我的lambda功能是VPC的一部分,VPC有路由到Internet网关的子网,也有路由到NAT网关的子网。@MarkB我对此仍有问题。你知道我还有什么问题吗?你的功能真的需要在专有网络中吗?是否需要访问VPC中的EC2实例或数据库?如果没有,那么不要在VPC中运行它。如果您必须在VPC中运行它,请确保它位于具有NAT网关路由的专用子网中。要测试该子网,请在其中放置一个临时EC2实例,并查看它是否可以访问Internet。否则,请尝试提供更多信息,如Lambda函数执行的实际日志。@MarkB它需要访问我正在运行的RDS实例。我在没有VPC的情况下无法连接到RDS实例,所以我将其扔到了VPC中,解决了RDS连接问题。我刚刚从VPC中删除了这个功能,现在我可以连接到RDS实例,我可以通过Lambda功能访问互联网,但我不知道为什么。我猜这可能是因为我将RDS实例放在一个VPC中,该VPC可以通过Internet网关访问0.0.0.0/0,但我不确定这是否是最佳解决方案。您是否将Lambda函数放在一个没有NAT网关的VPC中?我刚刚添加了一个NAT网关,因为我在我的应用程序中使用Python请求库进行请求时遇到了进一步的问题Lambda函数。我跟进了,但无法使请求库正常工作。因此,现在我的lambda功能是VPC的一部分,VPC有路由到Internet网关的子网,也有路由到NAT网关的子网。@MarkB我对此仍有问题。你知道我还有什么问题吗?你的功能真的需要在专有网络中吗?是否需要访问VPC中的EC2实例或数据库?如果没有,那么不要在VPC中运行它。如果您必须在VPC中运行它,请确保它位于具有NAT网关路由的专用子网中。要测试该子网,请在其中放置一个临时EC2实例,并查看它是否可以访问Internet。否则,请尝试提供更多信息,如Lambda函数执行的实际日志。@MarkB它需要访问我正在运行的RDS实例。我在没有VPC的情况下无法连接到RDS实例,所以我将其扔到了VPC中,解决了RDS连接问题。我刚刚从VPC中删除了这个功能,现在我可以连接到RDS实例,我可以通过Lambda功能访问互联网,但我不知道为什么。我想可能是因为我把RDS实例放在一个VPC中,通过互联网网关可以访问0.0.0.0/0,但我不确定这是否是最好的解决方案。