問題タブ [serverless-framework]
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 - zappa を使用して Web アプリケーションをデプロイする
https://github.com/Miserlou/Zappaの手順に従って、Web アプリを AWS にデプロイしようとしました。
私のアプリはサーバー側としてフラスコを使用しており、クライアント側の JavaScript、html、および css ファイルをホストするためにフラスコも使用しています。ローカルマシンとサーバーマシンで正常にホストできます(host="0.0.0.0"
サーバーで使用し、ポート番号も指定しました)。
実行するだけpython my_app.py
です。クライアント側はサーバーにリクエストを送信し、サーバーは応答します。
でデプロイしようとしましzappa
たが、ページが空のページに読み込まれます。どこを間違えたのかわからない。1 つは、Python プログラムに必要な外部ライブラリがあることです。AWS ラムダにデプロイするときに、どのようにインストールすればよいですか?
amazon-web-services - サーバーレス フレームワーク 1.0 でパス パラメータを使用する
/customer/{customerId}
AWS Lambda を使用して顧客にクエリを実行するために、GETリクエストのパス パラメータを使用したいと考えています。
サーバーレス フレームワーク 1.0を使用して AWS Lambda 関数にパス パラメータを渡すには、どのようにパス パラメータを定義する必要がありますか?
amazon-web-services - デフォルトで Transfer Acceleration をオンにして CloudFormation 経由で S3 バケットを作成する方法は?
私のサーバーレス プロジェクトは S3 バケットを作成します。Transfer Acceleration をデフォルトでオンにしたいと考えています。
私はこれを試しました:
しかし、それは受け入れられたプロパティではなく、aws ドキュメントで適切なものを見つけることができません: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html
リソースのデプロイ中にこれを行う方法はありますか?
lambda - サーバーレス 1.0 で EventSourceMapping を作成するには?
レコードが dynamodb テーブルにコミットされるたびに Lambda 関数が呼び出されるように、イベント ソース マップを設定しようとしています。からの指示をフォローアップしようとしています
https://github.com/serverless/serverless/blob/master/docs/guide/overview-of-event-sources.md
私の現在serverless.yml
は使用しています:
を呼び出すたびにserverless deploy
、次のようになります。
これは IAM ロールのアクセス許可に関係していると推測していますが、修正方法がわかりません。サーバーレス自体に使用する役割については、次のものを使用しようとしました。
だから何でもできるはずです。
resources
からセクションを削除すると、serverless.yml
正しくデプロイできることに注意してください。dynamodb テーブルに移動して、手動でトリガーをラムダ関数に追加することもでき、すべてが機能します。
前もって感謝します
node.js - リクエスト後に古い結果を生成する Lambda 関数
特定の Web ページを破棄するスクリプトを作成しています。アーキテクチャの場合、特定のページを毎分スクレイピングするサーバーレス機能であるため、変更についてできるだけ早く通知されます。
私の問題は、クエリの結果に、新しいエントリは見つからず、古いエントリのみが表示され、報告されないことです。
今日は別の新しいエントリがあるので、それについてレポートを取得する必要がありました。
関数を手動で実行すると、実際に機能して報告されます。エントリを削除しても、AWS から自動的にレポートされませんでした。
デバッグを行った後、クライアント側では、リクエストの結果が新しいバージョンの Web ページであることに気付きました。AWS Lambda では、まだページの古い結果が得られます。
クライアント側のコマンドが試行されました(両方とも機能します)
node-debug sls function run example/functionname
sls function run example/functionname
サーバーは関数を完全に実行し、cloudwatch でエラーを報告しません。個人的には、問題はキャッシングに関連していると思い始めましたが、そこには存在しません (そうですか?)。
アイデアや提案は大歓迎です。
古いバージョンを取得する行:
request(url, function (error, response, html) {
コード例: (非同期部分) (get= HTML を取得) (checkLogged = 報告済みの場合)(doLog = 報告されていない場合はログ)
すべてのエントリをチェックするコード