

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エンティティとデータアクション: アプリのデータモデルを設定する
<a name="data"></a>

**エンティティ**は App Studio のデータテーブルです。エンティティはデータソースのテーブルと直接やり取りします。エンティティには、その中のデータを記述するフィールド、データを検索して返すクエリ、エンティティのフィールドをデータソースの列に接続するためのマッピングが含まれます。

**Topics**
+ [データモデルを設計する際のベストプラクティス](data-model-best-practices.md)
+ [App Studio アプリでのエンティティの作成](data-entities-create.md)
+ [App Studio アプリでエンティティを設定または編集する](data-entities-edit.md)
+ [エンティティの削除](data-entities-delete.md)
+ [AWS App Studio のマネージドデータエンティティ](managed-data-entities.md)

# データモデルを設計する際のベストプラクティス
<a name="data-model-best-practices"></a>

以下のベストプラクティスを使用して、アプリケーションの要件を満たし、データインフラストラクチャの長期的な信頼性とパフォーマンスを保証する App Studio アプリケーションで AWS 使用するために、 で堅牢でスケーラブル、安全なリレーショナルデータモデルを作成します。
+ **適切な AWS データサービスを選択する: ** 要件に応じて、適切な AWS データサービスを選択します。たとえば、オンライントランザクション処理 (OLTP) アプリケーションの場合、Amazon Aurora などのデータベース (DB) を検討できます。これは、MySQL や PostgreSQL などのさまざまなデータベースエンジンをサポートするクラウドネイティブ、リレーショナル、フルマネージド型のデータベースサービスです。App Studio でサポートされている Aurora バージョンの完全なリストについては、「」を参照してください[Amazon Aurora に接続する](connectors-aurora.md)。一方、オンライン分析処理 (OLAP) のユースケースでは、非常に大きなデータセットに対して複雑なクエリを実行できるクラウドデータウェアハウスである Amazon Redshift の使用を検討してください。これらのクエリの完了には多くの場合 (数秒) かかるため、Amazon Redshift は低レイテンシーのデータアクセスを必要とする OLTP アプリケーションには適していません。
+ **スケーラビリティの設計: **将来の成長とスケーラビリティを念頭に置いてデータモデルを計画します。適切なデータサービス、データベースインスタンスのタイプと設定 (プロビジョニングされた容量など) を選択するときは、予想されるデータ量、アクセスパターン、パフォーマンス要件などの要因を考慮してください。
  + Aurora サーバーレスでのスケーリングの詳細については、[「Aurora Serverless V2 のパフォーマンスとスケーリング](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.setting-capacity.html)」を参照してください。
+ **データの正規化: **データベースの正規化の原則に従って、データの冗長性を最小限に抑え、データの整合性を向上させます。これには、適切なテーブルの作成、プライマリキーと外部キーの定義、エンティティ間の関係の確立が含まれます。App Studio では、あるエンティティからデータをクエリするときに、クエリで `join`句を指定することで、別のエンティティから関連データを取得できます。
+ **適切なインデックス作成を実装する: **最も重要なクエリとアクセスパターンを特定し、パフォーマンスを最適化するための適切なインデックスを作成します。
+ ** AWS データサービス機能を活用する: **自動バックアップ、マルチ AZ デプロイ、自動ソフトウェア更新など、選択した AWS データサービスが提供する機能を活用します。
+ **データを保護する: IAM () ポリシー、テーブルとスキーマへのアクセス許可が制限されたデータベースユーザーの作成、保管中および転送中の暗号化など、堅牢なセキュリティ対策**を実装します。AWS Identity and Access Management
+ **パフォーマンスのモニタリングと最適化: **データベースのパフォーマンスを継続的にモニタリングし、リソースのスケーリング、クエリの最適化、データベース設定の調整など、必要に応じて調整を行います。
+ **データベース管理の自動化: **Aurora Autoscaling、Performance Insights for Aurora、 AWS Database Migration Service などの AWS サービスを活用して、データベース管理タスクを自動化し、運用オーバーヘッドを削減します。
+ **ディザスタリカバリとバックアップ戦略を実装する: **Aurora 自動バックアップ、point-in-timeリカバリ、クロスリージョンレプリカ設定などの機能を活用して、バックアップとリカバリの計画を明確に定義していることを確認します。
+ ** AWS ベストプラクティスとドキュメントに従う: **選択したデータサービスに関する AWS 最新のベストプラクティス、ガイドライン、ドキュメントを常にup-to-dateし、データモデルと実装が AWS 推奨事項と一致していることを確認します。

