HTMLからAWS経由で外部APIを使う様々な方法


様々な分野で用意されている便利なAPIですが、WEBページから利用しようとするとつまずきがちです。

ブラウザはドメインの異なるデータを取得できません(同一生成元ポリシー)。

CORS (Cross-Origin Resource Sharing) ヘッダーのAccess-Control-Allow-Originが「*」とでも設定されていれば使えますが、まずないです。

AWSを使って外部のAPIを使うための方法をいくつかまとめます。

 

取得方法

サーバー(EC2,Lightsailなど)を使う

ブラウザの制限なので、サーバーやシステムからアクセスする分には問題ないです。

DBに入れる、datにして保存する、ソケット通信で表示するなどができます。

API Gateway

Amazon API GatewayにはAPIをパススルーする設定があります。

これによって自分でAccess-Control-Allow-Originを設定できます。

またリソースにパラメータを設定して渡すこともできる。

Lambda

AWS Lambdaは実行時間単位のサーバ利用ができるサービスです。

これを用いてAPIを叩いてデータ取得ができます。

この結果をDBに入れたり、API Gateway経由で取得したりします。

 

ユースケース

通常はAPI Gatewayのパススルーで問題ないと思います。

何らかの処理を挟んだり、複数のAPIをまとめて取得する

API Gateway から Lambda を起動させAPIからデータ取得します。

何かしらの処理を行って、必要なデータを返すようにします。

多少複雑にはなりますが、好きな形のデータを作って渡すことができます。

非常にアクセスの多い機能のAPI

定期的にLambdaを起動させてDBやdatファイルとして保存する。

メリット:API使用量が一定で抑えられます。

デメリット:最新情報でない、全サービスの使用料がかかる。

 


コメントを残す

メールアドレスが公開されることはありません。