URI からファイルをダウンロードし、その内容をバイト配列として返します。
エンジン要件
FETCH_CONTENT 関数は、Ververica Runtime (VVR) 11.6.0 以降でのみサポートされています。
構文
VARBINARY FETCH_CONTENT(VARCHAR uri)
VARBINARY FETCH_CONTENT(VARCHAR uri, INTEGER httpRetryCount)
パラメーター
|
パラメーター |
タイプ |
説明 |
|
uri |
VARCHAR |
ダウンロードするファイルの URI。サポートされている URI スキームには、HTTP、HTTPS、および Flink ファイルシステムでサポートされているスキーマが含まれます。
|
|
httpRetryCount |
INTEGER |
(任意) HTTP リクエストのリトライ回数。このパラメーターは、HTTP および HTTPS URI にのみ適用されます。デフォルト値は 3 です。 |
-
uriが NULL の場合、関数は NULL を返します。NULL ではないuriの場合、ダウンロードに失敗すると例外をスローします。 -
uriが OSS パスを指定する場合は、認証情報を設定する必要があります。詳細については、「バケット認証の設定」をご参照ください。 -
httpRetryCountが負の値または NULL の場合、デフォルト値を使用します。
戻り値
|
タイプ |
説明 |
|
VARBINARY |
ファイルの内容 |
例 1
-
テストデータ
表 1:T1
input
uri (VARCHAR)
1
http://example.com/image_url
2
oss://example-bucket/example.pdf
3
NULL
-
テストクエリ
SELECT id, FETCH_CONTENT(uri) AS `value` FROM T1; -
テスト結果
id (INT)
value (VARBINARY)
1
x'ffd8ffe00010......'
2
x'aaffd8ffe000......'
3
NULL
例 2
-
テストデータ
表 1:T2
id (INT)
uri (VARCHAR)
1
http://example.com/image_url
2
http://example.com/not_exist_image_url
-
テストクエリ
SELECT id, FETCH_CONTENT(uri, 5) AS `value` FROM T2; -
テスト結果
id (INT)
value (VARBINARY)
1
x'ffd8ffe00010......'
URL が存在しない場合、関数は 5 回のリトライ後に例外をスローします。
Caused by: java.io.IOException: HTTP request failed with response code: 404 for URL
関連情報
-
組み込み関数の詳細については、「サポートされている関数」をご参照ください。
-
ユーザー定義関数 (UDF) を使用するには、「UDF」と「ユーザー定義関数 (UDF) の管理」をご参照ください。