アプリのロギングとイベントトレースを設定する¶
このトピックでは、プロバイダーがログメッセージとトレースイベントを記録するために Snowflake Native App を設定する方法について説明します。
アプリのログメッセージとトレースイベントについて¶
Snowflake Native App Framework は、アプリに関する情報を収集するために、Snowflake のロギングとトレース 機能の使用をサポートしています。プロバイダーは、以下のことを記録・分析するアプリを設定することができます:
ログメッセージ は、コードの特定部分の状態に関する情報を含む、独立した詳細なメッセージです。
構造化データを使用した トレースイベント は、プロバイダーがコードの複数の部分にまたがる情報やグループ化された情報を取得するために使用できます。トレース・イベントは、アプリがそのパフォーマンスや動作に関連する情報を発信することを可能にします。
アプリがログメッセージとトレースイベントを出力するように設定するには、プロバイダーはマニフェストファイルでログレベルとトレースレベルを設定します。 アプリのログとトレースのレベルを設定する をご参照ください。
プロバイダーは、コンシューマがログメッセージとトレースイベントをプロバイダーと共有できるように、イベント共有を使用するようにアプリを構成することもできます。詳しくは イベントの共有について をご参照ください。
イベント共有について¶
イベント共有により、プロバイダーはアプリのパフォーマンスや動作に関する情報を収集できます。プロバイダーは、コンシューマがログメッセージとトレースイベントをプロバイダーと共有することを要求するように、アプリを構成することができます。イベント共有は、プロバイダーとコンシューマーが、アプリによって発行されたログメッセージとトレースイベントを保存するために、アカウントにイベントテーブルを設定することを必要とします。
イベント共有が有効な場合、コンシューマ・アカウントのイベント・テーブルに挿入されるログ・メッセージとトレース・イベントは、プロバイダー・アカウントのイベント・テーブルにも挿入されます。
イベント共有を使用する際の考慮事項¶
アプリのロギングとイベント共有を設定する前に、プロバイダーは以下を考慮する必要があります:
プロバイダーは、データインジェスチョンやストレージなど、プロバイダー側でのイベント共有に関連するすべてのコストを負担します。
プロバイダーは、イベント共有をサポートする各リージョンで、 共有イベントを保存するためのアカウント を持っている必要があります。
プロバイダーは、マニフェストファイルで、アプリケーションのデフォルトのログレベルとトレースレベルを定義する必要があります。
注釈
イベント共有は、ベースとなるアプリケーションパッケージと同じアカウントにインストールされているアプリでは有効にできません。アプリのイベント共有をテストするには、プロバイダーは複数のアカウントを使用する必要があります。
以前のイベント共有機能から移行する際の注意点¶
既存のイベント共有機能からイベント定義の使用に移行する場合、プロバイダーは以下を考慮する必要があります。
以前のイベント共有機能は、 OPTIONAL ALL のイベント定義に相当します。
以前の機能を使用していたアプリの公開バージョンとパッチは、デフォルトで OPTIONAL ALL イベント定義を持ちます。プロバイダーは、このイベント定義をマニフェスト・ファイルに追加する必要はありません。
イベント定義の使用を開始するには、プロバイダーはサポートされているイベント定義をマニフェストファイルに追加します。これは新規アプリだけでなく、既存アプリの新バージョンやパッチにも適用されます。
注釈
より詳細なログとイベントの共有を要求し始めるには、プロバイダーはマニフェストファイルにイベント定義を追加するだけでよいです。プロバイダーは他に何もする必要はありません。
ワークフロー - アプリのイベント共有を設定する¶
イベント共有は、コンシューマがプロバイダーとログメッセージやトレースイベントを共有することを可能にします。
以下のワークフローは、アプリのイベント共有を設定し、有効にする方法を示しています:
プロバイダー は、アプリのログとトレース・レベル を設定します。
プロバイダー はイベント定義 をマニフェストファイルに追加します。
イベント定義は、アプリが発するログメッセージとトレースイベントのフィルターとして機能します。プロバイダーは、イベント定義を必須または任意に設定できます。
プロバイダーは 、組織内にイベントテーブル を設定します。
プロバイダーはアプリを公開します。
消費者がアプリをインストールすると、イベントテーブルを設定し、イベント共有を有効にすることができます。イベント共有のためのコンシューマ要件の詳細については、 Enable logging and event sharing for an app をご参照ください。