Rubyファンの皆様お待たせしました。v2)がリリースされました。Previewとしてリリースされていましたが、これで正式版となったわけです。v1)との違いなどについて私が気付いた点をまとめたいと思います。インストール以前までと同様、Rubygemsによってホストされていますので、gemコマンドでインストールします。gem名はaws-sdk-coreとなっていますので注意して下さい。Aws::VERSION'2.0.0正常にインストールされた場合、バージョン番号が表示されると思います。特筆すべきfeatureはほとんどREADMEに書かれているので、それを試してみました。簡単なページングAPIリクエストに対して大量の結果が返される場合、一度に返される量を制限する必要があります。CLIでは以下のような感じになります。記載すると、毎回リクエストの度にmarkerを取得し、パラメータにセットし、APIリクエストを実行する、という必要があり非常に面倒でした。v2でPageableResponseクラスというものが作成され、そのレスポンスクラスがページング処理のための便利な機能を持っています。実際にコードを見てみましょう。}endlast_page?とnext_pageを利用しました。意味は名前を見ると通じるかと思いますが、last_page?はこれが最後の取得出来るリソースかどうかを判定し、next_pageで次の10個のリソースを取得しています。これ以上取得できるリソースがない状態でnext_pageを実行すると、LastPageErrorが発生するので注意しましょう。each_pageという、全ページを順番に取得して処理を実施するメソッドも用意されています。全リソースに対して必ず処理を実施する場合はかなり便利だと思います。上の例は、以下の様に書きなおすことが出来ます。}endだいぶ記述がすっきりしました!WaitersAWSのAPIは、基本的にあるリクエストに対するレスポンスを即座に返しますが、そのリクエストで意図した結果が必ず起こるとは限らない、というところには注意が必要です。start-instancesというAPIは、Stop状態のEC2インスタンスを起動するためのAPIです。ともにインスタンスの情報が返ってきます。200を受け取ったからといって、このインスタンスがrunningになるとは限りません。起動処理中にAWSのデータセンターに隕石が落ちてDCが破損した場合(参考)、そのEC2の最終的な状態は保証できません。何が言いたいかというと、APIレスポンスが返ってきた後、その対象が望むべきStatusになっているかどうかを暫くの間監視しておく必要があるのです。v2では各サービスのクライアントクラスにwait_untilというメソッドが追加され、このあたりの制御が簡単に行えるようになりました。コードを見てみましょう。#{error.message}"endstart-instancesを実行した後、7行目のwait_untilの部分でステータスのポーリングを実施し、ステータスがinstance_runningになるまで監視してくれます。一定期間内にステータスが想定のステータスにならなかった場合、例外となります。以下のように記述することで、監視のインターバルや最大リトライ数を調整することもできます。v2のgemに付随して、aws.rbというコマンドもついてきます。これはirbやpryといった対話型コンソールで、手元で簡単にSDKの動きを確認したい時に使えます。v1にもaws-rbというのがありました。(このブログを書いていて初めて知りました。v2のREADMEにも記載されていますが、セマンティックバージョニングを採用しているので、メジャーバージョンアップには互換性のない変更も含まれます。v1とv2では名前空間が異なります。v2ではAwsモジュールとなります。大文字小文字に注意しましょう。v2の2014/09/26時点ではexperimentalとされています。aws-sdk-resourcesという別のGemに切り出されたようなので、利用する際には十分に注意しましょう。追加でインストールする場合には、gemコマンドを使ってインストールします。v2のrc1がリリースされたのが昨年の11月ということで、最初のrcから1年弱が経過して、ようやく正式版リリースとなりました。開発途中の機能もあるようですが、興味のある方は使ってみてはいかがでしょうか。1,342,746横浜DeNAベイスターズを愛するAWS屋。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。濱田孝治391re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹410こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。濱田孝治391re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。臼田佳祐296ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介256SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。