質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

586閲覧

lambda のチュートリアルで、アプリケーションを aws cli でアップロードできない

lin.ming

総合スコア50

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/06/14 00:36

Lambda を勉強するため、AWS のチュートリアルをやっています。

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example.html
の「create-function コマンドを使用して Lambda 関数を作成します。」

$ aws lambda create-function --function-name CreateThumbnail \ --zip-file fileb://function.zip --handler index.handler --runtime nodejs12.x \ --timeout 10 --memory-size 1024 \ --role arn:aws:iam::123456789012:role/lambda-s3-role

で iam:: の次の数字を自分のアカウントのものに書き換えて実行すると、

-bash: $: コマンドが見つかりません

とエラーが出ます。

Amazon Linux 2 を使ってますし、

$ aws

とタイプすると usage が表示されますので、aws cli はインストールされています。

コマンドのどこを修正すればいいでしょうか?

また、次善の策ですが、lambda にプログラムを置くには、
0. コンソールに直接コードを書く。
0. aws cli でインストール。
0. s3 に保管したものから作る。

があったと思いますが、s3 にプログラムを上げてそこから関数を作る方法がわかりません。
「aws lambda s3 からインストール」などでググると、s3 バケットにファイルがアップロードされると lambda が何かするを紹介したサイトばかりで、知りたいものが見つけられませんでした。

知見のある方、どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

-bash: $: コマンドが見つかりません

これは $というコマンドを実行しようとして失敗していることを意味します.
create-function コマンドを実行するときに,冒頭の$まで含めて実行しようとしていませんか.
($はコマンドプロンプトを示す記号なので実際な入力に含めない).

s3 にプログラムを上げてそこから関数を作る方法

aws lambda create-function help によると --code オプションが利用できるようです.
--zip-file fileb://...に替わり, --code S3Bucket=<バケット名>,S3Key=<オブジェクトキー> で実行できそうです.

投稿2020/06/14 09:15

thaim

総合スコア175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lin.ming

2020/06/14 09:28

ご回答ありがとうございます。 確かに「$」付きで入力していました。 皆様の参考になることとしては、 「アマゾンのチュートリアルのサンプルコマンドのコピーボタンは「$」もコピーするので気をつけよう」 です。 「$」を取って実行したところ、下記エラーが出ました。 $ aws lambda create-function --function-name CreateThumbnail --zip-file fileb://function.zip --handler index.handler --runtime nodejs12.x --timeout 10 --memory-size 1024 --role arn:aws:iam::151568078234:role/lambda-s3-role An error occurred (AccessDeniedException) when calling the CreateFunction operation: User: arn:aws:sts::151568078234:assumed-role/CloudWatchAgentServerRole/i-0800126adea661862 is not authorized to perform: lambda:CreateFunction on resource: arn:aws:lambda:ap-northeast-1:151568078234:function:CreateThumbnail IAM ユーザにアクセス権が無いような感じですが、チュートリアルを初めからやって、自分としては IAM ユーザもチュートリアルに倣って作ったつもりなのですが…。
lin.ming

2020/06/14 09:32

上記件、aws configure でアクセスキーとシークレットキーを指定したら、ちゃんとインストールできたっぽいです。 今からチュートリアルの続きをします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問