

# AWS Glue Studio での Azure Cosmos DB に対する接続
<a name="connecting-to-data-azurecosmos"></a>

 AWS Glue は、Azure Cosmos DB のための組み込みサポートを提供します。AWS Glue Studio は、Azure Cosmos DB for NoSQL に接続してデータ統合ジョブをオーサリングし、AWS Glue Studio サーバーレス Spark ランタイム上でそれらのジョブを実行するためのビジュアルインターフェイスを提供します。

**Topics**
+ [Azure Cosmos DB 接続の作成](creating-azurecosmos-connection.md)
+ [Azure Cosmos DB ソースノードの作成](creating-azurecosmos-source-node.md)
+ [Azure Cosmos DB ターゲットノードの作成](creating-azurecosmos-target-node.md)
+ [詳細オプション](#creating-azurecosmos-connection-advanced-options)

# Azure Cosmos DB 接続の作成
<a name="creating-azurecosmos-connection"></a>

**前提条件**:
+ Azure では、AWS Glue で使用する Azure Cosmos DB キー (`cosmosKey`) を特定または生成する必要があります。詳細については、Azure ドキュメントの「[Azure Cosmos DB のデータへのアクセスをセキュリティで保護する](https://learn.microsoft.com/en-us/azure/cosmos-db/secure-access-to-data?tabs=using-primary-key)」を参照してください。

**Azure Cosmos DB に対する接続を設定するには:**

1. AWS Secrets Manager で、Azure Cosmos DB キーを使用してシークレットを作成します。Secrets Manager でシークレットを作成するには、AWS Secrets Manager ドキュメントの [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) にあるチュートリアルに従ってください。シークレットを作成したら、次のステップのためにシークレット名 *secretName* を保存しておきます。
   + **[key/value ペア]** を選択する際に、*cosmosKey* という値を持つキー `spark.cosmos.accountKey` のペアを作成します。

1. AWS Glue コンソールで、「[AWS Glue 接続の追加](console-connections.md)」にあるステップに従って接続を作成します。接続を作成したら、将来的に AWS Glue で使用するために、接続名 *connectionName* を維持します。
   + **[接続タイプ]** を選択する際に、[Azure Cosmos DB] を選択します。
   + **[AWS Secret]** をクリックして、*secretName* を入力します。

# Azure Cosmos DB ソースノードの作成
<a name="creating-azurecosmos-source-node"></a>

## 必要な前提条件
<a name="creating-azurecosmos-source-node-prerequisites"></a>
+ 前のセクション [Azure Cosmos DB 接続の作成](creating-azurecosmos-connection.md) で説明したように、AWS Secrets Manager シークレットを使用して設定された AWS Glue Azure Cosmos DB 接続。
+ 接続で使用されるシークレットを読み取るためのジョブに対する適切なアクセス許可。
+ 読み取り元とする Azure Cosmos DB for NoSQL コンテナ。コンテナの識別情報が必要になります。

  Azure Cosmos for NoSQL コンテナは、データベースとコンテナによって識別されます。Azure Cosmos for NoSQL API に接続する際には、データベース *cosmosDBName* とコンテナ *cosmosContainerName* の名前を指定する必要があります。

## Azure Cosmos DB データソースの追加
<a name="creating-azurecosmos-source-node-add"></a>

****[データソース — Azure Cosmos DB]** ノードを追加するには:**

1.  Azure Cosmos DB データソース用の接続を選択します。すでに作成したので、ドロップダウンに表示されているはずです。接続を作成する必要がある場合は、**[Azure Cosmos DB 接続を作成]** を選択します。詳細については、前の「[Azure Cosmos DB 接続の作成](creating-azurecosmos-connection.md)」セクションを参照してください。

    接続を選択したあとは、**[プロパティを表示]** をクリックすると、接続のプロパティを表示できます。

1. **[Cosmos DB データベース名]** を選択します。読み取り元のデータベースの名前である *cosmosDBName* を指定します。

1. **[Azure Cosmos DB コンテナ]** を選択します。読み取り元のコンテナの名前である *cosmosContainerName* を指定します。

1. 必要に応じて、**[Azure Cosmos DB カスタムクエリ]** を選択します。Azure Cosmos DB から特定の情報を取得するには、SQL SELECT クエリを指定します。

1.  **[Azure Cosmos のカスタムプロパティ]** で、必要に応じてパラメータと値を入力します。

# Azure Cosmos DB ターゲットノードの作成
<a name="creating-azurecosmos-target-node"></a>

## 必要な前提条件
<a name="creating-azurecosmos-target-node-prerequisites"></a>
+ 前のセクション [Azure Cosmos DB 接続の作成](creating-azurecosmos-connection.md) で説明したように、AWS Secrets Manager シークレットを使用して設定された AWS Glue Azure Cosmos DB 接続。
+ 接続で使用されるシークレットを読み取るためのジョブに対する適切なアクセス許可。
+ 書き込み先とする Azure Cosmos DB テーブル。コンテナの識別情報が必要になります。**接続メソッドを呼び出す前にコンテナを作成する必要があります。**

  Azure Cosmos for NoSQL コンテナは、データベースとコンテナによって識別されます。Azure Cosmos for NoSQL API に接続する際には、データベース *cosmosDBName* とコンテナ *cosmosContainerName* の名前を指定する必要があります。

## Azure Cosmos DB データターゲットの追加
<a name="creating-azurecosmos-target-node-add"></a>

****[データターゲット — Azure Cosmos DB]** ノードを追加するには:**

1.  Azure Cosmos DB データソース用の接続を選択します。すでに作成したので、ドロップダウンに表示されているはずです。接続を作成する必要がある場合は、**[Azure Cosmos DB 接続を作成]** を選択します。詳細については、前の「[Azure Cosmos DB 接続の作成](creating-azurecosmos-connection.md)」セクションを参照してください。

    接続を選択したあとは、**[プロパティを表示]** をクリックすると、接続のプロパティを表示できます。

1. **[Cosmos DB データベース名]** を選択します。読み取り元のデータベースの名前である *cosmosDBName* を指定します。

1. **[Azure Cosmos DB コンテナ]** を選択します。読み取り元のコンテナの名前である *cosmosContainerName* を指定します。

1.  **[Azure Cosmos のカスタムプロパティ]** で、必要に応じてパラメータと値を入力します。

## 詳細オプション
<a name="creating-azurecosmos-connection-advanced-options"></a>

Azure Cosmos DB ノードを作成する際に、高度なオプションを指定できます。これらのオプションは Spark AWS Glue スクリプトのプログラミング時に使用できるオプションと同じです。

「[Azure Cosmos DB 接続](aws-glue-programming-etl-connect-azurecosmos-home.md)」を参照してください。