Openflow Connector for Excel を設定する¶
注釈
コネクタには、 コネクタ利用規約 が適用されます。
このトピックでは、 Openflow Connector for Excel を設定する手順について説明します。
前提条件¶
Openflow Connector for Excel について を確認してください。
Openflowを設定した ことを確認します。
認証情報を取得する¶
このセクションでは、コネクタを構成するための認証情報を取得する手順について説明します。データソースによって異なります、
AWS 認証情報を取得する¶
AWS 管理者として、以下のタスクを実行します。
AWS IAM コンソールにログインします。
Users の下にある番号を選択し、次に Create user を選択します。
ユーザー名、グループ、および必要に応じて追加の権限を指定します。ユーザーは、S3バケットからコネクタによって読み取られたオブジェクトに対して、少なくとも
s3:GetObject
アクセス権を持っている必要があります。ユーザーが作成されたら、ユーザーのビューで、 Security Credentials » Access Keys に移動します。
Create access key を選択します。新しいアクセスキーは、特定のリソースへのアクセス権のみを付与する必要があります。セキュリティとアクセス制御を強化するため、Snowflakeでは特定のS3バケットにのみアクセスを許可することを推奨しています。
Access Key および Secret Access Key に留意してください。
Snowflakeアカウントを設定する¶
Snowflakeアカウント管理者として、以下のタスクを実行します。
新しいロールを作成するか、既存のロールを使用します。
タイプを SERVICE として、新しいSnowflakeサービスユーザーを作成します。
Snowflakeサービスユーザーに、前の手順で作成したロールを付与します。
ステップ2のSnowflake SERVICE ユーザーを key-pair auth で構成します。
強く推奨 Openflowがサポートするシークレットマネージャ(AWS、Azure、Hashicorpなど)を構成し、公開キーと秘密キーをシークレットストアに格納します。
注釈
シークレットマネージャを使用しない場合は、組織のセキュリティポリシーに従って、キーペア認証に使用する公開キーと秘密キーファイルを保護する責任があります。
シークレットマネージャを構成したら、その認証方法を決定します。AWS 上では、他のシークレットを永続化する必要がないように、Openflowに関連付けられた EC2 インスタンスロールを使用することを推奨します。
Openflowで、右上のハンバーガーメニューから、このSecrets Managerに関連する Parameter Provider を構成します。 Controller Settings » Parameter Provider に移動し、パラメーターの値をフェッチします。
この時点で、すべての認証情報を関連するパラメーターパスで参照することができるため、機密性の高い値をOpenflow内で永続化する必要はありません。
他のSnowflakeユーザーが、コネクタによって取り込まれた生の取り込みドキュメントやとテーブルへのアクセスを必要とする場合は(Snowflakeでのカスタム処理のためなど)、それらのユーザーにステップ1で作成したロールを付与します。
取り込んだデータを格納するコネクタ用に、Snowflakeでデータベースとスキーマを作成します。最初のステップで作成したロールに必要な データベース権限 を付与します。ロールのプレースホルダーを実際の値で置き換え、以下の SQL コマンドを使用します。
CREATE DATABASE excel_destination_db; CREATE SCHEMA excel_destination_db.excel_destination_schema; GRANT USAGE ON DATABASE excel_destination_db TO ROLE <excel_connector_role>; GRANT USAGE ON SCHEMA excel_destination_db.excel_destination_schema TO ROLE <excel_connector_role>; GRANT CREATE TABLE ON SCHEMA excel_destination_db.excel_destination_schema TO ROLE <excel_connector_role>;
コネクタで使用するウェアハウスを作成するか、既存のウェアハウスを使用します。まずは最小のウェアハウスサイズから始め、複製するテーブルの数や転送するデータ量に応じて異なるサイズを試してみてください。テーブル数が大きい場合は、通常、ウェアハウスのサイズを大きくするよりも、 マルチクラスターウェアハウス を使用した方がスケーリングが向上します。
コネクタで使用するロールを持つユーザーが、ウェアハウスを使用するために必要な権限を持っていることを確認します。権限がない場合は、ロールに必要な権限を付与してください。
CREATE WAREHOUSE excel_connector_warehouse WITH WAREHOUSE_SIZE = 'X-Small'; GRANT USAGE ON WAREHOUSE excel_connector_warehouse TO ROLE <excel_connector_role>;
コネクタを設定する¶
データエンジニアとして、以下のタスクを実行してコネクタをインストールおよび構成します。
コネクタをインストールする¶
Openflowの概要ページに移動します。 Featured connectors セクションで、 View more connectors を選択します。
Openflowのコネクタページでコネクタを探し、 Add to runtime を選択します。
Select runtime ダイアログで、 Available runtimes ドロップダウンリストからランタイムを選択します。
Add を選択します。
注釈
コネクタをインストールする前に、コネクタが取り込んだデータを格納するためのデータベースとスキーマをSnowflakeで作成したことを確認します。
Snowflakeアカウント認証情報でデプロイメントを認証し、Snowflakeアカウントへのランタイムアプリケーションのアクセスを許可するよう求められたられたら、 Allow を選択します。コネクタのインストールプロセスは数分で完了します。
Snowflakeアカウント認証情報でランタイムを認証します。
コネクタプロセスグループが追加されたOpenflowキャンバスが表示されます。
コネクタを構成する¶
サポートされているシークレットマネージャから、コネクタが必要とする すべての シークレット(キーペア認証の秘密キーや証明書など)をフェッチするようにコネクタを構成します。
インポートしたプロセスグループを右クリックし、 Parameters を選択します。
フローパラメーター の説明に従って、必要なパラメーター値を入力します。
フローパラメーター¶
このセクションでは、データソースとパラメーターコンテキストに基づいて構成できるフローパラメーターについて説明します。
フローパラメーター: Amazon S3の場合¶
Microsoft Excel(S3~Snowflake)取り込みパラメーター¶
パラメーター |
説明 |
必須 |
---|---|---|
宛先テーブルプレフィックス |
Excelファイルから取得したデータが永続化される宛先スキーマのテーブルのプレフィックス。テーブルはコネクタによって自動的に作成されます。 |
無し |
ファイルパスワード |
Excelファイルを保護するパスワード。保護タイプが |
無し |
プロテクションタイプ |
Excelファイルの保護タイプ。この値には、ファイルが保護されていない場合は |
有り |
範囲 |
値を取得するコンマで区切られた範囲のA1表記。例: Sheet1!A1:B2、Sheet2!D4:E5、Sheet3.選択範囲の最初の行は列名を表す必要があります。指定しない場合は、ワークブック全体が取り込まれます。指定された範囲は、 |
無し |
S3バケット |
ExcelファイルをフェッチするS3バケット。 |
有り |
S3オブジェクトキー |
フェッチするExcelファイルを含むS3バケット内のコンマで区切られたオブジェクトキーのリスト。例: |
有り |
スケジュール |
コネクタ取り込みのスケジュール。 |
有り |
Microsoft Excel(S3~Snowflake)ソースパラメーター¶
パラメーター |
説明 |
必須 |
---|---|---|
AWS アクセスキー ID |
Excelファイルのフェッチに使用される AWS ユーザーのアクセスキー ID。 |
有り |
AWS シークレットアクセスキー |
Excelファイルのフェッチに使用される AWS ユーザーのシークレットアクセスキー。 |
有り |
AWS 地域 |
S3バケットが存在する AWS リージョン。 |
有り |
Microsoft Excel(S3~Snowflake)宛先パラメーター¶
パラメーター |
説明 |
必須 |
---|---|---|
宛先データベース |
データを取り込むSnowflakeデータベースの名前(大文字と小文字を区別)。 |
有り |
宛先スキーマ |
テーブルが作成されるSnowflakeスキーマの名前(大文字と小文字を区別)。 |
有り |
Snowflakeアカウント識別子 |
Excelファイルから取得したデータが永続化されるSnowflakeアカウント名(形式: [organization-name]- [account-name])。 |
有り |
Snowflake秘密キー |
PKCS8 標準に従って書式設定され、標準的な PEM ヘッダーとフッターを含む、キーペア認証に使用される秘密キー。 |
有り |
Snowflake秘密キーパスワード |
Snowflake秘密キーのパスワード。キーがパスワードで保護されていない場合は、値を指定しないでください。 |
無し |
Snowflakeロール |
コネクタで使用されるSnowflakeロール。 |
有り |
Snowflakeユーザー |
Snowflakeアカウントのユーザー名。 |
有り |
Snowflakeウェアハウス |
宛先テーブルにデータを挿入する際にクエリを実行するために使用されるSnowflakeウェアハウス。 |
有り |
フローを実行する¶
プレーンを右クリックし、 Enable all Controller Services を選択します。
インポートしたプロセスグループを右クリックし、 Start を選択します。コネクタがデータの取り込みを開始します。
生成されたテーブル名¶
コネクタは、以下のテンプレートを使用して名前を付けた宛先テーブルを作成します: {PREFIX}{FILENAME}_{RANGE}
。名前は常に 二重引用符で囲まれた識別子 になります。
{PREFIX}
は、prfx_
のように、Destination Table Prefix
パラメーターの値で置き換えられます。{FILENAME}
は、file1.xlsx
やfolder/file2.xlsx
のように、取り込まれたファイルのフルパスに置き換えられます。{RANGE}
は次に置き換えられます。Ranges
パラメーターの値が空の場合、取り込まれたシートの名前。Sheet1!A1:B2
のように、Ranges
パラメーターで指定された取り込み範囲のある取り込まれたシートの名前。
生成されたテーブル名の例:
"file1.xlsx_Sheet1"
"prfx_folder/file2.xlsx_Sheet1!A1:B2"
(オプション)現在実行中のコネクタを再構成する¶
コネクタのパラメーターは、コネクタがデータの取り込みを開始した後で再構成できます。取り込まれたファイルや範囲を変更する必要がある場合は、以下の手順を実行して、データが適切にSnowflakeに送信されるようにします。
コネクタを停止する: すべてのOpenflowプロセッサーが停止していることを確認します。
構成設定にアクセスする: Openflow内のコネクタの構成設定に移動します。
パラメーターを変更する: 必要に応じてパラメーターを調整します。
コネクタを起動する: コネクタを起動し、すべてのコントローラサービスが起動していることも確認します。