Amplifyで使用できるディレクティブ一覧をまとめた物です。
以下の公式サイトを和訳したものですので、詳細はそちらをご覧ください。
https://docs.amplify.aws/javascript/tools/cli/graphqlapi/directives-reference/#pageMain
| ディレクティブ | 詳細 |
|---|---|
| @model | トップレベルのデータモデルを定義する物です。内部的にはDynamoDBが生成されます |
| @primaryKey | データモデルに対して、カスタムのプライマリーキーを設定します |
| @index | データモデルに対してカスタムのセカンダリインデックスを設定します |
| @auth | データモデルとフィールドに対して認証ルールを定義します |
| @hasOne | 二つのデータモデル間で、一方向の1対1リレーションを作成します。 一つのプロジェクトが一つのチームを持つような関係性を示します。これにより、一つのクエリでプロジェクトとチームの情報を一度に取得することができます。 |
| @hasMany | 二つのデータモデル間で、一方向の1対多リレーションを作成します。一つの投稿が複数のコメントを持つような関係性を示します。これにより、一つのクエリで投稿データとそれに紐づくコメントを一度に取得することができます。 |
| @belongsTo | 二つのデータモデル間で双方向の@hasOneまたは@hasManyのリレーションを作成します。一つのプロジェクトが一つのチームを持つような関係性を示します。これにより、チームのレコードから関連するプロジェクトを取得、またはその逆を行うことが可能になります。 |
| @manyToMany | 二つのデータモデル間に多対多のリレーションを作成します。内部的には、二つのモデル間に連結テーブルを作成し、リレーションを円滑にします。一つのブログが複数のタグを持ち、一つのタグが複数のブログを持つような関係性を示します。 |
| @function | フィールドに対してlambda関数のリゾルバーを設定します。 |
| @http | フィールドに対してhttpのリゾルバーを作成します。 |
| @predictions | Amazon Rekognition, Amazon Translate, and/or Amazon PollyなどのAI/MLサービスを呼び出します。 |
| @searchable | Amazon OpenSearchへデータをストリーミングすることで、検索や集計を可能にします。 |
| @mapsTo | データモデルに削除不可のデータが存在する場合、@mapsToを使用することで、データを削除することなく、データモデル名を変更することができます。 |