gpt4 book ai didi

aws-lambda - Lambda 无法向 SQS 发送消息

转载 作者:行者123 更新时间:2023-12-05 05:08:14 24 4
gpt4 key购买 nike

我无法从我的 lambda 向我的 SQS 队列发送消息功能。这是我的设置

  • Lambda 连接到默认 VPC 中的 3 个公共(public)子网
  • 存在用于 SQS 的 VPC 端点

我正在尝试使用以下方法通过 boto3 发送消息:

import json
import boto3

sqs = boto3.client("sqs")
sqs.send_message(
QueueUrl="https://sqs.eu-west-1.amazonaws.com/012345678901/my_queue",
MessageBody=json.dumps({"message": "hello"}),
)

lambda 超时(60 秒)。在调试时,我注意到 boto3客户端正在连接到 eu-west-1.queue.amazonaws.com 而不是sqs.eu-west-1.amazonaws.com,这是我在 QueueUrl 参数中指定的。通过进一步调试,我注意到 eu-west-1.queue.amazonaws.com解析为 Lambda 中的公共(public)地址,而sqs.eu-west-1.amazonaws.com 解析为私有(private)地址。我不理解为什么会这样。

最佳答案

我在 GitHub 上问过同样的问题,所以感谢 swetashre 在那里回答我。原来我需要在创建 SQS 客户端时指定端点 URL。

sqs = boto3.client("sqs", endpoint_url="https://sqs.eu-west-1.amazonaws.com")

关于aws-lambda - Lambda 无法向 SQS 发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58501450/

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