問題タブ [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.

0 投票する
1 に答える
696 参照

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 ラムダにデプロイするときに、どのようにインストールすればよいですか?

0 投票する
3 に答える
13547 参照

amazon-web-services - サーバーレス フレームワーク 1.0 でパス パラメータを使用する

/customer/{customerId}AWS Lambda を使用して顧客にクエリを実行するために、GETリクエストのパス パラメータを使用したいと考えています。

サーバーレス フレームワーク 1.0を使用して AWS Lambda 関数にパス パラメータを渡すには、どのようにパス パラメータを定義する必要がありますか?

0 投票する
1 に答える
1366 参照

amazon-web-services - デフォルトで Transfer Acceleration をオンにして CloudFormation 経由で S3 バケットを作成する方法は?

私のサーバーレス プロジェクトは S3 バケットを作成します。Transfer Acceleration をデフォルトでオンにしたいと考えています。

私はこれを試しました:

しかし、それは受け入れられたプロパティではなく、aws ドキュメントで適切なものを見つけることができません: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html

リソースのデプロイ中にこれを行う方法はありますか?

0 投票する
1 に答える
1356 参照

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 テーブルに移動して、手動でトリガーをラムダ関数に追加することもでき、すべてが機能します。

前もって感謝します

0 投票する
0 に答える
514 参照

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 = 報告されていない場合はログ)

すべてのエントリをチェックするコード