各 AWS データサービスの詳細なガイダンスについては、以下のトピックを参照してください。
+ [Amazon Aurora のベストプラクティス](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.BestPractices.html)
+ [Amazon Aurora MySQL のベストプラクティス](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.BestPractices.html)
+ [Amazon Redshift クエリのパフォーマンス調整](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html)
+ [Amazon DynamoDB でデータをクエリおよびスキャンするためのベストプラクティス](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-query-scan.html)

# App Studio アプリでのエンティティの作成
<a name="data-entities-create"></a>

App Studio アプリでエンティティを作成するには、4 つの方法があります。次のリストには、各メソッドとその利点、およびそのメソッドを使用してエンティティを作成および設定する手順へのリンクが含まれています。
+ [既存のデータソースからエンティティを作成する](#data-entities-create-existing-data-source): 既存のデータソーステーブルからエンティティとそのフィールドを自動的に作成し、フィールドをデータソーステーブルの列にマッピングします。このオプションは、App Studio アプリで使用する既存のデータソースがある場合に推奨されます。
+ [App Studio マネージドデータソースを使用したエンティティの作成](#data-entities-create-managed-data-source): App Studio が管理するエンティティと DynamoDB テーブルを作成します。DynamoDB テーブルは、エンティティを更新すると自動的に更新されます。このオプションを使用すると、サードパーティーのデータソースを手動で作成、管理、接続したり、エンティティフィールドからテーブル列へのマッピングを指定したりする必要はありません。アプリのデータモデリングと設定はすべて App Studio で行われます。このオプションは、独自のデータソースを管理したくない場合や、DynamoDB テーブルとその機能がアプリに十分である場合に適しています。
+ [空のエンティティの作成](#data-entities-create-empty): 空のエンティティを完全にゼロから作成します。このオプションは、管理者によって作成された既存のデータソースやコネクタがなく、外部データソースに制約されることなくアプリケーションのデータモデルを柔軟に設計する場合に適しています。エンティティは、作成後にデータソースに接続できます。
+ [AI を使用したエンティティの作成](#data-entities-create-with-ai): 指定されたエンティティ名に基づいてエンティティ、フィールド、データアクション、サンプルデータを生成します。このオプションは、アプリケーションのデータモデルについて考えているが、エンティティへの変換を支援したい場合に推奨されます。

## 既存のデータソースからエンティティを作成する
<a name="data-entities-create-existing-data-source"></a>

データソースのテーブルを使用して、エンティティとそのフィールドを自動的に作成し、エンティティフィールドをテーブルの列にマッピングします。このオプションは、App Studio アプリで使用する既存のデータソースがある場合に推奨されます。

1. 必要に応じて、アプリケーションに移動します。

1. キャンバスの上部にある**データ**タブを選択します。

1. アプリにエンティティがない場合は、**\$1 エンティティ**の作成を選択します。それ以外の場合は、左側の**エンティティ**メニューで **\$1 追加**を選択します。

1. **既存のデータソースからテーブルを使用する**を選択します。

1. **Connector** で、エンティティの作成に使用するテーブルを含むコネクタを選択します。

1. Table で****、エンティティの作成に使用するテーブルを選択します。

1. **データアクションの作成**チェックボックスをオンにして、データアクションを作成します。

1. [**エンティティの作成**] を選択します。これでエンティティが作成され、左側の**エンティティ**パネルに表示されます。

1. 「」の手順に従って、新しいエンティティを設定します[App Studio アプリでエンティティを設定または編集する](data-entities-edit.md)。エンティティは既存のデータソースで作成されたため、フィールド、接続されたデータソース、フィールドマッピングなど、一部のプロパティまたはリソースが既に作成されていることに注意してください。また、作成時にデータアクションの作成チェックボックスを選択した場合、エンティティには**データアクション**が含まれます。

## App Studio マネージドデータソースを使用したエンティティの作成
<a name="data-entities-create-managed-data-source"></a>

App Studio によって管理されるマネージドエンティティと対応する DynamoDB テーブルを作成します。DynamoDB テーブルが関連付けられた AWS アカウントに存在する間、App Studio アプリのエンティティに変更を加えると、DynamoDB テーブルは自動的に更新されます。このオプションを使用すると、サードパーティーのデータソースを手動で作成、管理、接続したり、エンティティフィールドからテーブル列へのマッピングを指定したりする必要はありません。このオプションは、独自のデータソースを管理したくない場合や、DynamoDB テーブルとその機能がアプリに十分である場合に適しています。マネージドエンティティの詳細については、「」を参照してください[AWS App Studio のマネージドデータエンティティ](managed-data-entities.md)。

複数のアプリケーションで同じマネージドエンティティを使用できます。手順については、「[既存のデータソースからエンティティを作成する](#data-entities-create-existing-data-source)」を参照してください。

1. 必要に応じて、アプリケーションに移動します。

1. キャンバスの上部にある**データ**タブを選択します。

1. アプリにエンティティがない場合は、**\$1 エンティティ**の作成を選択します。それ以外の場合は、左側の**エンティティ**メニューで \$1 **追加**を選択します。

1. **App Studio マネージドエンティティの作成**を選択します。

1. **エンティティ名**で、エンティティの名前を指定します。

1. **プライマリキー**で、エンティティのプライマリキーの名前を指定します。プライマリキーはエンティティの一意の識別子であり、エンティティの作成後に変更することはできません。

1. **プライマリキーのデータ型**で、エンティティのプライマリキーのデータ型を選択します。エンティティの作成後にデータ型を変更することはできません。

1. [**エンティティの作成**] を選択します。これでエンティティが作成され、左側の**エンティティ**パネルに表示されます。

1. 「」の手順に従って、新しいエンティティを設定します[App Studio アプリでエンティティを設定または編集する](data-entities-edit.md)。エンティティはマネージドデータで作成されたため、プライマリキーフィールドや接続されたデータソースなど、一部のプロパティまたはリソースがすでに作成されていることに注意してください。

## 空のエンティティの作成
<a name="data-entities-create-empty"></a>

空のエンティティを最初から完全に作成します。このオプションは、管理者によって作成された既存のデータソースまたはコネクタがない場合に推奨されます。空のエンティティを作成すると、外部データソースに制約されることなく App Studio アプリ内でエンティティを設計できるため、柔軟性が得られます。アプリケーションのデータモデルを設計し、それに応じてエンティティを設定した後でも、後で外部データソースに接続できます。

1. 必要に応じて、アプリケーションに移動します。

1. キャンバスの上部にある**データ**タブを選択します。

1. アプリにエンティティがない場合は、**\$1 エンティティ**の作成を選択します。それ以外の場合は、左側の**エンティティ**メニューで **\$1 追加**を選択します。

1. **エンティティの作成**を選択します。

1. [**エンティティの作成**] を選択します。これでエンティティが作成され、左側の**エンティティ**パネルに表示されます。

1. 「」の手順に従って、新しいエンティティを設定します[App Studio アプリでエンティティを設定または編集する](data-entities-edit.md)。

## AI を使用したエンティティの作成
<a name="data-entities-create-with-ai"></a>

指定されたエンティティ名に基づいて、エンティティ、フィールド、データアクション、サンプルデータを生成します。このオプションは、アプリケーションのデータモデルについて考えているが、エンティティへの変換を支援したい場合に推奨されます。

1. 必要に応じて、アプリケーションに移動します。

1. キャンバスの上部にある**データ**タブを選択します。

1. アプリにエンティティがない場合は、**\$1 エンティティ**の作成を選択します。それ以外の場合は、左側の**エンティティ**メニューで \$1 **追加**を選択します。

1. **AI を使用してエンティティを作成する**を選択します。

1. **エンティティ名**で、エンティティの名前を指定します。この名前は、エンティティのフィールド、データアクション、およびサンプルデータを生成するために使用されます。

1. **データアクションの作成**チェックボックスを選択して、データアクションを作成します。

1. **エンティティの生成** を選択します。これでエンティティが作成され、左側の**エンティティ**パネルに表示されます。

1. 「」の手順に従って、新しいエンティティを設定します[App Studio アプリでエンティティを設定または編集する](data-entities-edit.md)。エンティティは AI で作成されたため、エンティティにはすでに生成されたフィールドが含まれていることに注意してください。また、作成時にデータアクションの作成チェックボックスを選択した場合、エンティティには**データアクション**が含まれます。

# App Studio アプリでエンティティを設定または編集する
<a name="data-entities-edit"></a>

次のトピックを使用して、App Studio アプリケーションでエンティティを設定します。

**Topics**
+ [エンティティ名の編集](data-entities-edit-name.md)
+ [エンティティフィールドの追加、編集、または削除](data-entities-edit-fields.md)
+ [データアクションの作成、編集、または削除](data-entities-edit-data-actions.md)
+ [サンプルデータの追加または削除](data-entities-edit-sample-data.md)
+ [接続されたデータソースとマップフィールドを追加または編集する](data-entities-edit-connection.md)

# エンティティ名の編集
<a name="data-entities-edit-name"></a>

1. 必要に応じて、編集するエンティティに移動します。

1. **設定**タブの**エンティティ名**でエンティティ名を更新し、テキストボックスの外部を選択して変更を保存します。

# エンティティフィールドの追加、編集、または削除
<a name="data-entities-edit-fields"></a>

**ヒント**  
CTRL\$1Z キーを押して、エンティティに対する最新の変更を元に戻すことができます。

1. 必要に応じて、編集するエンティティに移動します。

1. **設定**タブ**のフィールド**で、エンティティのフィールドのテーブルを表示します。エンティティフィールドには次の列があります。
   + **表示名:** 表示名はテーブルヘッダーまたはフォームフィールドに似ており、アプリケーションユーザーが表示できます。スペースと特殊文字を含めることができますが、エンティティ内で一意である必要があります。
   + **システム名:** システム名は、フィールドを参照するためにコードで使用される一意の識別子です。Amazon Redshift テーブルの列にマッピングする場合、Amazon Redshift テーブルの列名と一致する必要があります。
   + **データ型:** `Integer`、、 `Boolean`など、このフィールドに保存されるデータのタイプ`String`。

1. フィールドを追加するには:

   1. AI を使用してエンティティ名と接続されたデータソースに基づいてフィールドを生成するには、**追加フィールドの生成**を選択します。

   1. 1 つのフィールドを追加するには、**\$1 追加フィールド**を選択します。

1. フィールドを編集するには:

   1. 表示名を編集するには、**表示名**テキストボックスに目的の値を入力します。フィールドのシステム名が編集されていない場合は、表示名の新しい値に更新されます。

   1. システム名を編集するには、**システム名**テキストボックスに目的の値を入力します。

   1. データ型を編集するには、**データ型**ドロップダウンメニューを選択し、リストから目的の型を選択します。

   1. フィールドのプロパティを編集するには、フィールドの歯車アイコンを選択します。次のリストは、フィールドプロパティの詳細を示しています。
      + **必須**: フィールドがデータソースで必要な場合は、このオプションを有効にします。
      + **プライマリキー**: フィールドがデータソースのプライマリキーにマッピングされている場合は、このオプションを有効にします。
      + **Unique**: このフィールドの値が一意でなければならない場合は、このオプションを有効にします。
      + **データソースのデフォルトを使用する**: 自動増分やイベントタイムスタンプを使用するなど、 フィールドの値がデータソースによって提供される場合は、このオプションを有効にします。
      + **データ型オプション**: 特定のデータ型のフィールドは、最小値や最大値などのデータ型オプションで設定できます。

1. フィールドを削除するには、削除するフィールドのごみ箱アイコンを選択します。

# データアクションの作成、編集、または削除
<a name="data-entities-edit-data-actions"></a>

データアクションは、すべてのレコードの取得や ID によるレコードの取得など、エンティティのデータに対してアクションを実行するためにアプリケーションで使用されます。データアクションを使用して、テーブルや詳細ビューなどのコンポーネントに表示される、指定された条件に一致するデータを検索して返すことができます。

**Contents**
+ [データアクションの作成](#data-entities-data-action-add)
+ [データアクションの編集または設定](#data-entities-data-action-edit)
+ [データアクション条件演算子と例](#data-entities-data-action-operators)
  + [データベースによる条件演算子のサポート](#data-entities-data-action-operators-support)
  + [データアクション条件の例](#data-entities-data-action-operators-examples)
+ [データアクションの削除](#data-entities-data-action-delete)

## データアクションの作成
<a name="data-entities-data-action-add"></a>

**ヒント**  
CTRL\$1Z キーを押して、エンティティに対する最新の変更を元に戻すことができます。

1. 必要に応じて、データアクションを作成するエンティティに移動します。

1. **データアクション**タブを選択します。

1. データアクションを作成するには、次の 2 つの方法があります。
   + (推奨) AI を使用して、エンティティ名、フィールド、接続されたデータソースに基づいてデータアクションを生成するには、**データアクションの生成**を選択します。次のアクションが生成されます。

     1. `getAll`: エンティティからすべてのレコードを取得します。このアクションは、レコードのリストを表示したり、複数のレコードに対して一度にオペレーションを実行したりする必要がある場合に便利です。

     1. `getByID`: 一意の識別子 (ID またはプライマリキー) に基づいてエンティティから 1 つのレコードを取得します。このアクションは、特定のレコードに対してオペレーションを表示または実行する必要がある場合に便利です。
   + 単一のデータアクションを追加するには、 **\$1 データアクションの追加**を選択します。

1. 新しいデータアクションを表示または設定するには、次のセクション「」を参照してください[データアクションの編集または設定](#data-entities-data-action-edit)。

## データアクションの編集または設定
<a name="data-entities-data-action-edit"></a>

1. 必要に応じて、データアクションを作成するエンティティに移動します。

1. **データアクション**タブを選択します。

1. **フィールド**で、クエリによって返されるフィールドを設定します。デフォルトでは、エンティティ内のすべての設定済みフィールドが選択されます。

   次の手順を実行して、データアクションに **Joins** を追加することもできます。

   1. ** \$1 結合を追加** を選択してダイアログボックスを開きます。

   1. **関連エンティティ**で、現在のエンティティと結合するエンティティを選択します。

   1. **エイリアス**で、必要に応じて関連エンティティの一時的なエイリアス名を入力します。

   1. **結合タイプ**で、目的の結合タイプを選択します。

   1. 各エンティティからフィールドを選択して、結合句を定義します。

   1. **追加** を選択して結合を作成します。

   作成されると、結合が**結合**セクションに表示され、フィールドを**返す**ドロップダウンで追加のフィールドを使用できます。エンティティ間の連鎖結合など、複数の結合を追加できます。結合されたエンティティのフィールドでフィルタリングおよびソートすることもできます。

   結合を削除するには、結合の横にあるごみ箱アイコンを選択します。これにより、それらのフィールドを使用して、その結合からすべてのフィールドが削除され、依存結合または制約が破棄されます。

1. **条件** で、クエリの出力をフィルタリングするルールを追加、編集、または削除します。ルールをグループに整理し、複数のルールを `AND`または `OR`ステートメントと連鎖させることができます。使用できる演算子の詳細については、「」を参照してください[データアクション条件演算子と例](#data-entities-data-action-operators)。

1. **ソート**で、属性を選択し、昇順または降順を選択して、クエリ結果のソート方法を設定します。ソートルールの横にあるごみ箱アイコンを選択して、ソート設定を削除できます。

1. **変換結果**では、カスタム JavaScript を入力して、結果を表示またはオートメーションに送信する前に結果を変更またはフォーマットできます。

1. **出力プレビュー**で、設定されたフィールド、フィルター、ソート、JavaScript に基づいてクエリ出力のプレビューテーブルを表示します JavaScript 。

## データアクション条件演算子と例
<a name="data-entities-data-action-operators"></a>

条件演算子を使用して、設定された式値をエンティティ列と比較し、データベースオブジェクトのサブセットを返すことができます。使用できる演算子は、列のデータ型と、Amazon Redshift、Amazon Aurora、Amazon DynamoDB など、エンティティが接続されているデータベースのタイプによって異なります。

次の条件演算子は、すべてのデータベースサービスで使用できます。
+ `=` および `!=`: すべてのデータ型 (プライマリキー列を除く) で使用できます。
+ `<=`、`>=`、`<`、および `>=`: 数値列でのみ使用できます。
+ `IS NULL` および `IS NOT NULL`: null または空の値を持つ列を一致させるために使用されます。Null 値はデータベースごとに解釈が異なることがよくありますが、App Studio では、`NULL`オペレーターは接続されたデータベーステーブルに Null 値を持つレコードを照合して返します。

次の条件演算子は、それらをサポートするデータベースサービスに接続されているエンティティでのみ使用できます。
+ `LIKE` および `NOT LIKE`(Redshift、Aurora): 接続されたデータベースでパターンベースのクエリを実行するために使用されます。`LIKE` 演算子は、指定されたパターンに一致するレコードを検索して返すため、検索機能の柔軟性を提供します。パターンは、パターン内の任意の文字または文字のシーケンスに一致するワイルドカード文字を使用して定義します。各データベース管理システムには一意のワイルドカード文字のセットがありますが、最も一般的な 2 つは任意の文字数 (0 を含む) を表し`%`、1 文字`_`を表すことです。
+ `Contains` および `Not Contains` (DynamoDB): 大文字と小文字を区別する検索を実行して、指定されたテキストが列値内で見つかったかどうかを判断するために使用されます。
+ `Starts With` および `Not Starts With` (DynamoDB): 大文字と小文字を区別する検索を実行して、指定されたテキストが列値の先頭で見つかったかどうかを判断するために使用されます。

### データベースによる条件演算子のサポート
<a name="data-entities-data-action-operators-support"></a>

次の表は、App Studio に接続できる各データベースでサポートされているデータアクション条件演算子を示しています。


|  | =, \$1=, <, >, <=, >= | LIKE、NOT LIKE | 含まれる、含まれない | で始まるが で始まらない | IS NULL、IS NOT NULL | 
| --- | --- | --- | --- | --- | --- | 
|  **DynamoDB**  |  はい  |  なし  |  はい  |  はい  |  はい  | 
|  **Aurora**  |  はい  |  あり  |  なし  |  なし  |  はい  | 
|  **Redshift**  |  はい  |  あり  |  なし  |  なし  |  はい  | 

### データアクション条件の例
<a name="data-entities-data-action-operators-examples"></a>

、、`name``city`および `hireDate`フィールドを持つ複数の項目を含む次のデータベーステーブルを検討してください。


| 名前 | city | hireDate | 
| --- | --- | --- | 
|  アダム  |  Seattle  |  2025-03-01  | 
|  アドリエンヌ  |  Boston  |  2025-03-05  | 
|  Bob  |  アルバカーキ  |  2025-03-06  | 
|  Carlos  |  シカゴ  |  2025-03-10  | 
|  キャロライン  |  NULL  |  2025-03-12  | 
|  リタ  |  マイアミ  |  2025-03-15  | 

ここで、指定した条件に一致する項目の `name`フィールドを返すデータアクションを App Studio で作成することを検討してください。次のリストには、条件の例と、それぞれに対してテーブルが返す値が含まれています。

**注記**  
例は SQL の例としてフォーマットされています。App Studio では表示されない場合がありますが、演算子の動作を説明するために使用されます。
+ `WHERE name LIKE 'Adam'`: を返します`Adam`。
+ `WHERE name LIKE 'A%'`: `Adam`と を返します`Adrienne`。
+ `WHERE name NOT LIKE 'B_B'`: `Adam`、`Adrienne`、`Carlos`、`Caroline`、および を返します`Rita`。
+ `WHERE contains(name, 'ita')`: を返します`Rita`。
+ `WHERE begins_with(name, 'Car')`: `Carlos`と を返します`Caroline`。
+ `WHERE city IS NULL`: を返します`Caroline`。
+ `WHERE hireDate < "2025-03-06"`: `Adam`と を返します`Adrienne`。
+ `WHERE hireDate >= DateTime.now().toISODate()`: は現在の日付`DateTime.now().toISODate()`を返します。現在の日付が 2025-03-10 のシナリオでは、式は `Carlos`、`Caroline`、および を返します`Rita`。

**ヒント**  
式で日付と時刻を比較する方法の詳細については、「」を参照してください[日付および時間](expressions.md#expressions-date-time)。

## データアクションの削除
<a name="data-entities-data-action-delete"></a>

App Studio エンティティからデータアクションを削除するには、次の手順に従います。

1. 必要に応じて、データアクションを削除するエンティティに移動します。

1. **データアクション**タブを選択します。

1. 削除するデータアクションごとに、**編集**の横にあるドロップダウンメニューを選択し、**削除**を選択します。

1. ダイアログボックスで**確認** を選択します。

# サンプルデータの追加または削除
<a name="data-entities-edit-sample-data"></a>

App Studio アプリケーションのエンティティにサンプルデータを追加できます。アプリケーションの は公開されるまで外部サービスと通信しないため、サンプルデータを使用してプレビュー環境でアプリケーションとエンティティをテストできます。

1. 必要に応じて、編集するエンティティに移動します。

1. **サンプルデータ**タブを選択します。

1. サンプルデータを生成するには、**「さらにサンプルデータを生成する**」を選択します。

1. サンプルデータを削除するには、削除するデータのチェックボックスを選択し、Delete キーまたは Backspace キーを押します。**保存** を選択して変更を保存します。

# 接続されたデータソースとマップフィールドを追加または編集する
<a name="data-entities-edit-connection"></a>

**ヒント**  
CTRL\$1Z キーを押して、エンティティに対する最新の変更を元に戻すことができます。

1. 必要に応じて、編集するエンティティに移動します。

1. **接続**タブを選択して、アプリケーションが公開されたときにデータが保存されるエンティティとデータソーステーブル間の接続を表示または管理します。データソーステーブルが接続されたら、エンティティフィールドをテーブルの列にマッピングできます。

1. **Connector** で、目的のデータソーステーブルへの接続を含むコネクタを選択します。コネクタの詳細については、「」を参照してください[コネクタを使用して App Studio を他の サービスに接続する](connectors.md)。

1. **テーブル**で、エンティティのデータソースとして使用するテーブルを選択します。

1. この表は、エンティティのフィールドと、それらがマッピングされているデータソース列を示しています。**自動マップ**を選択すると、エンティティフィールドがデータソース列に自動的にマッピングされます。各エンティティフィールドのドロップダウンでデータソース列を選択することで、テーブル内のフィールドを手動でマッピングすることもできます。

# エンティティの削除
<a name="data-entities-delete"></a>

App Studio アプリケーションからエンティティを削除するには、次の手順に従います。

**注記**  
App Studio アプリからエンティティを削除しても、マネージドエンティティの対応する DynamoDB テーブルを含む、接続されたデータソーステーブルは削除されません。データソーステーブルは関連付けられた AWS アカウントに残り、必要に応じて対応するサービスから削除する必要があります。

**エンティティを削除するには**

1. 必要に応じて、アプリケーションに移動します。

1. [**データ**] タブを選択します。

1. 左側の**エンティティ**メニューで、削除するエンティティの横にある楕円メニューを選択し、**削除**を選択します。

1. ダイアログボックスの情報を確認し、**削除**と入力**confirm**してエンティティを削除します。

# AWS App Studio のマネージドデータエンティティ
<a name="managed-data-entities"></a>

通常、外部データベーステーブルへの接続を使用して App Studio でエンティティを設定し、各エンティティフィールドを作成して、接続されたデータベーステーブルの列にマッピングする必要があります。データモデルを変更するときは、外部データベーステーブルとエンティティの両方を更新し、変更されたフィールドを再マッピングする必要があります。この方法は柔軟で、さまざまなタイプのデータソースを使用できますが、より事前の計画と継続的なメンテナンスが必要です。

*マネージドエンティティ*は、App Studio がデータストレージと設定プロセス全体を管理するエンティティのタイプです。マネージドエンティティを作成すると、対応する DynamoDB テーブルが関連する AWS アカウントに作成されます。これにより、 内の安全で透過的なデータ管理が保証されます AWS。マネージドエンティティでは、App Studio でエンティティのスキーマを設定すると、対応する DynamoDB テーブルも自動的に更新されます。

## 複数のアプリケーションでマネージドエンティティを使用する
<a name="managed-data-entities-other-applications"></a>

App Studio アプリでマネージドエンティティを作成すると、そのエンティティを他の App Studio アプリで使用できます。これは、維持する単一の基盤となるリソースを提供することで、同一のデータモデルとスキーマを持つアプリケーションのデータストレージを設定するのに役立ちます。

複数のアプリケーションでマネージドエンティティを使用する場合、対応する DynamoDB テーブルに対するすべてのスキーマ更新は、マネージドエンティティが作成された元のアプリケーションを使用して行う必要があります。他のアプリケーションのエンティティに対してスキーマを変更しても、対応する DynamoDB テーブルは更新されません。

## マネージドエンティティの制限
<a name="managed-data-entities-limitations"></a>

**プライマリキーの更新制限**: 作成後にエンティティのプライマリキー名またはタイプを変更することはできません。これは DynamoDB の破壊的な変更であり、既存のデータが失われる可能性があるためです。

**列の名前変更**: DynamoDB で列の名前を変更すると、元の列が元のデータのまま新しい列が実際に作成されます。元のデータは、新しい列に自動的にコピーされたり、元の列から削除されたりすることはありません。*システム名*と呼ばれるマネージドエンティティフィールドの名前は変更できますが、元の列とそのデータにアクセスできなくなります。表示名の変更に制限はありません。

**データ型の変更**: DynamoDB では、テーブルの作成後に列データ型を柔軟に変更できますが、このような変更が既存のデータやクエリロジック、精度に重大な影響を与える可能性があります。データ型の変更では、既存のすべてのデータを変換して新しい形式に準拠する必要があります。これは、大規模でアクティブなテーブルでは複雑です。さらに、データアクションは、データ移行が完了するまで予期しない結果を返す可能性があります。フィールドのデータ型を切り替えることはできますが、既存のデータは新しいデータ型に移行されません。

**ソート列**: DynamoDB では、ソートキーを使用してソートされたデータを取得できます。ソートキーは、パーティションキーとともに複合プライマリキーの一部として定義する必要があります。制限には、必須のソートキー、1 つのパーティション内のソート、パーティション間のグローバルソートが含まれます。ホットパーティションを回避するには、ソートキーの慎重なデータモデリングが必要です。Sorting for Preview のマイルストーンはサポートされません。

**Joins**: 結合は DynamoDB ではサポートされていません。テーブルは、高価な結合操作を避けるために、設計によって非正規化されます。one-to-many関係をモデル化するために、子テーブルには親テーブルのプライマリキーを参照する属性が含まれています。マルチテーブルデータクエリでは、親テーブルから項目を検索して詳細を取得します。プレビューマイルストーンの一環として、マネージドエンティティのネイティブ結合はサポートされません。回避策として、2 つのエンティティのデータマージを実行できる自動化ステップを紹介します。これは、1 レベルのルックアップと非常によく似ています。Sorting for Preview のマイルストーンはサポートされません。

**Env ステージ**: 公開によるテストは許可されますが、両方の環境で同じマネージドストアを使用できます。