サービス接続の登録¶
このトピックでは、Snowflakeまたはサードパーティサービス(例えば、Apache Spark™)にサービス接続認証情報を登録する方法について説明します。Snowflakeオープンカタログ管理者がサービス接続を登録します。
このトピックのコード例は、Sparkでサービス接続を登録する方法を示しており、コード例は PySpark を使用しています。
前提条件¶
サービス接続を登録する前に、サービス接続を構成する必要があります。手順については、サービス接続の設定をご参照ください。
サービス接続の登録¶
以下のコード例は、単一のサービス接続を登録するためのものです。
注意
複数のサービス接続を登録することもできます。 詳細については、例2:2つのサービス接続を登録します
パラメーター¶
パラメーター |
説明 |
|---|---|
|
接続先のカタログ名を指定します。 |
|
外部クラウドストレージプロバイダーのMaven座標を指定します。
|
|
サービスプリンシパルが使用するクライアント ID を指定します。 |
|
サービスプリンシパルが使用するクライアントシークレットを指定します。 |
|
オープンカタログアカウントのアカウント識別子を指定します。 |
|
サービスプリンシパルに付与されるプリンシパルロールを指定します。 |
クロスリージョンサービス接続の登録(Amazon S3のみ)¶
以下のコード例は、次のような場合にサービス接続を登録するためのものです。
オープンカタログアカウントがAmazon S3でホストされている。
外部ストレージのプロバイダーがAmazon S3である。
オープンカタログアカウントがApache Iceberg™テーブルを含むストレージバケットがあるS3リージョンとは異なるS3リージョンでホストされている。
パラメーター¶
パラメーター |
説明 |
|---|---|
|
接続先のカタログ名を指定します。 |
|
サービスプリンシパルが使用するクライアント ID を指定します。 |
|
サービスプリンシパルが使用するクライアントシークレットを指定します。 |
|
オープンカタログアカウントのアカウント識別子を指定します。アカウントのリージョンやクラウドプラットフォームによっては、この識別子はそれ自体がアカウントのロケータになることもあれば(例えば、 |
|
Apache Icebergテーブルを含むS3バケットがあるリージョンコードを指定します。リージョンコードについては、AWS サービスエンドポイント をご覧になり、表のリージョン列をご参照ください。 |
|
サービスプリンシパルに付与されるプリンシパルロールを指定します。 |
例¶
このセクションでは、Sparkでサービス接続を登録する例について説明します。
例1:単一のサービス接続を登録する(S3)¶
例2:2つのサービス接続を登録する(S3)¶
重要
複数のサービス接続を登録する場合、最初の接続のコード内の
opencatalogインスタンスを、後続の各接続のコード内の一意のテキストに変更する必要があります。例えば、以下のコードでは、最初の接続のopencatalogインスタンスは、2番目の接続のopencatalog1に変更されます。
例3:単一のサービス接続を登録する(Googleのクラウドストレージ)¶
例4:単一のサービス接続を登録する(Azure)¶
オープンカタログへの接続の確認¶
Sparkがオープンカタログに接続されていることを確認するには、カタログの名前空間をリスト表示します。詳細については、名前空間のリスト表示をご参照ください。