usar tutorial que porque informatica home expresiones east aws amazon-web-services amazon-s3 aws-lambda amazon-vpc

amazon-web-services - tutorial - porque usar lambda aws



Agregar AWS Lambda con configuraciĆ³n de VPC provoca un tiempo de espera excedido al acceder a S3 (1)

Una vez que habilita el soporte de VPC en Lambda, su función ya no tiene acceso a nada fuera de su VPC, que incluye S3. Con S3 específicamente, puede usar VPC Endpoints para resolver esto. Para casi cualquier otra cosa que no sea su VPC, deberá crear una instancia NAT o una puerta de enlace NAT administrada en su VPC para enrutar el tráfico de sus funciones Lambda a puntos finales fuera de su VPC.

Leería el anuncio de soporte de Lambda VPC y prestaría especial atención a la sección "Cosas que debe saber" al final.

Estoy intentando acceder a S3 y los recursos en mi VPC de AWS Lambda, pero desde que configuré mi AWS Lambda para acceder a VPC, se agota el tiempo de espera al acceder a S3. Aquí está el código

from __future__ import print_function import boto3 import logging import json print(''Loading function'') s3 = boto3.resource(''s3'') import urllib def lambda_handler(event, context): logging.getLogger().setLevel(logging.INFO) # Get the object from the event and show its content type bucket = event[''Records''][0][''s3''][''bucket''][''name''] key = urllib.unquote_plus(event[''Records''][0][''s3''][''object''][''key'']).decode(''utf8'') print(''Processing object {} from bucket {}. ''.format(key, bucket)) try: response = s3.Object(bucket, key) content = json.loads(response.get()[''Body''].read()) # with table.batch_writer() as batch: for c in content: print('' Processing Item : ID'' + str(c[''id''])) # ################## # Do custom processing here using VPC resources # ################## except Exception as e: print(''Error while processing object {} from bucket {}. ''.format(key, bucket)) print(e) raise e

He configurado mis subredes y grupos de seguridad con las reglas de salida apropiadas para acceder a Internet, como se muestra a continuación, pero mi Lambda simplemente agota el tiempo de espera al acceder a S3.

Aquí hay una muestra de entrada de prueba también

# Test Event Configuration { "Records": [ { "awsRegion": "us-east-1", "eventName": "ObjectCreated:Put", "eventSource": "aws:s3", "eventTime": "2016-02-11T19:11:46.058Z", "eventVersion": "2.0", "requestParameters": { "sourceIPAddress": "54.88.229.196" }, "responseElements": { "x-amz-id-2": "ljEg+Y/InHDO8xA9c+iz6DTKKenmTaGE9UzHOAabarRmpDF1z0eUJBdpGi37Z2BU9nbTh4p7oZg=", "x-amz-request-id": "3D98A2325EC127C6" }, "s3": { "bucket": { "arn": "arn:aws:s3:::social-gauge-data", "name": "social-gauge-data", "ownerIdentity": { "principalId": "A1NCXDU7DLYS07" } }, "configurationId": "b5540417-a0ac-4ed0-9619-8f27ba949694", "object": { "eTag": "9c5116c70e8b3628380299e39e0e9d33", "key": "posts/test/testdata", "sequencer": "0056BCDCF1F544BD71", "size": 72120 }, "s3SchemaVersion": "1.0" }, "userIdentity": { "principalId": "AWS:AROAIUFL6WAMNRLUBLL3K:AWSFirehoseDelivery" } } ] }