SP-APIによるイベント駆動型アーキテクチャの構築
イベント駆動型アーキテクチャパターンは、イベントを使用してシステムの分離された独立したコンポーネントを接続する非同期アーキテクチャ設計モデルです。
イベント駆動型アーキテクチャパターンは、非同期アーキテクチャ設計モデルです。このアーキテクチャでは、イベントを使用して、独立した分離システムのコンポーネントを接続します。これらのコンポーネントは一般的に特定のタスクを実行するマイクロサービスです。イベント駆動型アーキテクチャでは、すべてのロジックを含むモノリシックなアプリケーションの代わりに、イベントを生成して応答する小さなコンポーネントを使用します。これらのイベントは、状態の変化やその他の種類の更新を表します。
イベント駆動型アーキテクチャの重要な要素は、プロデューサーとコンシューマーです。プロデューサーは、1 人以上のコンシューマーによって処理されるイベントを生成して、さまざまなタスクを実行します。通常、アプリケーションは複数のプロデューサーとコンシューマーで構成されます。これらのタスクを組み合わせることで、1 つのビジネスユースケースが実現します。
イベント駆動型アーキテクチャは、コンポーネントを切り離して開発ライフサイクルを短縮することで、アプリケーションのパフォーマンスを向上させることができます。を使用できます。 通知 API このデザインモデルを実装すること。
イベント駆動型アーキテクチャのメリット
イベント駆動型アーキテクチャを構築すると、アプリケーションのパフォーマンス、コスト、信頼性、スケーラビリティ、開発ライフサイクルが向上します。これらの利点の例は次のとおりです。
-
イベント駆動型アプリケーションは、イベントにリアルタイムで反応した方がパフォーマンスが向上します。これは、定期的にデータを引き出すスキーマの場合は遅延が発生するためです。
-
イベントに対応することで不要な作業量が減り、リソースと使用量を節約してコストを削減できます。
-
イベント駆動型アーキテクチャのコールパターンにより、サードパーティサービスの負荷が軽減されます。負荷を減らすことで、レート制限のボトルネックがなくなり、スロットリングエラーが減ります。
-
分離されたコンポーネントは、個別に拡張したり故障したりする可能性があります。分離されたコンポーネントは、個々のニーズに基づいて需要に適応できるため、障害の影響を軽減できます。
-
アーキテクチャがシンプルになると、開発ライフサイクルが短くなり、新しいユースケースへの適応が容易になります。
通知とイベント駆動型アーキテクチャ
Selling Partner API(SP-API)は、ユーザーがイベント駆動型アーキテクチャを構築できる通知APIを提供します。通知APIを使用すると、さまざまなイベントタイプにサブスクライブして、Amazonビジネスに関連する変更に関する通知を受け取ることができます。
さまざまな通知タイプの対象となるユースケースには、出品ステータスの変更、注文の更新、手数料プロモーションの有効化、レポート処理の完了、製品定義の変更などがあります。
ユースケース | 通知タイプ |
---|---|
注文管理 | ORDER_STATUS_CHANGE |
出品管理と提出 | LISTINGS_ITEM_STATUS_CHANGE LISTINGS_ITEM_ISSUES_CHANGE PRODUCT_TYPE_DEFINITIONS_CHANGE |
商品価格設定 | ANY_OFFER_CHANGED B2B_ANY_OFFER_CHANGED PRICING_HEALTH |
手数料のプロモーション | FEE_PROMOTION |
Amazonから出荷(FBA) | FBA_OUTBOUND_SHIPMENT_STATUS |
マルチチャネル出荷 | FULFILLMENT_ORDER_STATUS |
出品者出荷 | ORDER_CHANGE |
ブランド管理 | BRANDED_ITEM_CONTENT_CHANGE ITEM_PRODUCT_TYPE_CHANGE |
出品パートナーアカウント管理 | ACCOUNT_STATUS_CHANGED |
レポート処理 | REPORT_PROCESSING_FINISHED |
フィードの送信 | FEED_PROCESSING_FINISHED |
SP-API には、通知を受信するための 2 つのワークフローが用意されています。1 つのワークフローでは アマゾンシンプルキューサービス (アマゾン SQS) その他の用途 アマゾンイベントブリッジ イベントのルーターとして。購読する通知タイプに応じて、これらのワークフローのいずれかを実装する必要があります。
アマゾン SQS
アマゾン SQS は、さまざまなソースからのメッセージの受信とそれに対応する処理を可能にする、完全管理型のメッセージキューイングサービスです。Amazon SQS を使用すると、お客様のビジネスに関連するイベントを受信して処理するための、スケーラブルで可用性が高く安全なソリューションが得られます。Amazon SQS では、アプリケーションのニーズに柔軟に対応できるよう、受信メッセージの処理方法を複数提供しています。これには、との統合が含まれます。 AWS ラムダ 関数と使い方 アマゾン SQS API。
Amazon SQS SP-API 通知ワークフローの一般的なアーキテクチャは、メッセージキューとそれらのイベントのコンシューマーで構成されています。メッセージキューはアマゾンウェブサービス (AWS) アカウントでホストされ、販売パートナーが購読しているイベントの通知を受け取ります。メッセージ処理はアプリケーションでサポートされているビジネスユースケースに基づいて非同期的に行われます。
チュートリアル:通知の設定(Amazon Simple Queue Serviceワークフロー)で説明されているように、このワークフローを設定する手順は以下のとおりです。
- お客様の AWS アカウントに Amazon SQS キューを作成します。
- キューへの書き込み権限をSP-APIに付与する。
- SP-API で Amazon SQS デスティネーションを作成します。
- 出品者パートナーに通知タイプをサブスクライブする。
このワークフローを簡単に構築できるように、Amazon では、レポート処理のユースケースに焦点を当てたクイックスタートを用意しています。このクイックスタートでは、数回クリックするだけで AWS アカウントに実用的なアーキテクチャを作成できます。必要なインフラストラクチャを作成し、通知管理用の API エンドポイントを公開して、Notifications API がサポートする他のユースケースにも拡張するには、以下のステップに従ってください。 販売パートナーレポート API レポート通知 に AWS クイックスタートデプロイガイド。
アマゾンイベントブリッジ
アマゾンイベントブリッジ はサーバーレスのイベントバスで、さまざまな AWS サービスやクライアントアプリケーションからイベントを受信したり、対応するイベントをさまざまなターゲットに配信して処理したりできます。EventBridge は、受信トラフィックに基づいてスケーリングする、マネージド型のフォールトトレラントサービスです。EventBridge を使用すると、選択したターゲットに送信する前にイベントをフィルタリングして変換するカスタムルールを定義できます。これにより、ソフトウェアコンポーネント間の統合が簡単になります。EventBridgeは、データや複数の送信先(AWS Lambda、API Gateway、カスタム HTTP エンドポイントなど)を取り込むための 40 種類以上のサービス型ソフトウェアイベントソースをサポートしています。
SP-API EventBridge通知ワークフローの一般的なアーキテクチャは、以下を受信するAWSアカウントでホストされるイベントバスで構成されています。
- 販売パートナーが登録しているイベントの通知
- 1 つ以上のカスタムルールとそれに対応するターゲット
メッセージ処理は非同期で行われ、アプリケーションがサポートするビジネスユースケースに基づいています。
チュートリアル:通知の設定(Amazon EventBridgeワークフロー)で説明されているように、このワークフローを設定する手順は以下のとおりです。
- SP-API でイベントブリッジのデスティネーションを作成します。
- イベントソースをイベントバスに関連付ける。
- ルールを作成し、イベントバスに関連付けます。
- 出品者パートナーに通知タイプをサブスクライブする。
Updated 23 days ago