9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS SAP 対策講座】Lambdaから外部リソース(Bedrock)を呼び出してみたい

Last updated at Posted at 2025-02-23

AWS SAPro試験の知識補填のために、Lambdaを動かしてみます。
トライアンドエラー形式で進めながら、一緒に設定の意味を理解していきましょう。

Lambda関数の作成

Lambdaを選んで

image.png

関数 > 関数の作成

image.png

こんな感じに設定

image.png

Bedrockを呼び出すコードを作成

この方のlambda_functionと書かれたコードを以下にぺとっと貼ります。

image.png

以下か所を自分の環境に合わせたら、Deployします。

 ・region_nameを自分のリージョンに変更
 ・modelIdも自分の使用できるモデルに変更

image.png

テストコードの作成

image.png

以下か所を書き換えます。
今回はpromptというキーでプロンプトを受け付けているので、以下デフォルトのJsonを書き換えます。

image.png

こんな感じにして保存します。

image.png

テスト実行してみる1

image.png

おそらく権限が足りないので、「"errorMessage": "An error occurred (AccessDeniedException) ~省略~
is not authorized to perform: bedrock:InvokeModel」的なエラーメッセージが表示されると思います。

ロールにポリシーをアタッチ

上記エラーを解消するために、ロールにポリシーをアタッチします。
実行ロールを別タブで開きます

image.png

とりあえず触れればいい場合

許可を追加 > ポリシーをアタッチ

image.png

全部許可しちゃえばいい

image.png

ちょっとちゃんとする場合

許可を追加 > インラインポリシーを作成

image.png

image.png

先ほどエラーで怒られた「InvokeModel」を追加します。

image.png

名前を付けて作成します

image.png

テスト実行してみる2

image.png

timeoutになりました。

timeoutの時間を延ばす

デフォルトだと3秒で短いので、編集する

image.png

後述しますが、10秒くらいでいいと思います。

image.png

image.png

テスト実行してみる3

やったー!できましたね!

image.png

おまけ

timeout境界を知りたい

環境とプロンプトによるだろうけど、今回のパターンなら10秒くらいがよさそう

3秒:ダメだった

image.png

6秒:ダメだった

image.png

7秒:大丈夫そう

image.png

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?