ディレクトリテーブルのメタデータ自動更新¶
内部ステージまたは外部ステージで、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。
リフレッシュ操作は、メタデータをストレージ内の関連ファイルの最新セットと同期させ、次のタイプの変更に対応して発生します。
パス内の新しいファイルがテーブルメタデータに追加されます。
パス内のファイルは、テーブルメタデータで更新されます。
パス内になくなったファイルは、テーブルメタデータから削除されます。
内部ステージ¶
内部ステージのディレクトリ・テーブルを自動的に更新すると、次のような場合にメタデータが内部の名前付きステージとパスにある関連ファイルの最新のセットと同期されます。
パス内の新しいファイルがテーブルメタデータに追加されます。
パス内のファイルへの変更は、テーブルメタデータで更新されます。
パス内になくなったファイルは、テーブルメタデータから削除されます。
ディレクトリテーブルを有効にした内部名前付きステージの作成¶
CREATE STAGE コマンドを使用して、ディレクトリテーブルを有効にした内部名前付きステージを作成します。Snowflakeは、ステージングされたデータファイルをディレクトリテーブルのメタデータに読み取ります。
CREATE STAGE my_int_stage
  DIRECTORY = (
    ENABLE = TRUE
    AUTO_REFRESH = TRUE
  );
外部ステージ¶
以下のイベント通知サービスを使用すると、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。
- Amazon S3: Amazon SQS (Simple Queue Service) 
- Google Cloud Storage: Google Cloud Pub/Sub 
- Microsoft Azure: Microsoft Azure Event Grid 
自動リフレッシュを設定するには、ファイルが配置されているクラウドストレージサービスのトピックをご参照ください。
クロスクラウドのサポート¶
Snowflakeは、外部ステージのクロスクラウド、クロスリージョンの自動ディレクトリテーブルリフレッシュに対応しています。
次の表は、Snowflakeアカウントをホストしている クラウドプラットフォーム に基づいて、ディレクトリテーブルの自動リフレッシュのためにSnowflakeがサポートするクロスクラウドオプションを示しています。
| Amazon S3 | Google Cloud Storage | Microsoft Azure Blobストレージ | Microsoft Data Lake Storage Gen2 | MicrosoftAzure汎用v2 | |
|---|---|---|---|---|---|
| AWSでホストされているアカウント | ✔ | ✔ | ✔ | ✔ | ✔ | 
| GCPでホストされているアカウント | ✔ | ✔ | ✔ | ✔ | ✔ | 
| Azureでホストされているアカウント | ✔ | ✔ | ✔ | ✔ | ✔ | 
考慮事項¶
- 自動リフレッシュはイベントベースであり、大規模ステージや急成長ステージでは手動リフレッシュよりも優れたパフォーマンスを実現します。 
- 内部ステージの自動リフレッシュは現在、 AWS でホストされているアカウントで利用可能です。Snowflakeは、アカウントがGoogle CloudまたはAzureでホストされている場合、内部ステージでのディレクトリテーブルのメタデータの更新をサポートしていません。 
次のトピック: