

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

# データソースと出力でサポートされている接続
<a name="supported-data-connection-sources"></a>

DataBrew レシピジョブでは、次のデータソースに接続できます。これには、DataBrew に直接アップロードするファイルではないデータソースが含まれます。使用しているデータソースは、データベース、データウェアハウス、またはその他のものと呼ばれる場合があります。すべてのデータプロバイダーをデータソースまたは接続と呼びます。

データソースとして次のいずれかを使用してデータセットを作成できます。

DataBrew レシピジョブの出力にはAWS Glue Data Catalog、Amazon RDS でサポートされている Amazon S3、または JDBC データベースを使用することもできます。Amazon AppFlow とAWS Data Exchangeは、DataBrew レシピジョブの出力でデータストアをサポートしていません。
+ **Amazon S3**

  S3 を使用して、任意の量のデータを保存および保護できます。データセットを作成するには、DataBrew がデータファイルにアクセスできる S3 URL を指定します。次に例を示します。 `s3://your-bucket-name/inventory-data.csv`

  DataBrew は S3 フォルダ内のすべてのファイルを読み取ることもできます。つまり、複数のファイルにまたがるデータセットを作成できます。これを行うには、次の形式で S3 URL を指定します: `s3://your-bucket-name/your-folder-name/`。

   DataBrew は次の Amazon S3 ストレージクラスのみをサポートします。Standard、Reduced Redundancy、Standard-IA、S3 One Zone-IA。DataBrew は、他のストレージクラスのファイルを無視します。DataBrew は空のファイル (0 バイトを含むファイル) も無視します。Amazon S3 ストレージクラスの詳細については、[Amazon S3 コンソールユーザーガイド」の「Amazon S3 ストレージクラス](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html)の使用」を参照してください。 *Amazon S3 * 
+ **AWS Glue Data Catalog**

  データカタログを使用して、AWSクラウドに保存されているデータへの参照を定義できます。データカタログを使用すると、次のサービスで個々のテーブルへの接続を構築できます。
  + データカタログ Amazon S3
  + データカタログ Amazon Redshift
  + データカタログ Amazon RDS
  + AWS Glue

  DataBrew は Amazon S3 フォルダ内のすべてのファイルを読み取ることもできます。つまり、複数のファイルにまたがるデータセットを作成できます。これを行うには、次の形式で Amazon S3 URL を指定します。 `s3://your-bucket-name/your-folder-name/`

  DataBrew で使用するには、 で定義されている Amazon S3 テーブルにAWS Glue Data Catalog、データの形式を `classification`、、`csv``json`または として識別する というテーブルプロパティを追加する必要があります`parquet``typeOfData``file`。テーブルの作成時にテーブルプロパティが追加されなかった場合は、AWS Glueコンソールを使用して追加できます。

   DataBrew は、Amazon S3 ストレージクラス Standard、Reduced Redundancy、Standard-IA、および S3 One Zone-IA のみをサポートしています。DataBrew は、他のストレージクラスのファイルを無視します。DataBrew は空のファイル (0 バイトを含むファイル) も無視します。Amazon S3 ストレージクラスの詳細については、[Amazon S3 コンソールユーザーガイド」の「Amazon S3 ストレージクラス](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html)の使用」を参照してください。 *Amazon S3 * 

  適切なリソースポリシーが作成されている場合、DataBrew は他のアカウントのAWS Glue Data Catalog S3 テーブルにアクセスすることもできます。コンソールのAWS Glue**Data Catalog** **の設定**タブでポリシーを作成できます。以下は、単一の 専用のポリシーの例ですAWS リージョン。
