Amazon AWS は、個人・企業・政府機関に対して、従量課金制でオンデマンドのクラウドコンピューティングプラットフォームと API を提供しています。これらのクラウドコンピューティングウェブサービスは、AWS サーバーファームを通じて分散コンピューティング処理能力とソフトウェアツールを提供します。
sgcOpenAPI クライアントパーサーは Amazon AWS の OpenAPI / Swagger 仕様を読み込み、100% Pascal コードでクライアントインターフェースを自動生成します。これにより Delphi、CBuilder、Lazarus の任意のアプリケーションに統合できます。
280 を超える Amazon AWS サービスの完全なリストはこちらで確認できます:
https://www.esegece.com/products/openapi/apis/amazon-aws
リストには以下のような人気サービスが含まれています:
- Simple Storage Service (S3)
- Simple Notification Service (SNS)
- Simple Queue Service (SQS)
- Security Token Service (STS)
- その他多数!
Amazon AWS Client
sgcOpenAPI Amazon AWS クライアント(TsgcOpenAPI_Amazon_Client)は TsgcOpenAPI_Client を継承した専用の OpenAPI クライアントを持っています。
This component has a property called AmazonOptions that includes all required configurations to connect to Amazon AWS Servers.
AmazonOptions
AmazonOptions では、Amazon AWS サーバーに対して認証するための AccessKey と SecretKey(事前に Amazon アカウントから生成しておく必要があります)を設定できます。
アクセスキーはリソースへのプログラムによるアクセスを許可します。そのため、アクセスキーは AWS アカウントのルートユーザーサインイン認証情報と同様に厳重に管理する必要があります。
以下のベストプラクティスに従うことをお勧めします:
- IAM ユーザーを作成し、そのユーザーの権限をできる限り最小限に定義します。
- その IAM ユーザーの下でアクセスキーを作成します。
認証情報を取得したら、以下のプロパティに設定してください:
- AmazonOptions.AccessKey
- AmazonOptions.SecretKey
AmazonOptions.JSON プロパティでは、レスポンスが JSON か XML かを設定できます。
Credentials
AWS へのアクセス方法に応じて、異なる種類のセキュリティ認証情報が必要です。たとえば、AWS マネジメントコンソールへのサインインにはユーザー名とパスワードが必要で、AWS へのプログラムによる呼び出しにはアクセスキーが必要です。
AWS アクセスキーを取得したら、Amazon AWS サーバーへのリクエストを行う前に OpenAPI Amazon クライアントに設定する必要があります。
GetOpenAPIClient.AmazonOptions.AccessKey := 'AKIAIOSFODNN7EXAMPLE'; GetOpenAPIClient.AmazonOptions.SecretKey := 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY';
Simple Storage Service (S3)
Amazon Simple Storage Service(Amazon S3)は、業界トップクラスのスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。あらゆる規模・業種の企業が、データレイク、ウェブサイト、モバイルアプリケーション、バックアップと復元、アーカイブ、エンタープライズアプリケーション、IoT デバイス、ビッグデータ分析などのユースケースで任意の量のデータを保存・保護するために Amazon S3 を使用できます。Amazon S3 は、ビジネス・組織・コンプライアンスの要件に合わせてデータへのアクセスを最適化・整理・設定できる管理機能を提供します。
// LIST BUCKETS
GetOpenAPIClient.AmazonOptions.AccessKey := 'AKIAIOSFODNN7EXAMPLE';
GetOpenAPIClient.AmazonOptions.SecretKey := 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY';
ShowMessage(GetOpenAPIClient.ListBuckets());
// GET OBJECT BY BUCKET NAME
GetOpenAPIClient.AmazonOptions.AccessKey := 'AKIAIOSFODNN7EXAMPLE';
GetOpenAPIClient.AmazonOptions.SecretKey := 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY';
ShowMessage(GetOpenAPIClient.GetObject('bucket_name'));
