😄

Amplifyのディレクティブ一覧

2024/02/07に公開

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を使用することで、データを削除することなく、データモデル名を変更することができます。

Discussion