前提
バックエンドをAWSを利用してiOS開発をしています。
新たなアプリにプッシュ通知を実装する必要があり、元々amplifyを使用していたためAmazon pinpointを利用することになりました。
初めてのプッシュ通知、初めてのpinpointで山あり谷ありでしたが、なんとか実装に成功。
その山の中でも特にわけわからなかったのがpinpointがオレゴンにpushされるという事象です。
amplifyはap-northeast-1(東京リージョン)に設置しているので、amplify CLIを利用して作成したapi、authなどは東京リージョンに設置されます。
しかし、analyticsだけは何故かus-west-2(オレゴン)に設置されてしまいました。
これを解決しようと思ったのですが、なかなか記事が引っ掛からなかったので、ここに備忘録として残しておきます。
原因
amplify add analytics
をした後に作成されるcloudformation-templete.jsonが原因。
このファイルの中でどのリージョンにpushさせるか決めています。
なので、このファイルの中身をいじってからpushするだけ。
解決方法
自分が作成したプロジェクトまで移動し、
cd amplify/backend/analytics/プロジェクト名(もしくはここにあるファイル名)
に移動します。
ls
コマンドを実行すると
pinpoint-cloudformation-templete.json
というファイルがあると思います。(ここにない人はごめんなさい、わかりません)
このファイルをcat
コマンドで見てみると、マッピングリスト的なものがあると思います。
その中に、それぞれのリージョンに対するpinpointRegionがあると思いますが、それがpinpointが設置されてしまうリージョンです。
私は東京リージョンなのでap-northeastを確認してみると以下のようになっていました。
"ap-northeast-1": {
"pinpointRegion": "us-west-2"
},
これが原因で、us-west-2に設置されてしまう、というわけです。
なので、例えばus-east-1におきたい場合、
"ap-northeast-1": {
"pinpointRegion": "us-east-1"
},
に変更してから、amplify push
をしてあげればOKです。
pinpointは比較的新しいサービスのため、まだ対応していないリージョンがあります。自分が使用したいリージョンで使えるかは各自調べてみてください。
まとめ
amplifyはじめAWSの知識がまだまだ足りないなと思う今日この頃です。
pinpointを利用してチャットアプリの通知機能も実装できたので、そちらの記事も近々記事を上げたいと思います。
今度はfirebaseを使って通知機能も実装してみたいですね。
それでは。