README.md in tck-lambdas-0.1.5 vs README.md in tck-lambdas-0.1.6
- old
+ new
@@ -2,55 +2,56 @@
_Tck::Lambdas_ es una _gema_ que facilita la utilización de una _AWS Lambda_ en el contexto de un proyecto _Ruby_ introduciendo en el mismo tareas de _Rake_ que realizan las **órdenes AWS** que debemos ejecutar habitualmente desde la _línea de comandos_.
Por ejemplo, si tenemos una _función lambda_ llamada **shine** y queremos subir una mejora en su código tendríamos que, por un lado generar el _zip_ con dicha mejora, y por otro actualizar el mismo en _AWS Lambda_ (con la función ``aws lambda update-function-code`` o a través de su consola web).
-Si hemos instalado la gema _Tck::Lambdas_ en nuestro proyecto y hemos indicado en que el mismo hace uso de la _lambda shine_ (bundle exec ``tck-lambdas use shine``), lanzaríamos la siguiente orden para crear el _zip_:
+Si hemos instalado la gema _Tck::Lambdas_ en nuestro proyecto y hemos indicado que utilizamos la _lambda shine_ (bundle exec ``tck-lambdas use shine``), lanzaríamos la siguiente orden para crear el _zip_:
$ rake lambdas:shine:create_zip
-Y esta para subir el mismo a _AWS Lambda_ (para _"desplegar"_ la mejora):
+Y esta para subir dicho _zip_ a _AWS Lambda_ (para _"desplegar"_ la mejora):
$ rake lambdas:shine:upload_zip
-Si sólo tenemos esa _lambda_, creando el _alias_ necesario en nuestro _Rakefile_ (``task deploy_lambda: "lambdas:shine:upload_zip"``) podríamos lanzar simplemente:
+Si sólo tenemos esa _lambda_ en el proyecto, creando el _alias_ necesario en nuestro _Rakefile_ (``task deploy_lambda: "lambdas:shine:upload_zip"``) podríamos lanzar simplemente:
$ rake deploy_lambda
Usando una _lambda_
-------------------
Vamos a meter un _formulario de contacto_ en nuestro **proyecto Amazing** y queremos usar la *lambda contact_form*. Instalamos la _gema Tck::Lambdas_ y le indicamos que nuestro proyecto hace uso de la _lambda_ llamada *contact_form*:
$ echo "gem 'tck-lambdas'" >> Gemfile # Metemos la gema en nuestro Gemfile...
- $ bundle # - la instalamos y...
+ $ bundle # - la instalamos...
+ $ cp Rakefile Rakefile.orig # - nos guardamos nuestro Rakefile...
$ bundle exec tck-lambdas use contact_form # - y usamos la lambda:
=> lambdas/contact_form/ created with the lambda sources & tests.
=> task/lambdas/contact_form.rake created with common tasks.
=> .lambdas.yml created with the contact_form lambda conf.
-
+
Tal y como nos avisa ha creado, entre otras cosas, el fichero *.lambdas.yml* con la configuración para nuestra función _lambda_ con el siguiente contenido:
contact_form:
- function-name: tck_project_contact_form
- handler: tck_project_contact_form.handler
+ function-name: project_name_contact_form
+ handler: project_name_contact_form.handler
timeout: 30
memory-size: 128
runtime: nodejs4.3
role: lambda_contact_form_role
Todos los valores por defecto deberían ser válidos excepto el nombre de la función (_function-name_), su manejador (_handler_), y su rol.
-En el nombre del la función y su manejador tenemos que sustituir *tck_project* por el nombre de nuestro proyecto (quedándonos con *amazing_contact_form* y *amazing_contact_form.handler* respectivamente).
+En el nombre de la función y su manejador tenemos que sustituir *project_name* por el nombre de nuestro proyecto (quedándonos con *amazing_contact_form* y *amazing_contact_form.handler* respectivamente).
-El rol tenemos que sustituirlo por el que corresponda de los que nos devuelve AWS:
+El rol tenemos que sustituirlo por **el _ARN_ completo** de un rol que tenga permisos para ejecutar los servicios que necesite nuestra _lambda_. El _ARN_ correspondiente lo podemos obtener desde la línea de comandos con ``aws iam list-roles``:
aws iam list-roles --query "Roles[].[RoleName,Arn]"
Con dichos cambios en nuestro *.lambdas.yml* ejecutamos la siguiente tarea de _rake_:
- $ rake lambdas:contact_form:create_lambda
+ $ bundle exec rake lambdas:contact_form:create_lambda
Dicha orden nos creará, **además de la función _lambda_** necesaria para el entorno de producción, **otra con el mismo nombre terminada en *_test* para la ejecución de sus tests** (en nuestro ejemplo si lanzamos ``aws lambda list-functions`` deberíamos tener dos nuevas funciones llamadas *amazing_contact_form* y *amazing_contact_form_test*).
Por lo tanto, si todo ha ido bien deberíamos poder lanzar los tests de nuestra _lambda_ con éxito:
@@ -97,10 +98,10 @@
$ gem install tck-lambdas
## Contributing
-Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/tck-lambdas. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
+Bug reports and pull requests are welcome on GitHub at https://github.com/the-cocktail/tck-lambdas. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).