0

アプリの API をセットアップするために AWS GraphQL CLI ガイドに従っていますが、接続に問題があります。

以下は、一部の属性が削除された、現在の Graphql スキーマです。

type Employee @model {
  id: ID!
  employment: [Employment!] @connection(name: "byEmployeeIDByCompanyID", fields: ["id"])
}

type Company @model {
  id: ID!
  employees: [Employment!] @connection(name: "byCompanyIDByDateHired", fields: ["id"])
}

type Employment @model
  @key(name: "byEmployeeIDByCompanyID", fields: ["employeeID", "companyID"], queryField: "employmentByEmployeeIDByCompanyID") {
  id: ID!
  companyID: ID!
  employeeID: ID!
  company: Company! @connection(fields: ["companyID"])
  employee: Employee! @connection(fields: ["employeeID"])
}

Employees または Companys をクエリすると、[Employment] は常に空の配列を返します。これらのフィールドのリゾルバーを編集する必要がありますか? それらは箱から出してすぐに動作するはずですよね?

私の理解では、「名前」と複数の「フィールド」で @key を使用すると、テーブルにセカンダリ インデックスが作成され、@connection でそのキーを指定すると、テーブルのプライマリ インデックスの代わりにそのキーを使用するよう接続に指示されます。たとえば、「byEmployeeIDByCompanyID」キーでは、employeeID がパーティション キーで、companyID がソート キーです。"employmentByEmployeeIDByCompanyID" queryField で employeeID を指定して companyID を指定しないクエリを実行すると、特定の従業員のすべての雇用が返されます。

4

1 に答える 1