

 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/)を参照してください。

# Amazon Redshift のユーザー定義関数
<a name="user-defined-functions"></a>

カスタムスカラーのユーザー定義関数 (UDF) は、SQL SELECT 句または Python プログラムを使用して作成できます。新しい関数はデータベースに保存され、適切な実行権限を持つすべてのユーザーが使用できます。既存の Amazon Redshift 関数を実行するのとほぼ同じ方法で、カスタムスカラー UDF を実行します。

Python UDF の場合、標準の Python 機能を使用できるだけではなく、独自のカスタム Python モジュールをインポートできます。詳細については、「[UDF のための Python 言語のサポート](udf-python-language-support.md)」を参照してください。Python 3 は Python UDF では使用できないことに注意してください。Amazon Redshift UDF に対する Python 3 のサポートを取得するには、[スカラー Lambda UDF](udf-creating-a-lambda-sql-udf.md) を代わりに使用します。

また、SQL クエリの一部として Lambda で定義されたカスタム関数を使用する、AWS Lambda UDF を作成することもできます。Lambda UDF を使用すると、複雑な UDF を作成し、サードパーティーのコンポーネントと統合できます。また、現在の Python および SQL UDF 制限のいくつかを克服することもできます。たとえば、ネットワークリソースやストレージリソースにアクセスし、より本格的な SQL ステートメントを作成することができます。Lambda UDF は、Java、Go、PowerShell、Node.js、C\$1、Python、Ruby など、Lambda でサポートされている任意のプログラミング言語で作成できます。または、カスタムランタイムを使用できます。

デフォルトでは、すべてのユーザーが UDF を実行できます。権限の詳細については、「[UDF のセキュリティとアクセス許可](udf-security-and-privileges.md)」を参照してください。

**Topics**
+ [UDF のセキュリティとアクセス許可](udf-security-and-privileges.md)
+ [UDF 名の競合の回避](udf-naming-udfs.md)
+ [スカラー SQL UDF](udf-creating-a-scalar-sql-udf.md)
+ [スカラー Python UDF](udf-creating-a-scalar-udf.md)
+ [スカラー Lambda UDF](udf-creating-a-lambda-sql-udf.md)
+ [ユーザー定義関数 (UDF) のユースケース例](udf-example-uses.md)