

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# スカラー Python UDF
<a name="udf-creating-a-scalar-udf"></a>

スカラー Python UDF には、関数が呼び出されると実行され、単一値を返す Python プログラムが組み込まれています。[CREATE FUNCTION](r_CREATE_FUNCTION.md) コマンドは以下のパラメータを定義します。
+ (省略可能) 入力引数。各引数に名前とデータ型がある必要があります。
+ 1 つの戻りデータ型。
+ 1 つの実行可能な Python プログラム。

Python UDF の入力データ型と戻りデータ型は、以下のいずれかのタイプになります。
+  SMALLINT 
+  INTEGER 
+  BIGINT 
+  DECIMAL 
+  REAL 
+  DOUBLE PRECISION 
+  BOOLEAN 
+  CHAR 
+  VARCHAR 
+  DATE 
+  TIMESTAMP 
+  ANYELEMENT 

これらのタイプのエイリアスも有効です。データ型とそのエイリアスの完全なリストについては、「[データ型](c_Supported_data_types.md)」を参照してください。

Python UDF が ANYELEMENT データタイプを使用する際、Amazon Redshift によって、ランタイム時に示される引数のデータタイプに基づく標準データタイプに自動的に変換されます。詳細については、「[ANYELEMENT データ型](udf-data-types.md#udf-anyelement-data-type)」を参照してください。

Amazon Redshift クエリがスカラー UDF を呼び出すと、以下のステップがランタイム時に発生します。

1. 関数が入力引数を Python データ型に変換します。

   Amazon Redshift データ型と Python データ型のマッピングについては、「[Python UDF データ型](udf-data-types.md)」を参照してください。

1. 関数が Python プログラムを実行し、変換した入力引数を渡します。

1. Python コードが単一値を返します。戻り値のデータ型は、関数定義で指定されている RETURNS データ型と対応している必要があります。

1. 関数が Python の戻り値を、指定されている Amazon Redshift データ型に変換してから、その値をクエリに返します。

**注記**  
Python 3 は Python UDF では使用できません。Amazon Redshift UDF に対する Python 3 のサポートを取得するには、[スカラー Lambda UDF](udf-creating-a-lambda-sql-udf.md) を代わりに使用します。