Amazon Web Services (AWS) が実験的なGo言語版のAWS SDKをAWS LabsのGithubアカウントでリリースした。現在のところ、EC2、S3、RDSを含む43のAWSサービスをサポートしている。
The AWS公式ブログでは、GoogleのGoプログラミング言語はそのローンチ以降、著しい成長を遂げており、顧客からの公式AWS SDKの要望が日に日に高まっていると述べている。Go SDKはAWSで利用可能な8番目の言語固有SDKになるだろう。AWSは現在、Java、C#、Ruby、Python、JavaScript、PHP、Objective C (iOS)のためのSDKを提供している。
新しいAWS SDK for GoはStripeのaws-go SDKをベースにしている。これは主にCoda Hale氏によって書かれたものだ。もともとaws-go SDKは、公式AWS SDKが開発されている方法と非常に近い、モデルベースの生成テクニックを使って開発されていた。これにはbotocoreに含まれているJSONスキーマからAWS APIのためのGo SDKクライアントセットを自動生成することも含まれている。botocoreはPythonで書かれたAWSサービスに対する低レベルインターフェイスで、公式のAWS-CLIコマンドラインツールの基盤として使われている。
AWS公式ブログには、AWSのシニアプロダクトマネージャであるPeter Moon氏のゲスト投稿も上がっており、StripeがGo SDKのオーナーシップをAmazonに移管したことが述べられている。
彼らにコンタクトして、プロジェクトに貢献できないか話したところ、StripeはプロジェクトのオーナーシップをAWSに移管することを提案しました。私たちは喜んでプロジェクトの引き継ぎに同意し、これを公式にサポートされたSDKにすることにしました。
AWS SDK for Goは当初は実験的な状態として、コミュニティからのフィードバックを集めるとともに、APIを強固にすること、テストカバレッジを高めること、リクエストのリトライやチェックサムバリデーション、ライフサイクルイベントをリクエストするためのフックといった重要機能を追加することに取り組むそうだ。
プロジェクトのGithubページでは、Go AWS SDKはまだ十分テストされておらず、APIも警告なしに大きく変わるおそれがあるため、使うときには注意するよう忠告している。
実験的なAWS Go SDKは公式のAWS Labsの GitHubリポジトリで開発されており、リポジトリに含まれるREADME.mdの指示に従うことで、ローカルにインストールすることができる。AWS公式ブログは開発者に対して、進展を見守り、プルリクエストを投げたり、GitHub Issuesにフィードバックやアイデアを送ることで開発に参加するよう求めている。