

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# UDFs escalares do Python
<a name="udf-creating-a-scalar-udf"></a>

Uma UDF Python escalar incorpora um programa Python que é executado quando a função é chamada e retorna um valor único. O comando [CREATE FUNCTION](r_CREATE_FUNCTION.md) define os seguintes parâmetros:
+ Argumentos de entrada (opcionais). Cada argumento deve ter um nome e um tipo de dados. 
+ Um tipo de dados de retorno.
+ Um programa Python executável.

Os tipos de dados de entrada e de retorno para UDFs Python podem ser qualquer um destes:
+  SMALLINT 
+  INTEGER 
+  BIGINT 
+  DECIMAL 
+  REAL 
+  DOUBLE PRECISION 
+  BOOLEAN 
+  CHAR 
+  VARCHAR 
+  DATE 
+  TIMESTAMP 
+  ANYELEMENT 

Os aliases desses tipos também são válidos. Para ver uma lista completa dos tipos de dados e os respectivos aliases, consulte [Tipos de dados](c_Supported_data_types.md).

Quando UDFs Python podem usar o tipo de dados ANYELEMENT, o Amazon Redshift converte automaticamente em um tipo de dados padrão com base nos argumentos fornecidos em tempo de execução. Para obter mais informações, consulte [Tipo de dados ANYELEMENT](udf-data-types.md#udf-anyelement-data-type).

Quando uma consulta do Amazon Redshift chama uma UDF escalar, as seguintes etapas ocorrem no tempo de execução:

1. A função converte os argumentos de entrada para tipos de dados Python.

   Para obter um mapeamento de tipos de dados Amazon Redshift para tipos de dados Python, consulte [Tipos de dados da UDF Python](udf-data-types.md).

1. A função executa o programa Python, passando os argumentos de entrada convertidos.

1. O código Python retorna um único valor. O tipo de dados do valor de retorno deve corresponder ao tipo de dados de RETURNS especificado pela definição da função.

1. A função converte o valor de retorno do Python no tipo de dados Amazon Redshift especificado e, em seguida, retorna esse valor para a consulta.

**nota**  
O Python 3 não está disponível para UDFs do Python. Para obter suporte ao Python 3 para UDFs do Amazon Redshift, use [UDFs escalares do Lambda](udf-creating-a-lambda-sql-udf.md).