1

私はサーバレスフレームワークを初めて使用しています。サーバレス - 大規模アプリケーション

私は、複数のルーティングを持っていますのREST APIを始めています、例えば:

GETユーザー/ {ユーザID}

POSTユーザー


GETアカウント/ {アカウントID}

POSTアカウント

私は2つのサービス - アカウント+ユーザーが必要ですか?

ベストプラクティスは何ですか? 2つのサービスの場合は、2 serverless.yml?誰もサーバレス大型アプリの例を持っていますか?

ありがとうございました!

答えて

1

実際には、アプリケーションに必要なアーキテクチャによって異なります。 見てくださいhere、私はそれがあなたが本当に欲しいものを決めるのに役立つかもしれないと思います。

エンドポイントが多い場合は、リソース制限に達するため2つのサービスが必要になることがあります。アプリのURLを1つだけにしたい場合は、いつでもpathmappingを設定することができます。

resources: 
    Resources: 
    pathmapping: 
     Type: AWS::ApiGateway::BasePathMapping 
     Properties: 
     BasePath: <your base for this service> 
     DomainName: mydomain.com 
     RestApiId: 
      Ref: ApiGatewayRestApi 
     Stage: dev 
1

たとえば、1つのサービス(serverless.yml)を使用すれば十分です。

1サービスで1つのラムダを使用して、usersaccountsリクエストを処理できます。

functions: 
    <your-function-name>: 
    handler: handler.execute 
    events: 
     - http: 
      path: /user/{userid} 
      method: get 
     - http: 
      method: post 
      path: /user  
     - http: 
      path: /account/{accountid} 
      method: get 
     - http: 
      method: post 
      path: /account 

それとも、2つのラムダ(エンティティあたり1)

functions: 
    user: 
    handler: userHandler.execute 
    events: 
     - http: 
     path: /user/{userid} 
     method: get 
     - http: 
     method: post 
     path: /user 
    account: 
    handler: accountHandler.execute 
    events: 
     - http: 
     path: /account/{accountid} 
     method: get 
     - http: 
      method: post 
      path: /account 
を作成することができます
関連する問題