Closed35

新しくリリースされた AWS Amlify を触る

りょたりょた

とりあえずローカルにPJを作成

npx create-next-app@latest new-amplify-trial --use-npm --example "https://github.com/vercel/app-playground"
りょたりょた

ログの出力先が気になるので、console.logを追記する

console.log("@@@@@@@@@@@@@@@@@@@","streaming/edge/product/[id]/page.tsx  call")
console.log("@@@@@@@@@@@@@@@@@@@","streaming/node/product/[id]/page.tsx  call")
りょたりょた

Amplify のビルド情報を眺める

りょたりょた

ビルド失敗。。辛いぜ。。

Build failed
2023-11-19T01:37:38.041Z [INFO]: Please check the supported SSR features to find if your build failure is related to an unsupported feature: https://docs.aws.amazon.com/amplify/latest/userguide/ssr-Amplify-support.html#supported-unsupported-features. You may also find this troubleshooting guide useful: https://docs.aws.amazon.com/amplify/latest/userguide/troubleshooting-ssr-deployment.html
りょたりょた

ローカルでビルドする。

ローカルではビルドが成功する。

りょたりょた

これか。。
まだedgeには対応できていないのか。。

エッジ API ルートが原因で Next.js ビルドが失敗する
現在、Amplify は Next.js エッジ API ルートをサポートしていません。AAmplify でアプリをホストするときは、エッジ以外のAPIとミドルウェアを使用する必要があります。

https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/troubleshooting-ssr-deployment.html#nextjs-edge-API-route-not-supported

りょたりょた

on-demand ISRの箇所も削除してみる。

オンデマンドのインクリメンタル・スタティック・リジェネレーションがアプリでは機能しない
バージョン 12.2.0 以降、Next.js は特定のページの Next.js キャッシュを手動で削除するインクリメンタル・スタティック・リジェネレーション (ISR) をサポートしています。ただし、Amplify は現在オンデマンドISRをサポートしていません。アプリが Next.js のオンデマンド再検証を使用している場合、アプリを Amplify にデプロイしてもこの機能は機能しません。

りょたりょた

13.4.2でビルドが成功したので、

コミットを取り消して、ダウングレードしてみる。

りょたりょた

ビルドは成功したが、依然としてstreamingはうまくいかない。。

りょたりょた

シンプルなPJをホスティングしてみる。

同じエラーが出た。。
14.0.0が無理なのかも・・

りょたりょた

nextのバージョンをstable(13.4.2)に変更してビルド。
==> 成功!!🎉

まだ14.0が未対応かも。

りょたりょた

edgeのログもnodeと同じ場所に吐き出される。
amplify > モニタリング > コンピュートログ

@@@@@@@@@@@@@@@@@@@ streaming/edge/product/[id]/page.tsx  call

確かにサーバー側でレンダリングされるコンポーネントになっている。サーバー側のログに出力されている。

りょたりょた

streamingの箇所がうまくいかない。。スケルトンローディングが表示されない。transfer-encoding chunked も表示されない。

対応できてないのか。。

りょたりょた

🎉 Next.js 14 対応!!

https://aws.amazon.com/jp/blogs/mobile/6-new-aws-amplify-launches-to-make-frontend-development-easier/

Amplify Hosting now has Next.js 14 support as well. To use this new feature, set amplify:al2023 as the value for the custom build image if this is the app’s first deployment. Conversely, if the app has already been deployed, then select the Amazon Linux: 2023 image from the dropdown.

りょたりょた

Server Actionsも動いてそう!
ログをまとめて出しているっぽい。

このスクラップは2023/11/24にクローズされました