Snowflake Data Cloud Connector > 部 III: Snowflake Data Cloud Connectorを使用したSQL ELT > SQL ELTの準備 > Microsoft Azure Data Lake Storage Gen2コンテナ内のデータファイルへのアクセス
  

Microsoft Azure Data Lake Storage Gen2コンテナ内のデータファイルへのアクセス

Microsoft Azure Data Lake Storage Gen2からSnowflakeにデータをロードするには、Microsoft Azure Data Lake Storage Gen2コンテナ内のデータファイルへのアクセス権が割り当てられている必要があります。
この操作を行うには、次の手順を実行します。
  1. 1データの読み取りを行うMicrosoft Azure Data Lake Storage Gen2コンテナの詳細を含むクラウドストレージ統オブジェクトを作成します。
  2. 2Snowflakeでクラウドストレージ統合を作成した後に、[追加のJDBC URLパラメータ]接続プロパティでクラウドストレージ統合の名前を指定します。
  3. ストレージ統合の値は大文字と小文字が区別されます。
Snowflake Data Cloud Connectorは、作成したクラウドストレージ統合を使用する一時的な外部ステージを作成します。

Microsoft Azure Data Lake Storage Gen2のストレージ統合の設定

SnowflakeがMicrosoft Azure Data Lake Storage Gen2コンテナからデータを読み取れるようにするためのストレージ統合を作成します。
Snowflakeドキュメントを参照して、次の手順を実行できます。
    1Snowflakeでクラウドストレージ統合を作成します。
    2Snowflakeアカウント用のCloud Storage Serviceアカウントを取得します。格納場所へのアクセス権の付与を参照してください。
    3バケットオブジェクトにアクセスするためのアクセス権をサービスアカウントに付与します。
    1. aカスタムIAMロールを作成します。
    2. bカスタムロールをCloud Storage Serviceアカウントに割り当てます。
    4 外部ステージを作成するための権限をロールに付与します。
    ロールには、スキーマに対するCREATE STAGE特権と、ストレージ統合に対するUSAGE特権が必要です。
    例えば、次のようなコマンドを実行して、これらの特権を付与します。
    grant create stage on schema public to role myrole;
    grant usage on integration adls_int to role myrole;

格納場所へのアクセス権の付与

SnowflakeサービスのプリンシパルアクセスをAzureサービスのストレージアカウントに付与します。
    1DESCRIBE INTEGRATIONコマンドを実行して、次の同意URLを取得します: desc storage integration <integration_name>;
    ここで、integration_nameは、作成した統合の名前です。
    AZURE_CONSENT_URLカラムのURLの形式は次のとおりです。
    https://login.microsoftonline.com/<tenant_id>/oauth2/authorize?client_id=<snowflake_application_id
    AZURE_MULTI_TENANT_APP_NAMEカラムの値をコピーします。これは、アカウント用に作成されたSnowflakeクライアントアプリケーションの名前です。この情報は、格納場所のアクセストークンを取得するために必要なアクセス権をこのアプリケーションに付与するために必要です。
    2Webブラウザで、AZURE_CONSENT_URLURLカラムのURLに移動します。
    ページに、Microsoftのアクセス権要求ページが表示されます。
    3[承認]をクリックします。
    これにより、Snowflakeアカウント用に作成したAzureサービスプリンシパルが、テナント内の任意のリソースでアクセストークンを取得できるようになります。アクセストークンは、コンテナに対する適切な権限をサービスプリンシパルに付与した場合にのみ正常に生成されます。
    4Microsoft Azureポータルにログインします。
    5[Azureサービス] > [ストレージアカウント]に移動し、Snowflakeサービスのプリンシパルアクセスを許可するストレージアカウントの名前をクリックします。
    6[アクセス制御(IAM)] > [ロールの割り当ての追加]をクリックします。
    7Snowflakeサービスプリンシパルに付与する必要のあるロールを選択します。
    8Snowflakeサービスプリンシパルを検索します。
    これは、手順1のDESC STORAGE INTEGRATION出力のAZURE_MULTI_TENANT_APP_NAMEプロパティのIDです。Microsoft要求ページから要求したSnowflakeサービスプリンシパルがAzureで作成されるまでに1時間以上かかる場合があります。サービスプリンシパルがすぐに利用できない場合は、1~2時間待ってから、もう一度検索を実行することをお勧めします。サービスプリンシパルを削除すると、ストレージ統合は機能しなくなります。
    9[保存]をクリックします。
    ロールの割り当てが有効になるまでに5分ほどかかる場合があります。