1
AWS Lambda에서 Python API를 사용하여 SQS 메시지에 쓰려고하는데 시간 제한을 시도하지만 (1 분 동안 실행했지만 성공 없음). 역할에 대해 SQS 전체 액세스 권한을 구성했습니다. 함수 로그가 올바른 위치에 있다는 것을 알 수 있지만 마지막 줄에는AWS로 메시지 보내기 Lambda Python API 시간 초과
Starting new HTTPS connection (1): eu-west-1.queue.amazonaws.com
이 있습니다. AWS 콘솔에서 테스트 클라이언트를 사용하여 테스트하고 있습니다.
핸들러 코드는 다음과 같습니다
import boto3
import logging
import os
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
QUEUE_NAME = os.getenv("QUEUE_NAME")
SQS = boto3.client("sqs")
def getQueueURL():
"""Retrieve the URL for the configured queue name"""
q = SQS.get_queue_url(QueueName=QUEUE_NAME).get('QueueUrl')
logger.debug("Queue URL is %s", QUEUE_URL)
return q
def record(event, context):
"""The lambda handler"""
logger.debug("Recording with event %s", event)
data = event.get('data')
try:
logger.debug("Recording %s", data)
u = getQueueURL()
logging.debug("Got queue URL %s", u)
resp = SQS.send_message(QueueUrl=u, MessageBody=data)
logger.debug("Send result: %s", resp)
except Exception as e:
raise Exception("Could not record link! %s" % e)
이 큐의 URL을 검색에 항상 시간 제한에 보인다. 왜 그런데 실제로 어떻게 대기열에 쓸 수 있는지 어떻게 방지 할 수 있습니까?
람다 함수를 VPC에 넣었습니까? –
정확히 작동 한 것은 무엇입니까? VPC에는 역할이 없으므로 내가 한 말을 확신하지 못합니다. –
람다 함수에 대한 VPC 할당을 제거했습니다. 혼란을 드려 죄송합니다. –