Benutzerdefinierte Funktionen in Amazon Redshift - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Benutzerdefinierte Funktionen in Amazon Redshift

Sie können eine benutzerdefinierte Skalar-UDF (user-defined function) erstellen, indem Sie entweder eine SQL SELECT-Klausel oder ein Python-Programm verwenden. Die neue Funktion ist in der Datenbank gespeichert und steht jedem Benutzer mit ausreichenden Berechtigungen zur Ausführung zur Verfügung. Sie führen eine benutzerdefinierte skalare UDF genauso aus wie bestehende Amazon-Redshift-Funktionen.

Dabei sind Sie hinsichtlich Python-UDFs nicht auf die Standardfunktionalität von Python beschränkt, sondern Sie können auch benutzerdefinierte Python-Module importieren. Weitere Informationen finden Sie unter Python-Sprachunterstützung für UDFs. Beachten Sie, dass Python 3 nicht für Python-UDFs verfügbar ist. Um Python 3-Unterstützung für Amazon-Redshift-UDFs zu erhalten, müssen Sie stattdessen Skalare Lambda-UDFs verwenden.

Sie können auch AWS Lambda-UDFs erstellen, die benutzerdefinierte Funktionen verwenden, die in Lambda als Teil Ihrer SQL-Abfragen definiert sind. Lambda-UDFs ermöglichen es Ihnen, komplexe UDFs zu schreiben und in Komponenten von Drittanbietern zu integrieren. Sie können auch helfen, einige der Einschränkungen aktueller Python- und SQL-UDFs zu überwinden. So können Sie beispielsweise auf Netzwerk- und Speicherressourcen zugreifen und vollwertige SQL-Anweisungen schreiben. Sie können Lambda-UDFs in allen von Lambda unterstützten Programmiersprachen erstellen, z. B. Java, Go, PowerShell, Node.js, C#, Python und Ruby. Sie können auch eine benutzerdefinierte Laufzeit verwenden.

Standardmäßig können alle Benutzer UDFs ausführen. Weitere Informationen zu Rechten finden Sie in UDF-Sicherheit und -Berechtigungen.