**警告**  
これは、 のデータカタログへの`*$ACCOUNT_TO*`無制限のアクセスを許可する、非常に寛容なリソースポリシーです`*$ACCOUNT_FROM*`。ほとんどの場合、リソースポリシーを特定のカタログまたはテーブルにロックダウンすることをお勧めします。詳細については、「 *AWS Glueデベロッパーガイド*」の[AWS Glue「アクセスコントロールのリソースポリシー](https://docs.aws.amazon.com/glue/latest/dg/glue-resource-policies.html)」を参照してください。

  場合によっては、AWS Glue DataBrewにある S3の場所`*$ACCOUNT_FROM*`を指すAWS Glue Data Catalog S3 テーブル`*$ACCOUNT_TO*`を使用して、 でプロジェクトを作成したり、ジョブを実行したりできます`*$ACCOUNT_FROM*`。 S3 このような場合、 でプロジェクトとジョブを作成するときに使用する IAM ロールには、 からその S3 ロケーションのオブジェクトを一覧表示して取得するアクセス許可`*$ACCOUNT_TO*`が必要です`*$ACCOUNT_FROM*`。詳細については、「 *AWS Glueデベロッパーガイド*」の[「クロスアカウントアクセスの付与](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html)」を参照してください。
+ **JDBC ドライバーを使用して接続されたデータ**

  データセットを作成するには、サポートされている JDBC ドライバーを使用してデータに接続します。詳細については、「[でのドライバーの使用AWS Glue DataBrew](dbms-driver-connections.md)」を参照してください。

  DataBrew は、Java Database Connectivity (JDBC) を使用して以下のデータソースを正式にサポートしています。
  + Microsoft SQL Server
  + MySQL
  + Oracle
  + [PostgreSQL]
  + Amazon Redshift
  + Snowflake Connector for Spark

  データソースは、DataBrew から接続できる任意の場所に配置できます。このリストには、テスト済みの JDBC 接続のみが含まれているため、サポートできます。

  Amazon Redshift と Snowflake Connector for Spark データソースは、次のいずれかの方法で接続できます。
  + テーブル名。
  + 複数のテーブルとオペレーションにまたがる SQL クエリ。

  SQL クエリは、プロジェクトまたはジョブの実行を開始するときに実行されます。

  リストにない JDBC ドライバーを必要とするデータに接続するには、ドライバーが JDK 8 と互換性があることを確認してください。ドライバーを使用するには、DataBrew の IAM ロールを使用してアクセスできるバケットの S3 にドライバーを保存します。次に、データセットをドライバーファイルにポイントします。詳細については、「[でのドライバーの使用AWS Glue DataBrew](dbms-driver-connections.md)」を参照してください。

  SQL ベースのデータセットのクエリ例:

  ```
  SELECT
      * 
  FROM
      public.customer as c 
  JOIN
      public.customer_address as ca on c.current_address=ca.current_address
  WHERE
      ca.address_id>0 AND ca.address_id<10001 ORDER BY ca.address_id
  ```

  **カスタム SQL の制限**

  JDBC 接続を使用して DataBrew データセットのデータにアクセスする場合は、次の点に注意してください。
  + AWS Glue DataBrewは、データセットの作成の一部として指定したカスタム SQL を検証しません。SQL クエリは、プロジェクトまたはジョブの実行を開始するときに実行されます。DataBrew は、指定したクエリを受け取り、デフォルトまたは指定された JDBC ドライバーを使用してデータベースエンジンに渡します。
  + 無効なクエリで作成されたデータセットは、プロジェクトまたはジョブで使用されると失敗します。データセットを作成する前にクエリを検証します。
  + **SQL の検証**機能は、Amazon Redshift ベースのデータソースでのみ使用できます。
  + プロジェクトでデータセットを使用する場合は、プロジェクトのロード中のタイムアウトを避けるため、SQL クエリランタイムを 3 分未満に制限します。プロジェクトを作成する前に、クエリランタイムを確認します。
+ **Amazon AppFlow**

  Amazon AppFlow を使用すると、Salesforce、Zendesk、Slack、ServiceNow などのサードパーティーの Software-as-a-Service (SaaS) アプリケーションから Amazon S3 にデータを転送できます。その後、データを使用して DataBrew データセットを作成できます。

  Amazon AppFlow では、サードパーティーアプリケーションと送信先アプリケーションの間でデータを転送するための接続とフローを作成します。DataBrew で Amazon AppFlow を使用する場合は、Amazon AppFlow 送信先アプリケーションが Amazon S3 であることを確認します。Amazon S3 以外の Amazon AppFlow 送信先アプリケーションは DataBrew コンソールに表示されません。 Amazon S3 サードパーティーアプリケーションからのデータ転送と Amazon AppFlow 接続とフローの作成の詳細については、[Amazon AppFlow ドキュメント](https://docs.aws.amazon.com/appflow/index.html)を参照してください。

  DataBrew の**データセット**タブで**新しいデータセットに接続**を選択し、Amazon AppFlow をクリックすると、Amazon S3 を送信先アプリケーションとして設定されている Amazon AppFlow 内のすべてのフローが表示されます。データセットにフローのデータを使用するには、そのフローを選択します。

   DataBrew コンソールで**フローの作成**、**フローの管理**、Amazon AppFlow **の詳細の表示**を選択すると、Amazon AppFlow コンソールが開き、これらのタスクを実行できます。

  Amazon AppFlow からデータセットを作成したら、フローを実行し、データセットの詳細またはジョブの詳細を表示するときに最新のフロー実行の詳細を表示できます。DataBrew でフローを実行すると、データセットは S3 で更新され、DataBrew で使用できるようになります。

  DataBrew コンソールで Amazon AppFlow フローを選択してデータセットを作成すると、次の状況が発生する可能性があります。
  + **データが集約されていない** - フロートリガーが**オンデマンドで実行される**か、フルデータ転送で**スケジュールどおりに実行される**場合は、DataBrew データセットの作成に使用する前に、フローのデータを集約してください。フローを集約すると、フロー内のすべてのレコードが 1 つのファイルにまとめられます。トリガータイプが **Run on schedule** with incremental data transfer または **Run on event** のフローは集約を必要としません。Amazon AppFlow でデータを集約するには、**フロー設定の編集** > **送信先の詳細** > **追加設定** > **データ転送設定**を選択します。
  + **フローが実行されていない** - フローの実行ステータスが空の場合、次のいずれかを意味します。
    + フローを実行するトリガーが**オンデマンドで実行**の場合、フローはまだ実行されていません。
    + フローを実行するトリガーが Run ** on イベント**である場合、トリガーイベントはまだ発生していません。
    + フローを実行するトリガーが**スケジュールどおりに実行される**場合、スケジュールされた実行はまだ発生していません。

    フローを使用してデータセットを作成する前に、その**フロー**の実行フローを選択します。

    詳細については、[「Amazon AppFlow ユーザーガイド」の「Amazon AppFlow フロー](https://docs.aws.amazon.com/appflow/latest/userguide/flows.html)」を参照してください。 AppFlow 
+ **AWS Data Exchange**

  数百のサードパーティーデータソースから選択できますAWS Data Exchange。これらのデータソースにサブスクライブすることで、データのup-to-dateを取得できます。

  データセットを作成するには、サブスクライブしているAWS Data Exchangeデータ製品の名前と、使用する権限を指定します。