BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AmazonがPowerShell向けの新しいAWSツールのプレビューをリリース

AmazonがPowerShell向けの新しいAWSツールのプレビューをリリース

原文(投稿日:2019/08/30)へのリンク

Amazonは最近のブログ投稿で、開発者と管理者がPowerShellスクリプト環境からAWSサービスを管理できるリファクタリングされたPowerShell用のAWSツールのプレビューをリリースすると発表した。プレビューでは、開発者と管理者がインストールするモジュールを選択できるため、起動時間が短縮される。また、必須パラメーター機能が含まれ、古いコマンドレットや廃止されたコマンドレットが削除された。

2012年にPowerShell for AWSが最初にリリースされて以来、Amazonはツールキット向けのコマンドレットを拡張し、160を超えるサービスにまたがって6000にほぼ達した。次に、これらのコマンドレットに、Amazonは、クロスプラットフォームで実行できる、PowerShell 6以上のユーザ向けのモジュールも追加した。これらのコマンドレットはすべて1つのモジュールに含まれているため、インポートする時間が大幅に増加した。

現在、Amazonは新しい一連のモジュールをPowerShellギャラリーにリリースすることにより、ロード時間の問題に取り組んでいる。ユーザは、AWSサービスごとにPowerShellモジュールのプレビューリリースを取得できるようになった。さらに、これらのPowerShellモジュールのプレビューはそれぞれ、AWS.Tools.Commonという名前のユニバーサル共有モジュールに依存している。これは、NuGetでAWS SDK for .NETに対してAmazonが取ったものと同様のアプローチである。


発表のブログ投稿によると、Amazonの上級技術エバンジェリストであるSteve Roberts氏は、このアプローチの意味を説明している。

  • 開発者と管理者は、すべてのサービスに対する1つの大きなモジュールをダウンロードしてインストールする代わりに、必要なサービスのモジュールのみをインストールできるようになった。サービス固有のモジュールをインストールすると、ユニバーサルモジュールがバックグラウンドで自動的にインストールされる。
  • 開発者と管理者は、各モジュールのCmdletsToExportマニフェストプロパティが正しく指定されるようになったため、使用前にプレビューモジュールを明示的にインポートする必要がなくなった。
  • 現在、新しいモジュールのバージョン管理戦略は、AWSPowerShellおよびAWSPowerShell.NetCoreモジュールに従っている。PowerShellを担当するAWSチームは、プレビューのGitHubリポジトリ通知でこの戦略を詳しく説明している。

リファクタリングと共に、チームは他にもいくつかの変更を加えた。CloudWatchEventsやElasticLoadBalacingなどの古くて廃止されたコマンドレットを削除し、新しいモジュールを採用した。さらに、必須パラメーターを機能として追加し、開発者と管理者が必要に応じてパラメーターをマークできるようにした。

PowerShell関数を作成する場合、開発者と管理者は新しいモジュールを使うために#Requiresステートメントを使用してスクリプトを作成または更新する必要がある。さらに、ユニバーサルモジュールAWS.Tools.Commonに対してこのステートメントを追加する必要もある。たとえば、開発者がAmazon Simple Storage Service(S3)を使用するLambda関数をPowerShellで作成する場合、次の2つのステートメントを関数のスクリプトファイルに追加する必要がある。

#Requires -Modules @{ModuleName='AWS.Tools.Common';ModuleVersion='3.3.563.0'}
#Requires -Modules @{ModuleName='AWS.Tools.S3';ModuleVersion='3.3.563.0'}

開発者と管理者は、PowerShellギャラリーから新しいモジュールにアクセスできる。さらに、PowerShellモジュールを担当するAWSチームのGitHubイシューリポジトリで、フィードバック、考え、互換性の問題を送信できる。

この記事に星をつける

おすすめ度
スタイル

BT