ラムダ関数で複数のパラメーターを渡して取得する方法は?

アナポーラ

私は現在、PythonとdynamoDBを備えたサーバーレスフレームワークを使用してRESTAPIを開発しています。ラムダ関数でパラメーターを渡したり取得したりする方法を知りたいのですが。私の設定はserverless.xml次のようになります:

getNearestConvenios:
  handler: src/controllers/convenio_controller.get_nearest_convenios
  events:
    - http:
        path: convenios/nearest
        method: get
        cors: True
        request:
          template:
            application/json: '{ "lat" : "$input.params(''lat'')",  "long" : "$input.params(''long'')"}'

そして私はこのようなパラメータを取得しようとしています:

def get_nearest_convenios(event, context):
  try:
    parameters = event['pathParameters']
    convenios = service.get_nearest_convenios(parameters['lat'], parameters['long'])
    return http.ok(convenios)
  except Exception as ex:
    logger.warn("WARNING: Request id: {0}, Error: {1}, Info: {2}".format(context.aws_request_id, type(ex), ex.args))
    return http.bad_request(str(ex))

公式ドキュメントに記載されているカスタムリクエストテンプレートに従いましたが、これまで成功しませんでした。また、CloudWatchでは次のエラーが表示されています。

    [WARNING]   2020-08-14T09:04:11.783Z    3c9222b2-4601-4460-ba7c-3cd89ba3b04b    WARNING: Request id: 3c9222b2-4601-4460-ba7c-3cd89ba3b04b, Error: <class 'TypeError'>, Info: ("'NoneType' object is not subscriptable",)
アルンK

ラムダで統合タイプを指定していないため、デフォルトのlambda-proxy統合タイプが使用されますLambdaプロキシ統合では、クライアントがAPIリクエストを送信すると、APIGatewayは統合されたLambda関数に生のリクエストをそのまま渡します。lambda-proxy統合でマッピングテンプレートを使用することはできませんリクエストまたはレスポンスを変換したい場合は、プロキシなしのラムダ統合を選択できます。

HTTPGETを使用しています。したがって、データをクエリ文字列またはパスパラメータとして渡すことができます。

  • クエリ文字列:たとえばhttp://api.example.com/Books?id=1などのURLでデータを渡しますクエリ文字列パラメーターは、ラムダ内で次のようにアクセスできます。event. queryStringParameters

  • パスパラメーター:サーバーレステンプレートで以下のようにパラメーターを定義できます。次に、ラムダ内のパスパラメータに次のようにアクセスできます。event.pathParameters

    getNearestConvenios:
    handler: src/controllers/convenio_controller.get_nearest_convenios/{parameter}
    events:
      - http:
          path: convenios/nearest
          method: get
          cors: True
    

参照:Lambdaプロキシ統合

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ラムダをある関数から別の関数にパラメーターとして渡す方法は?

分類Dev

私のラムダ関数で複数のGETパラメータを渡す方法は?

分類Dev

関数をパラメータとして別の関数に渡す方法は?

分類Dev

関数をパラメータとして別の関数に渡す方法は?

分類Dev

ラムダ呼び出しを使用してパスパラメーターを別のラムダ関数に渡すことはできますか?

分類Dev

関数にパラメータとして任意のラムダを渡す方法(命名階層を取得するため)?

分類Dev

Java 8でパラメーターとして引数を使用してラムダ式を渡す方法は?

分類Dev

文字列として別の関数に渡される関数にパラメータを渡す方法は?

分類Dev

複数の関数を介して複数のパラメーターを渡す方法

分類Dev

複数のリスト値を関数パラメーターとして渡す方法は?

分類Dev

Javaで関数をパラメータとして渡す方法

分類Dev

PowerBuilderでパラメータとして関数を渡す方法

分類Dev

関数をJavaのパラメーターとして渡して、複数回実行する方法

分類Dev

ラムダ関数をパラメーターC ++として渡す

分類Dev

ラムダ関数をパラメーターとして渡す

分類Dev

OrderByラムダ関数をパラメーターとして渡す

分類Dev

WPFDataTriggerを介してMultivalueConverterで複数のパラメーターを渡す方法

分類Dev

Scalaで、引数として複数のパラメーターリストを使用して関数を渡す方法は?

分類Dev

動的リンク関数jquery関数C#で複数のパラメーターを渡す方法は?

分類Dev

関数をパラメーター化するPythonの方法(ラムダなし)

分類Dev

Rustで無名関数をパラメーターとして渡す方法は?

分類Dev

Pythonの関数でパラメータを使用して関数を渡す方法は?

分類Dev

Nuxtで複数のパラメータを渡す方法は?

分類Dev

URLで複数のパラメータを渡す方法は?

分類Dev

関数の名前とそのパラメーターをパラメーターとして渡す方法は?

分類Dev

C ++関数のパラメーターとしてラムダを使用する

分類Dev

カスタム型の多次元配列をPostgreSQLの関数パラメーターとして渡す方法は?

分類Dev

SpriteKitswiftの関数でNSTimerをパラメーターとして渡す方法

分類Dev

Pythonの関数にパラメーターとして渡されるリスト名を取得する方法

Related 関連記事

  1. 1

    ラムダをある関数から別の関数にパラメーターとして渡す方法は?

  2. 2

    私のラムダ関数で複数のGETパラメータを渡す方法は?

  3. 3

    関数をパラメータとして別の関数に渡す方法は?

  4. 4

    関数をパラメータとして別の関数に渡す方法は?

  5. 5

    ラムダ呼び出しを使用してパスパラメーターを別のラムダ関数に渡すことはできますか?

  6. 6

    関数にパラメータとして任意のラムダを渡す方法(命名階層を取得するため)?

  7. 7

    Java 8でパラメーターとして引数を使用してラムダ式を渡す方法は?

  8. 8

    文字列として別の関数に渡される関数にパラメータを渡す方法は?

  9. 9

    複数の関数を介して複数のパラメーターを渡す方法

  10. 10

    複数のリスト値を関数パラメーターとして渡す方法は?

  11. 11

    Javaで関数をパラメータとして渡す方法

  12. 12

    PowerBuilderでパラメータとして関数を渡す方法

  13. 13

    関数をJavaのパラメーターとして渡して、複数回実行する方法

  14. 14

    ラムダ関数をパラメーターC ++として渡す

  15. 15

    ラムダ関数をパラメーターとして渡す

  16. 16

    OrderByラムダ関数をパラメーターとして渡す

  17. 17

    WPFDataTriggerを介してMultivalueConverterで複数のパラメーターを渡す方法

  18. 18

    Scalaで、引数として複数のパラメーターリストを使用して関数を渡す方法は?

  19. 19

    動的リンク関数jquery関数C#で複数のパラメーターを渡す方法は?

  20. 20

    関数をパラメーター化するPythonの方法(ラムダなし)

  21. 21

    Rustで無名関数をパラメーターとして渡す方法は?

  22. 22

    Pythonの関数でパラメータを使用して関数を渡す方法は?

  23. 23

    Nuxtで複数のパラメータを渡す方法は?

  24. 24

    URLで複数のパラメータを渡す方法は?

  25. 25

    関数の名前とそのパラメーターをパラメーターとして渡す方法は?

  26. 26

    C ++関数のパラメーターとしてラムダを使用する

  27. 27

    カスタム型の多次元配列をPostgreSQLの関数パラメーターとして渡す方法は?

  28. 28

    SpriteKitswiftの関数でNSTimerをパラメーターとして渡す方法

  29. 29

    Pythonの関数にパラメーターとして渡されるリスト名を取得する方法

ホットタグ

アーカイブ