問題タブ [aws-sam-cli]

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 投票する
0 に答える
446 参照

amazon-web-services - AWS SAM を介して Lambda を API と統合する際の API のカスタマイズ

問題

AWS SAM を使用して、Lambda と API Gateway の間の簡単な統合を実行しようとしています。ラムダの入力をカスタマイズしたい - いくつかのrequestTemplatesを適用します。しかし、それらは無視されているようです。

再現する手順

実行中:

出力は次のとおりです。

デフォルトのAPIが作成されたかのように動作するようです。イベントを印刷します。しかし、私の API 定義は完全に無視されているようです。適用されずに常に元のイベントを返しrequestTemplatesます。症状:

  • 私が闊歩する定義に何を入れても効果はありません。変更produces、不正な形式の闊歩をそこに置く
  • 無効なRestApiId(存在しない参照) を使用した場合 - 変更なし
  • type代わりに存在しないものを使用するとAWS::Serverless::Api- 効果なし

環境

  • サムのバージョン: 0.2.4
  • OS:×

コード

私のtemplate.yml

私のswagger.yml

そしてlambda_function2.py

その他のリソース

このsam repo の例は、私が達成したいものとほとんど同じに見えます。どちらも機能しません。

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

node.js - nodejs6.10 ランタイムの呼び出しエラー: デーモンからのエラー応答: 許可される最小メモリ制限は 4MB です

Mac 用の docker を実行しており、docker ファイルを使用しています。また、docker-compose ファイルを使用して、同じブリッジ ネットワーク上に mysql docker インスタンスと sam ローカル インスタンスを作成しています。

ファイルを sam ローカル インスタンスにコピーし、mysql インスタンスを起動して実行することができました。

docker-compose --build を実行すると

API のいずれかのエンドポイントにヒットすると、次のエラーが表示されます: nodejs6.10 ランタイムの呼び出しエラー: デーモンからのエラー応答: 許可される最小メモリ制限は 4MB です

プロジェクトフォルダーだけの中にdocker-composeまたはdockerファイルなしでsam localを使用してこれを実行すると。この問題がわかりません。

私が知る限り、これは docker for mac が実行する基礎となる linux vm から来ています。これらのコンテナは LXC コンテナであり、最低 4 MB のメモリが必要です。

次を使用してこのイメージを実行すると:

docker run -it --memory-reservation 10000000 -v /var/run/docker.sock:/var/run/docker.sock -p 3000:3000 samlocal

私はまだこの問題を抱えています。これは、これがサムローカル内で新しいラムダコンテナをインスタンス化する際の問題であると私が信じるように導くものです.

コンテナー内から LXC の hostconfig ファイルを変更する方法があるかどうか、またはこの問題に対する他の解決策があるかどうかはわかりません。

私のsamlocal dockerfileとdocker-composeファイルは次のとおりです。

ドッカーファイル:

高山から:3.6

環境バージョン=0.2.4

RUN apk add --no-cache curl && \ curl -sSLO https://github.com/awslabs/aws-sam-local/releases/download/v ${VERSION}/sam_${VERSION}_linux_386.tar.gz && \ tar -C /usr/local/bin -zxvf /sam_${バージョン}_linux_386.tar.gz && \ apk デル カール && \ rm -f /sam_${バージョン}_linux_386.tar.gz

RUN apk add --no-cache py-pip && pip install awscli

WORKDIR /var/opt

露出3000

コピー 。.

ENTRYPOINT ["/usr/local/bin/sam"] CMD ["local","start-api","--host", "0.0.0.0","--docker-volume-basedir", "/1725_ecpo_lambda "]

DOCKER-COMPOSE ファイル:

バージョン: 「3」 サービス:

samlocal: ビルド: コンテキスト: ./ dockerfile: sam-local-docker.dockerfile ポート: - "3000:3000" ボリューム: - /var/run/docker.sock:/var/run/docker.sock ネットワーク: - バックエンド

db: ビルド: コンテキスト: ./ dockerfile: mysql-docker.dockerfile ポート: - 3306:3306 ボリューム: - db-data:/var/lib/mysql - /var/run/docker.sock:/var/run/docker .sock ネットワーク: - バックエンド

ネットワーク: バックエンド:

ボリューム: データベース データ:

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

amazon-cloudformation - SAM ローカル: SAM テンプレートの代わりに CloudFormation ファイルを直接使用できますか?

コンパイルされた CloudFormation ファイルを SAM Local で直接使用しようとしています。これを行う方法が見つかりません。これを成功させた人はいますか?