問題タブ [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 に答える
813 参照

node.js - MongoDB NodeJS ドライバーの browserify 互換性 (デバッグのヘルプ)

mongodb ネイティブ nodejs ドライバーをブラウザー化できないという問題の原因を突き止めようとしています。MongoDB NodeJS ドライバーと browserify に既知の現在の互換性の問題があるかどうかグーグルを試したので、セットアップに何か問題があると思いますが、数日試しても決定的なものは何もありませんでした;(

browserify でコードを実行すると、

ドライバーの github リポジトリで、このドライバーがいくつかのネイティブ機能と kerberos および node-gyp に依存していることを読みました。npm install mongodb --save で問題なくドライバーをマシンにインストールしたので、そうであるかどうかはわかりません。

私はデバッグのアイデアを使い果たしたので、祝福された SO コミュニティに目を向けています :)

Serverless Framework を使用して AWS Lambda 向けに開発しています (ドライバーにはネイティブ機能が必要なため、ドライバーが実際に Lambda インスタンスで実行されるかどうか心配です...)。これが私のテストコードです

import のようないくつかの ES6 構文を使用し、元のコードで bc を許可しました。babelify で変換しましたが、削除したため、普通の browserify だけで問題が発生します。

私はそれを実行しました

誰かがこれに光を当てることができれば、私は感謝します。

ありがとう

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

python - 依存関係のある関数を Python にデプロイするにはどうすればよいですか?

serverlessフレームワークを使用して、AWS Lambda 関数を作成およびデプロイしようとしています。vendoredプロジェクトのルートにという名前のフォルダーを作成し、 (を使用してpip install) 関数の依存関係をインストールしました。ただし、(を使用して)実行しようとするたびにserverless function run、エラーが発生しました:

サーバーレス: isNewUser を実行しています...
サーバーレス: 警告: この変数は定義されていません: リージョン
サーバーレス: -----------------
サーバーレス: 失敗しました - このエラーが返されました:
サーバーレス: {"exception": ["Traceback (最新の呼び出しが最後):\n", " File \"/home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler \"、170 行目、\n ハンドラ = import_program_as_module(path)\n"、" ファイル \"/home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler\" 、149 行目、import_program_as_module 内\n module = make_module_from_file('lambda_handler', handler_file)\n", " File \"/home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python- handler\"、129 行目、make_module_from_file\n py_source_description\n"、" ファイル \"/home/fernando/workspace/os-cac/isNewUser/handler.py\"、11 行目、\n vtex.order インポートからOrder\n", "ImportError: vtex.order という名前のモジュールがありません\n"],"success": false} サーバーレス: Python からの例外メッセージ
サーバーレス: トレースバック (最新の呼び出しが最後): 、ファイル "/home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler"、170 行目、ハンドラー内 = import_program_as_module(path) 、ファイル「/home/fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler」、149 行目、import_program_as_module モジュール内 = make_module_from_file('lambda_handler', handler_file) 、ファイル「/home」 /fernando/.nvm/versions/node/v5.10.1/bin/serverless-run-python-handler"、129行目、make_module_from_file py_source_description、ファイル"/home/fernando/workspace/os-cac/isNewUser/handler.py "、11 行目、vtex.order import Order から、ImportError: vtex.order という名前のモジュールはありません `

vtex.orderhandler.py にインポートされたモジュールです

私のプロジェクトの構造は次のようなものです:

私が間違っていることはありますか?ベンダーからの依存関係を含めるように関数を構成する必要がありますか?

0 投票する
2 に答える
1976 参照

aws-lambda - Lambda 関数で CloudFormation リソースを使用するにはどうすればよいですか?

Redis ElastiCache セクションを s-resource-cf.json (CloudFormation テンプレート) に追加し、そのホスト名を出力として選択しました。

実行時に CloudFormation に Redis サーバー ホストを出力させるsls resources deployことはできますが、Lambda 関数内からその出力にアクセスするにはどうすればよいですか?

このスターター プロジェクト テンプレートにはIamRoleArnLambda、サンプル プロジェクトに付属の を参照するものは何もありません。docsによると、テンプレートはプロジェクト構成にのみ使用でき、Lambda 関数からはアクセスできません。

テンプレートと変数は設定専用です

テンプレートと変数は、プロジェクトの構成にのみ使用されます。この情報はラムダ関数では使用できません。ラムダ関数で使用できる変数を設定するには、環境変数を使用します。

では、ElastiCache サーバーの作成後に環境変数を ElastiCache サーバーのホスト名に設定するにはどうすればよいでしょうか?

0 投票する
4 に答える
18479 参照

node.js - サーバーレス フレームワーク: 外部 NPM パッケージを追加する方法は?

私の状況では、サーバーレス フレームワーク プロジェクトに外部 NPM パッケージを追加する際に少し問題があります (特定のパッケージは geopoint です)。

Serverless プロジェクトのルート フォルダーに移動し、npm install geopoint --save. package.json が更新されdependencies": { "geopoint": "^1.0.1" }、node_modules フォルダーが作成されました。

私のフォルダー構造は次のようになります:
root-project-folder
-functions
--geospatial
---handler.js
-node_modules
--geopoint

functions/geospatial/handler.js で、ジオポイント モジュールを次のように宣言しました。

ラムダ コンソールは次のエラーを返します。

外部 NPM モジュールを Serverless Framework プロジェクトに正しく追加するにはどうすればよいですか?

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

amazon-web-services - AWS API Gateway のデフォルト レスポンスとトリガー AWS Lambda

サーバーレス アーキテクチャを試すために、AWS API Gateway と AWS Lambda を試しています。ブログや AWS のドキュメントを読んでいます。サンプルの GET/POST を試しました。ただし、カスタム アプリケーションからのユーザー イベントの追跡に関して、次の要件があります。

  • アプリケーションから API エンドポイントにイベントがポストされる
    • API がカスタム レスポンスで応答するようにしたかった ({'fine'} と言う) (リクエストが受信されたことを確認する)
  • レスポンスが送信されたら、イベント ペイロードを AWS Lambda 関数に渡します。

ドキュメントに従って、a) イベントを API エンドポイントに投稿できる b) GET/POST で AWS Lambda 関数をトリガーする - AWS Lambda 関数から API リクエストに応答する

