目次:
ビデオ: セイコーエプソン様における AWS 活用事例 2024
AWSと意味のあるやり取りをするには、AWSと意思疎通する必要があります。通信は以下のレベルで行われます。
- Transport: これは実際にパーティ間でデータを転送する下層です。
- 発見: AWSと対話するには、どの方法が利用可能かを知る必要があります。ディスカバリー・レベルでは、共通URLを使用して、XMLまたはJSONのいずれかの特定のサービスの使用可能メソッドのリストをハイパーリンクのリストとして要求できます。
- リクエスト: 利用できるメソッドがわかったら、リクエストを行うことができ、AWSは応答を提供します。
通信をより多くのレイヤーに簡単に分割できますが、これらのレイヤーは最も基本的で不可欠な内訳です。これらのレイヤーを理解するだけで、AWSを使用して堅牢なアプリケーションを作成することができます。 (アプリケーションがますます大きくなり、AWSが機能を追加するにつれて、レイヤーを追加する必要が生じる可能性があります)。
データの移送
最初に考慮する必要があるのは移送です。 AWSは、次のリストを含むいくつかのサービスに対するセキュリティ保護されていない要求とHTTPSをHTTPでサポートしています。
<! Amazon APIを使用する場合は、Amazon DevPay(HTTPSはライセンスサービスに必要です) - > Amazon Associates Webサービス- Amazon CloudFront(HTTPSは制御APIに必要です。 Amazon Simple Computing(999)Amazon Flexible Paymentsサービス(HTTPSが必要)
- AmazonフルフィルメントWebサービス(HTTPSが必要)
- Amazon Mechanical Turk
- Amazon SimpleDB
- Amazon Simple Queue Service
- Amazon Simple Storage Service
- <! - 3 - >
- ほとんどの場合、HTTPS要求の形式でSecure Sockets Layer(SSL)を使用すると、情報がインターネット上で安全に保たれるため、最良の結果が得られます。必要なデータが本質的に秘密でない場合、HTTPを使用してアプリケーション速度を向上させることがあります。場合によっては、サービスがHTTPSをサポートしていないためHTTPを使用する必要があるため、前提条件を確認する前にサービスマニュアルを確認してください。
- ほとんどの開発者は、デスクトップとブラウザのアプリケーション開発を通じてHTTPとHTTPSの両方を知っています。しかし、AWSがMessage Queuing Telemetry Transport(MQTT)もサポートしているということは分かりません。このパブリッシュ/サブスクライブ・メッセージング・トランスポート・プロトコルは、IOT(Internet of Things)およびM2M(Machine-to-Machine)タスクを実行するために使用されるような、制約のあるデバイスのニーズに対応します。MQTT atとそのAWSビューに関するさらに詳しい情報を調べてください。 AWSは、
- Amazon Simple Storage Service
Amazon Kinesis
AWS Lambda
- Amazon Simple Notification Service
- Amazon Simple Queue Service を含む多くのサービスでMQTTを使用できるようにします。 > APIメソッドのリストを取得する
- AWSで何かできるようになる前に、どのタスク(メソッドを使ってアクセス可能)が利用可能かを知る必要があります。 APIドキュメントは、できることの概要を示すことができますが、利用可能なメソッドの実際のリストは柔軟性があり、コンテキストによって異なります。たとえば、セキュリティで保護されていないか、目的のタスクをサポートするようにサービスを構成していないため、一部のサービスで特定のタスクを実行できない場合があります。
- RESTを使用する理由の1つは、プロトコルのようにCreate、Read、Update、Delete(CRUD)リクエストをHTTPに直接マッピングしないことです(破損しない契約を作成し、あなたが変更を行う必要がある時)。あなたは、GETリクエストを伴う標準URLを使用してリクエストを行い、実際のメソッド呼び出しへのハイパーメディアリンクのリストを受け取ります。アプリケーション状態のエンジンとしてのハイパーメディアに関する記事(HATEOAS)は、このプロセスがより詳細にどのように機能するかを説明しています。
- 元々、RESTは特定のメソッド呼び出しへのリンクのリストを提供するためにXMLに頼っていましたが、HAL(Hypermedia Access Language)を使用すると、JSONを代わりに使用できるようになりました。ほとんどの開発者がXMLをよりよく理解しているように見えるため、AWSは現在、あらゆる種類のAPIクエリにXMLを使用しています。 AWSのネイティブフォーマットです。この記事では、REST APIの詳細について説明します。
- AWSは、一度にシンプルオブジェクトアクセスプロトコル(SOAP)を幅広くサポートしました。実際には、SOAPを使用して依頼を行うことはできますが、HTTPSを使用するだけです。それ以外の場合、AWSはSOAPをまったくサポートしません(EC2サービスの非推奨の例)。
リクエストの作成
リクエストと応答は、他のWebサービスで使用されている使い慣れたパターンに従います。しかし、AWSは、RESTが単なるアーキテクチャであり、APIリクエストによってRESTに何かが追加されていることを確実に認識するように注意しています。つまり、それらは別のレイヤーを表します。多くの場合、あるタイプのAPI呼び出しで使用されるRESTを参照するREST /クエリが表示されます。
AWSに行ったほとんどのREST要求に署名する必要があります。 Simple Storage Service(S3)などの一部のサービスでは、匿名の要求が許可されます。しかし、大量の情報を収集するには、署名された(認証された)要求を提供する必要があります。しかし、この記事では、このような要求を使用してS3バケットのセキュリティ問題を解決する方法について説明します。
CLIまたはSDKを使用してリクエストすると、環境によって要求が署名されます。要求は依然として署名されていますが、手動でタスクを実行することについて心配する必要はありません。詳細の署名については、をご覧ください。