Diving Into the New AWS SDK for Ruby (TLS305) | AWS re:Invent 2013

download Diving Into the New AWS SDK for Ruby (TLS305) | AWS re:Invent 2013

of 77

  • date post

    12-Jan-2015
  • Category

    Technology

  • view

    947
  • download

    0

Embed Size (px)

description

Ruby developers: attend this session and learn about the next major version of the AWS SDK for Ruby, the aws-core gem. We dive deep into the SDK, covering topics such as waiters, request enumeration and pagination, resource modeling, version locking, and more. Learn how to take advantage of these features as we construct a sample Ruby application using the AWS SDK.

Transcript of Diving Into the New AWS SDK for Ruby (TLS305) | AWS re:Invent 2013

  • 1. Diving Into the New AWS SDK for Ruby Trevor Rowe & Loren Segal November 13, 2013 2013 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Friday, November 15, 13

2. Friday, November 15, 13 3. Friday, November 15, 13 4. Friday, November 15, 13 5. GoalsFriday, November 15, 13 6. Introduce CoreGoalsFriday, November 15, 13 7. GoalsFriday, November 15, 13Introduce Core Hands on Experience 8. GoalsFriday, November 15, 13Introduce Core Hands on Experience Extending the SDK 9. GoalsFriday, November 15, 13Introduce Core Hands on Experience Extending the SDK Contributing 10. gem install aws-sdkFriday, November 15, 13 11. Friday, November 15, 13 12. 2.0 Friday, November 15, 13 13. Why Version 2.0?Friday, November 15, 13 14. ValidationWhy Version 2.0?Friday, November 15, 13 15. Validation Structured ResponsesWhy Version 2.0?Friday, November 15, 13 16. Why Version 2.0?Friday, November 15, 13Validation Structured Responses Better Documentation 17. Why Version 2.0?Friday, November 15, 13Validation Structured Responses Better Documentation Extensibility 18. Why Version 2.0?Friday, November 15, 13Validation Structured Responses Better Documentation Extensibility Consistency 19. gem install aws-sdk-coreFriday, November 15, 13 20. Friday, November 15, 13 21. Version 1 aws-sdkFriday, November 15, 13 22. Version 1Version 2aws-sdkaws-sdk-coreFriday, November 15, 13 23. Version 1Version 2aws-sdkwork-in-progressaws-sdk-coreFriday, November 15, 13 24. Code Friday, November 15, 13 25. Key DifferencesFriday, November 15, 13 26. New NamespaceKey DifferencesFriday, November 15, 13 27. New Namespace Memoization EverywhereKey DifferencesFriday, November 15, 13 28. Key DifferencesFriday, November 15, 13New Namespace Memoization Everywhere Ruby 1.9+ 29. Key DifferencesFriday, November 15, 13New Namespace Memoization Everywhere Ruby 1.9+ Flexible Dependencies 30. Key DifferencesFriday, November 15, 13New Namespace Memoization Everywhere Ruby 1.9+ Flexible Dependencies Structured Responses 31. Whats Coming?Friday, November 15, 13 32. ResourcesWhats Coming?Friday, November 15, 13 33. Resources EnumerationWhats Coming?Friday, November 15, 13 34. Whats Coming?Friday, November 15, 13Resources Enumeration Pagination 35. Whats Coming?Friday, November 15, 13Resources Enumeration Pagination Helpers 36. Whats Coming?Friday, November 15, 13Resources Enumeration Pagination Helpers Service Gems 37. Developer PreviewFriday, November 15, 13 38. PublicDeveloper PreviewFriday, November 15, 13 39. Developer PreviewFriday, November 15, 13Public Feedback 40. Developer PreviewFriday, November 15, 13Public Feedback Stability 41. Extending The SDK Friday, November 15, 13 42. Friday, November 15, 13 43. Request Friday, November 15, 13Response 44. Request Friday, November 15, 13Response 45. Validate Request Friday, November 15, 13Response 46. Serialize Validate Request Friday, November 15, 13Response 47. SendSerialize Validate Request Friday, November 15, 13Response 48. Send Parse Serialize Validate Request Friday, November 15, 13Response 49. Send Parse MiddlewareSerialize Validate RequestFriday, November 15, 13Response 50. SendApplicationParse MiddlewareSerialize Validate RequestFriday, November 15, 13Response 51. Writing Plugins * The entire SDK is written as a series of pluginsFriday, November 15, 13 52. Ideas:Writing Plugins * The entire SDK is written as a series of pluginsFriday, November 15, 13 53. Writing Plugins * The entire SDK is written as a series of pluginsFriday, November 15, 13Ideas: Data Integrity Checks 54. Writing Plugins * The entire SDK is written as a series of pluginsFriday, November 15, 13Ideas: Data Integrity Checks Extended Retry Logic 55. Writing Plugins * The entire SDK is written as a series of pluginsFriday, November 15, 13Ideas: Data Integrity Checks Extended Retry Logic Default Values 56. Writing Plugins * The entire SDK is written as a series of pluginsFriday, November 15, 13Ideas: Data Integrity Checks Extended Retry Logic Default Values Cross Service Hooks 57. Plugins, Handlers and Context, Oh My!Friday, November 15, 13 58. Plugins, Handlers and Context, Oh My! Plugin CongurationHandlersFriday, November 15, 13 59. Plugins, Handlers and Context, Oh My! Plugin CongurationConguration Options DefaultsHandlersFriday, November 15, 13 60. Plugins, Handlers and Context, Oh My! Plugin CongurationCongurationHandlersFriday, November 15, 13#call methodDefaults HandlersOptionsBuild request Parse response 61. Plugins, Handlers and Context, Oh My! PluginContext provides a DSL easy to add/remove Handler stacked similar to rack middlewareFriday, November 15, 13operation name configuration request parameters http request http response response data response error 62. Plugins, Handlers and Context, Oh My! PluginContext provides a DSL easy to add/remove operation name configuration request parameters http request http response response data response errorLets Build Something! Handler stacked similar to rack middlewareFriday, November 15, 13 63. Best Practices Depend on major versions of the SDK gemaws-sdk-core,~>2.0 API Locking Lock your clients to a specific API version Aws::DynamoDB.new(api_version:2012-08-10) Secure Credential Management Rotate credentials Use IAM roles for EC2 instances when possible ENV variables (Heroku, etc.) From a file on disk (outside source control) Never check your credentials into source control!Friday, November 15, 13 64. Contributing Friday, November 15, 13 65. Open SourceFriday, November 15, 13 66. GitHub issuesOpen SourceFriday, November 15, 13 67. GitHub issues Pull RequestsOpen SourceFriday, November 15, 13 68. Open SourceFriday, November 15, 13GitHub issues Pull Requests Test Coverage 69. Open SourceFriday, November 15, 13GitHub issues Pull Requests Test Coverage Docs/Guides 70. Open SourceFriday, November 15, 13GitHub issues Pull Requests Test Coverage Docs/Guides Samples 71. Open SourceFriday, November 15, 13GitHub issues Pull Requests Test Coverage Docs/Guides Samples 3rd Party Gems 72. Links of InterestFriday, November 15, 13 73. Links of Interest https://github.com/aws/aws-sdk-core-rubyFriday, November 15, 13 74. Links of Interest https://github.com/aws/aws-sdk-core-ruby http://ruby.awsblog.com/Friday, November 15, 13 75. Links of Interest https://github.com/aws/aws-sdk-core-ruby http://ruby.awsblog.com/ https://forums.aws.amazon.com/forum.jspa?forumID=125Friday, November 15, 13 76. Links of Interest https://github.com/aws/aws-sdk-core-ruby http://ruby.awsblog.com/ https://forums.aws.amazon.com/forum.jspa?forumID=125 @awsforrubyFriday, November 15, 13 77. Please give us your feedback on this presentationTLS305 As a thank you, we will select prize winners daily for completed surveys!Friday, November 15, 13Thank You