Я знаю, что это полный заголовок, но я ударился о стену и подумал, что смогу протянуть руку, чтобы узнать, чего я пропускаю.
моя цель: лямбда, которая будет обращаться к файлу внутри корзины S3, запускать его через textract и затем записывать результаты в базу данных RDS. (на данный момент, чтобы получить доступ к RDS, я должен запустить свои лямбды в VP C)
Итак, у меня есть лямбда-функция, которая работает внутри VP C. Я настроил необходимые разрешения, политики, конечные точки и т. Д. c так, чтобы лямбда могла получить доступ к документам s3, используя следующий код:
s3 = boto3.client('s3')
def lambda_handler(event, context):
bucket = 'my-bucket'
key = my-file.json'
try:
data = s3.get_object(Bucket=bucket, Key=key)
json_data = data['Body'].read()
return json_data
except Exception as e:
print(e)
raise e
Теперь ... вот проблема. Я заменяю приведенный выше код следующим кодом и запускаю внутри VP C - я получаю страшный тайм-аут.
def lambda_handler(event, context):
# Document
s3BucketName = "my-bucket"
documentName = "test.png"
# Amazon Textract client
textract = boto3.client('textract')
# Call Amazon Textract
response = textract.detect_document_text(
Document={
'S3Object': {
'Bucket': s3BucketName,
'Name': documentName
} })
# Print detected text
for item in response["Blocks"]:
if item["BlockType"] == "LINE":
print ( item["Text"] )
Когда лямбда запускается вне VP C, то есть "No VP C ", выбранный под заголовком" Сеть "в лямбде, этот второй кусок кода выполняется без проблем.
Кто-нибудь знает, что может быть причиной сбоя? В документах я не нашел ничего, что говорило бы, что это дело предотвращено, но я беспокоюсь, что не смогу получить доступ к Textract изнутри VP C?