Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

366
Visualizações
Cómo activar mi función Lambda una vez que el archivo se carga en el depósito s3

He subido un archivo zip al depósito S3. Necesito activar mi lambda a continuación
funcione inmediatamente una vez que se haya cargado el archivo zip. Por favor, ayúdenme a proceder

 exports.handler = function (event, context) { MyLambdaFuntion(); } MyLambdaFuntion() { var bucketName = "TestBucket1"; var fileKey = "test.js"; s3.getObject(params, function (err, data) { if (err) console.log(err, err.stack); else { console.log(data); } }); }
about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Hay algunos pasos que debe seguir correctamente para hacerlo.

paso 1: Primero cree su función lambda, seleccione el tiempo de runtime y seleccione la blank function o cualquier proyecto original de la lista.

paso 2: seleccione el cuadro en blanco y elija S3 de la lista de servicios. ingrese la descripción de la imagen aquí

Paso 3: Seleccione el depósito desde el que desea activar y elija el tipo de evento. En su caso, debería ser Object Created (All)

Paso 4: Ingrese el prefijo, en caso de que tenga alguna carpeta dentro del S3 y desee activar solo la carga en esa carpeta.

paso 5: Ingrese el sufijo, para activar solo el sufijo específico '.jpg'

Paso 6: marque la casilla de verificación Habilitar disparador y elija Siguiente.

paso 7: Ahora asigne a la función un nombre y una descripción. Si desea cargar el código o escribirlo en el editor, cambie el tipo de entrada del código.

Paso 8: en la función del controlador, elija index.handler este es el nombre de la función que llamará una vez que se cargue el archivo. El índice es el nombre del archivo y el controlador es el nombre de la función.

paso 9: elija create a custom role y se dirige a una nueva página allí, deje todos los campos como están, no cambie nada y elija Allow .

paso 10: ahora regrese a la pestaña anterior, seleccione el rol -> choose from existing role y seleccione el role name recién creado

paso 11: seleccione Siguiente, revise todas las opciones seleccionadas y haga clic en Create Function .

Una vez creada la función con éxito, vaya a la pestaña de activación y podrá ver el depósito S3 configurado para la activación.

Ahora comience a escribir el código en el editor de código o cárguelo desde local a la función lambda en la pestaña de código.

El código S3 simple para leer un archivo se encuentra a continuación.

 var aws = require('aws-sdk'),; var s3 = new aws.S3({ apiVersion: '2006-03-01', accessKeyId: process.env.ACCESS_KEY, secretAccessKey: process.env.SECRET_KEY, region: process.env.LAMBDA_REGION }); exports.handler = function(event, context, exit){ //console.log('Received event:', JSON.stringify(event, null, 2)); // Get the object from the event and show its content type const bucket = event.Records[0].s3.bucket.name; const key = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, ' ')); const params = { Bucket: bucket, Key: key, }; s3.getObject(params, function(err, data){ if (err) { console.log('ERROR ' + err); exit(err); } else { // the data has the content of the uploaded file } }); };

¡¡¡Espero que esto ayude!!!

about 4 years ago · Santiago Trujillo Relatório

0

La mejor opción que veo es tener una función lambda lista para ejecutarse automáticamente cada vez que se coloca un archivo en el depósito S3. Cuando se llama a la función lambda, se enviará un evento con información del archivo creado a la función lambda.

Aquí hay un ejemplo de cómo activar:

ingrese la descripción de la imagen aquí

Siguiente:

ingrese la descripción de la imagen aquí

Aquí hay un código de ejemplo lambda nodejs para hacer esto:

 exports.handler = (event, context, callback) => { var lastCreatedFile = event.Records[0].s3.object.key; console.log(lastCreatedFile); };


¡Espero que te haya ayudado!

about 4 years ago · Santiago Trujillo Relatório

0

Puede utilizar la notificación de eventos de S3.

Luego use el evento PUT del depósito para activar una función lambda.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda