問題タブ [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 投票する
1 に答える
1237 参照

amazon-web-services - SAM テンプレートで既存の FunctionName を指定する方法

SAM を使用して AWS Lambda 関数をデプロイしようとしています。私がやりたいことは、ローカル ソース コードをデプロイして、既存のラムダ関数を更新することです。

そのために、以下のように template.yaml で既存のラムダ関数名を「FunctionName」として指定しました。ただし、「FunctionName」は新しい関数の作成のみをサポートし、既存の関数への更新はサポートしていません。 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname

ラムダ関数を更新するためにSAMで関数名を指定する方法はありますか?

[テンプレート.yaml]

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

aws-lambda - Cloud9 で Lambda をデプロイする

こんにちは、これが私のプロジェクト構造です: -AppName -Common -common.js //Global module which i'm using in all functions -Func1 -index.js -Func2 -index.js -template.yaml そして、ここに template.yaml コンテンツがあります:

AWSTemplateFormatVersion: '2010-09-09' Transform: 'AWS::Serverless-2016-10-31' Description: An AWS Serverless Specification template describing your function. Resources: Func1: Type: 'AWS::Serverless::Function' Properties: Handler: Func1/index.handler Runtime: nodejs6.10 MemorySize: 512 Timeout: 10 Func2: Type: 'AWS::Serverless::Function' Properties: Handler: Func2/index.handler Runtime: nodejs6.10 MemorySize: 512 Timeout: 10

たとえば Func2 をデプロイすると、結果パッケージには、Func2 のみではなく、アプリケーション内のすべてのフォルダーが含まれます。結果パッケージに含まれるファイルを yaml ファイルで設定することはできますか? たとえば、Func2 を展開する場合、次のパッケージで見たい:

-Common -common.js -Func2 -index.js

0 投票する
7 に答える
23397 参照

amazon-web-services - Docker で AWS SAM Local を dynamodb に接続する

AWS sam local を使用して api ゲートウェイ/aws ラムダ ペアをセットアップし、実行後に正常に呼び出すことができることを確認しました

sam local start-api

次に、docker コンテナにローカルの dynamodb インスタンスを追加し、aws cli を使用してその上にテーブルを作成しました

しかし、コードをラムダに追加して、受け取った dynamodb インスタンスに書き込みます。

2018-02-22T11:13:16.172Z ed9ab38e-fb54-18a4-0852-db7e5b56c8cd エラー: テーブルに書き込めませんでした: {"message":"connect ECONNREFUSED 0.0.0.0:8000","code":"NetworkingError", "errno":"ECONNREFUSED","syscall":"接続","アドレス":"0.0.0.0","ポート":8000,"地域":"eu-west-2","ホスト名":"0.0 .0.0","re​​tryable":true,"time":"2018-02-22T11:13:16.165Z"} コマンドからの書き込みイベント: {"name":"test","geolocation":"xyz"," type":"createDestination"} END RequestId: ed9ab38e-fb54-18a4-0852-db7e5b56c8cd

同じ docker ネットワークに接続する必要があるかもしれないことをオンラインで見たので、ネットワークを作成しdocker network create lambda-local、開始コマンドを次のように変更しました。

sam local start-api --docker-network lambda-local

docker run -v "$PWD":/dynamodb_local_db -p 8000:8000 --network=lambda-local cnadiminti/dynamodb-local:latest

それでも同じエラーが発生します

サムローカルが印刷されています2018/02/22 11:12:51 Connecting container 98b19370ab92f3378ce380e9c840177905a49fc986597fef9ef589e624b4eac3 to network lambda-local

以下を使用して dynamodbclient を作成しています。

私のコードがショーを作成しているdynamodbclientを調べる

このセットアップは機能しますか? どうすればお互いに話せるようになりますか?

- - 編集 - -

Twitter での会話に基づいて、CLI および Web シェルで dynamodb を操作できることを (おそらく) 言及する価値があります。

CLI での dynamo db

ダイナモッドウェブシェル