問題タブ [serverless-architecture]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - ラムダにデプロイされたサーバーレス Express アプリでの Cookie とセッション管理
問題: aws Dynamodb に保存されているセッション データを取得しようとしていますが、同じエンドポイントからサーバー レス エクスプレス アプリへの連続した呼び出しの間で、sessionID が常に変化しています。
エクスプレスコード:
Dynamodb ストア構成
上記のコードでは、ショッピング カートに追加するすべてのアイテムのバックエンドで '/addtocart/:id' ルートをヒットしています。フロントエンドの静的 HTML ページをポート 8080 にロードし、サーバーをポート 3000 にロードしています)
- Express アプリを aws lambda にデプロイし、dynamodb を使用してセッションを保存しています。
- ショッピング カート モジュールを構築しようとしているので、フロントエンド (s3 でホストされている静的な html ページ) のカートにアイテムを追加すると、以前のカート構成が保持され、現在のアイテムが追加されます。代わりに、新しいカートを作成してdynamoDBに保存すると、セッションIDが追加されたアイテムごとに変更され、新しいカートオブジェクトが作成され、古いカートが保持されてデータが上に追加される代わりに、セッションが再度保存されますそれの。
バックエンドから同じ addproduct ルートをヒットした場合、および Acess -Control-Allow-Originヘッダーをhttp://localhost:8080に設定した場合、カートは保持されます。
これはサーバーレス アプリなので、エンドポイントを修正できません。そのため、フロントエンドから ajax 呼び出しを実行している間、xhrCredentials オプションを true に設定していません。また、バックエンドの Orgin ヘッダーも「*」に設定されています。
カート データが dynamodb に保存されている、さまざまなユーザーからのサーブ レス ラムダ エクスプレス アプリへのさまざまな呼び出しのカート情報を保持する方法はありますか。Cookie とセッション管理に関する情報は役に立ち、私の混乱をさらに明確にします。
セッションの管理にはexpress-sessionを使用し、セッションをdbに保存するにはDynamodb-storeを使用しています