上記を変更して、次のように変更したかった a) イベントを API エンドポイントに投稿する a.0) リクエストを受信したことを確認して応答する [{'fine'} と言う] b) AWS Lambda 関数をトリガーして、イベント ペイロードを処理する

同じことを達成する方法についての提案を共有してください。

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

amazon-dynamodb - DynamoDB を使用したサーバーレス フレームワーク: Lambda 関数は機能するが、データが DynamoDB に保存されていない

サーバーレスフレームワークとDynamoDBのトラブルに対処しています。

私のラムダ関数が実行された後context.succeed(result)、結果は返されますが、DynamoDB には何も書き込まれません。

ここにデモレポのリンクがあります。

この質問を読みました

そして、リソースを に追加し、s-resources-cf.jsonもう一度追加しましserverless resources deployた。リクエストを送信した後も、DynamoDB では何もしません。

これが私がやったことです:

  • テーブルの作成:posts特定のリージョンに主キーを使用

  • AdministratorAccess自分の役割に執着するIAM(それをするのは悪いことだとわかっています。)

  • {"Effect": "Allow", "Action": ["*"], "Resource":"arn:aws:dynamodb:${region}:*:table/*"}に追加 s-resources-cf.json

私がまだ誤解していることはありますか?

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

node.js - AWS Lambda を最適化するには?

私は現在、サーバーレス フレームワークで AWS Lambda を使用して Web API を構築しています。

私のラムダ関数では、それぞれが Redis (elasticache) と RDB (Aurora、RDS) または DynamoDB に接続して、データを取得したり、新しいデータを書き込んだりします。そして、すべてのラムダ関数が VPC で実行されています。

ラムダ関数が最初に実行されるか、最後の実行からしばらくしてから実行される場合を除いて、すべて正常に機能します。ラムダ関数の実行にかなり長い時間 (1 ~ 3 秒) かかるか、場合によってはゲートウェイ タイムアウト エラー (約30 秒)、私のラムダ関数は 60 秒のタイムアウトに設定されていますが。

hereに記載されているように、新しいコンテナーの初期化には 1 ~ 3 秒かかると想定しています。ただし、1 ~ 3 秒またはゲートウェイのタイムアウトは本番環境での使用には理想的ではないため、この時間を短縮する方法があるかどうか疑問に思います。