Snowpipe Streamingの設定¶
Snowpipe Streamingプロパティ¶
profile.json
ファイルで API 接続設定を構成します。プロパティについては、このトピックで説明します。
Java の例 (GitHub)で示されているように、変数 PROFILE_PATH
への入力としてファイルパスを指定することにより、 profile.json
から設定を読み込むことができます。
必須のプロパティ¶
authorization_type
ユーザーの認証および承認メソッドを構成します。次のいずれかのメソッドを使用します。
JWT
: JSON Webトークン(JWT)によるキーペア認証。このメソッドがデフォルトです。authorization_type
が構成されていない場合、デフォルトのメソッドJWT
が使用されます。キーペア認証用に次のprivate_key
を構成します。private_key
ユーザーを認証するための秘密キー。ヘッダーまたはフッターではなく、キーのみを含めます。キーが複数の行に分割されている場合、改行を削除します。暗号化されていないキーを提供するか、暗号化されたキーを提供して
snowflake.private.key.passphrase
パラメーターを提供し、Snowflakeがキーを復号化できるようにします。このパラメータは、snowflake.private.key
パラメーター値が暗号化されている場合 にのみ 使用します。
OAuth
: Snowflake OAuth。このオプションは、Snowflake Ingest SDK バージョン2.0.3以降でのみ使用できます。profile.json
ファイル内のSnowflake OAuth に対して次のパラメーターを構成します。oauth_client_id
: OAuth 統合のクライアント ID。oauth_client_secret
: OAuth 統合のクライアントシークレット。oauth_refresh_token
: OAuth 統合の有効なリフレッシュトークン。
url
Snowflakeアカウントにアクセスするための URL。この URL には、使用する アカウント識別子 が含まれている必要があります。プロトコル(
https://
)とポート番号はオプションです。すでにSnowflake Ingest SDK を使用しており、
profile.json
ファイルでhost
、scheme
、およびport
プロパティを設定している場合は、url
は必要ありません。user
Snowflakeアカウントのユーザーログイン名。
オプションのプロパティ¶
snowflake.private.key.passphrase
キーが暗号化されている場合に秘密キーを復号化するためのパスフレーズ。詳細については、 キーペア認証およびキーローテーションの使用 (このトピック内) をご参照ください。
role
Snowflakeに接続した後にセッションに使用するアクセス制御ロール。
role
プロパティは、Snowflake Ingest SDK バージョン2.0.3以降ではオプションとなります。これは、Ingest SDK の旧バージョンでは必要です。
認証および承認¶
Snowflake OAuth を使用する¶
Snowflake Ingest SDK バージョン2.0.3以降、またはKafkaバージョン2.1.2用Snowflakeコネクタでは、認証方法として Snowflake OAuth を使用できます。
ワークフロー に従ってSnowflake OAuth 統合を作成し、 OAuth エンドポイントを呼び出して認証コードを要求してアクセストークンをリフレッシュします。トークンリクエストの応答には oauth_refresh_token
が含まれます。Snowflakeの OAuth 統合 が作成されたら、 SYSTEM$SHOW_OAUTH_CLIENT_SECRETS 関数を実行して oauth_client_id
と oauth_client_secret
を取得します。
Snowflake OAuth を有効にするには、 profile.json
ファイルの authorization_type
を OAuth
に設定し、 oauth_refresh_token
、 oauth_client_id
、 oauth_client_secret
フィールドに上記で取得したパラメーターを入力します。
キーペア認証とキーローテーションの使用¶
API 呼び出しは、 JSON Webトークン(JWT)によるキーペア認証に依存しています。JWTs では、 RSA 暗号化を使用した公開/秘密キーペアを使用して署名されます。この認証方法には、2048ビット(最小)の RSA キーペアが必要です。 OpenSSLを使用して公開キーと秘密キーのペアを生成します。公開キーは、プロパティファイルで定義されたSnowflakeユーザーに割り当てられます。
キーペアのローテーション で説明されているキーペアの認証手順を完了します。秘密キー全体をコピーして、プロパティファイルの snowflake.private.key
フィールドに貼り付けます。ファイルを保存します。
フィンガープリントを作成して JWT トークンを生成する例については、 Javaの例 をご参照ください。
次に、 シークレットの外部化 (このトピック内) の推奨事項を評価します。
例¶
クライアント SDK を使用してSnowpipe Streamingアプリケーションをビルドする方法を示す簡単な例については、 このJavaファイル (GitHub)をご参照ください。
クイックスタートの例: