2016-09-06 2 views
1

Совершенно новый для AWS Lambda, поэтому я даже не уверен, что это правильный инструмент для выполнения того, что я пытаюсь сделать.Как использовать AWS Lambda для проверки файла в S3

В основном, что я пытаюсь сделать, это проверить, существует ли файл или недавно он был обновлен на S3. Если этот файл отсутствует или недавно не обновлялся, я хочу, чтобы AMI был клонирован в экземпляр AWS.

  1. Возможно ли это?
  2. Является ли Lambda правильным инструментом для работы?

Я достаточно компетентен в JavaScript, но никогда не использовал node.js или Python, поэтому запись функции Lambda кажется мне сложной.

Знаете ли вы о каких-либо ресурсах, которые могут помочь в создании функций лямбда?

Спасибо!

+0

Да, это возможно и кажется вполне разумной задачей для выполнения с AWS Lambda. Попробуйте взглянуть на примеры, которые предоставляет AWS. –

ответ

2

Будет легко, если вы знаете о Javascript и знаете о NPM. Позвольте мне дать вам простой способ с узлом js:

  1. Войдите в свой AWS.
  2. перейдите в меню консоли AWS, кнопку в правом верхнем углу.
  3. выберите лямбда, нажмите функцию и создайте новую функцию.
  4. щелчок skip кнопка сверху синий принт страница.
  5. skip страница конфигурации триггера.
  6. вы увидите функцию настройки страницы, то вы можете заполнить имя функции, выполнения использование NodeJS.4.3, и выбрать тип кода, Изменить код Инлайн
  7. в нижней части от Редактировать код Встраиваемого поля, вам должен выбрать роль IAM, которую вы когда-либо имели. если у вас нет ролей IAM, перейдите в AWS Console и выберите Управление идентификацией и доступом (IAM), выберите «Роли» и создайте его.
  8. Если вы закончили заполнять все необходимые поля, вы можете щелкнуть дальше и создать функцию лямбда.

Примечание: в вашем редактирования кода Встраиваемый Box, запишите этот код:

exports.handler = function(event, context, callback) { 
    var AWS = require('aws-sdk'); 
    AWS.config.update({accessKeyId: 'xxxxxxxxxxx', secretAccessKey: 'xxxxxxxxxxxxxxxxxxxx'}); 
    var s3 = new AWS.S3(); 
    var params = {Bucket: 'myBucket', Key: 'myFile.html'}; 
    s3.getObject(params, function(err, data) { 

    if (err) { 
     console.log(err, err.stack); 
     // file does not exist, do something 
    } 
    else { 
     console.log(data); 
     //file exist, do something 
    }  
    }); 
}; 

вы можете получить accessKeyId из меню IAM -> Пользователи -> Учетные данные безопасности -> Создание ключа доступа. то вы получите secretAccessKey тоже.
Надеюсь, что этот ответ поможет вам.

+0

Спасибо! Теперь мне нужно выяснить, как заставить его запускать AMI, но я постараюсь понять это для себя. – Vinny

Смежные вопросы