

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# CREATE LIBRARY
<a name="r_CREATE_LIBRARY"></a>

Installiert eine Python-Bibliothek, die der Benutzer einschließen kann, wenn mit dem Befehl [CREATE FUNCTION](r_CREATE_FUNCTION.md) eine benutzerdefinierte Funktion (User-Defined Function, UDF) erstellt wird. Die Gesamtgröße von Bibliotheken, die von Benutzern installiert werden, darf 100 MB nicht überschreiten. 

CREATE LIBRARY kann nicht innerhalb eines Transaktionsblocks ausgeführt werden (BEGIN ... END). Weitere Informationen Transaktionen finden Sie unter [Isolierungsstufen in Amazon Redshift](c_serial_isolation.md). 

Amazon Redshift unterstützt Python Version 2.7. Weitere Informationen erhalten Sie unter [www.python.org](https://www.python.org/).

Weitere Informationen finden Sie unter [Beispiel: Importieren von benutzerdefinierten Python-Bibliotheksmodulen](udf-importing-custom-python-library-modules.md). 

## Erforderliche Berechtigungen
<a name="r_CREATE_LIBRARY-privileges"></a>

Für CREATE LIBRARY sind folgende Berechtigungen erforderlich:
+ Superuser
+ Benutzer mit der Berechtigung CREATE LIBRARY oder mit der Berechtigung für die angegebene Sprache

## Syntax
<a name="r_CREATE_LIBRARY-synopsis"></a>

```
CREATE [ OR REPLACE ] LIBRARY library_name LANGUAGE plpythonu
FROM
{ 'https://file_url'
| 's3://bucketname/file_name'
authorization
  [ REGION [AS] 'aws_region']
  IAM_ROLE { default | ‘arn:aws:iam::<AWS-Konto-id>:role/<role-name>’ }
}
```

## Parameters
<a name="r_CREATE_LIBRARY-parameters"></a>

OR REPLACE  
Gibt an, dass die vorhandene Bibliothek ersetzt wird, wenn bereits eine Bibliothek mit dem gleichen Namen vorhanden ist. REPLACE führt sofort einen Commit aus. Wenn gleichzeitig eine UDF ausgeführt wird, die von der Bibliothek abhängig ist, schlägt die UDF möglicherweise fehl oder gibt unerwartete Ergebnisse zurück, auch wenn die UDF innerhalb einer Transaktion ausgeführt wird. Sie müssen der Besitzer oder ein Superuser sein, um eine Bibliothek zu ersetzen.

 *library\$1name*   
Das Name der Bibliothek, die installiert werden soll. Die erstellten Bibliotheken dürfen jedoch nicht genauso heißen wie die integrierten Python-Standardbibliotheksmodule oder die vorinstallierten Amazon-Redshift-Python-Module. Wenn eine vorhandene, benutzerinstallierte Bibliothek dasselbe Python-Paket wie die Bibliothek verwendet, die installiert werden soll, müssen Sie die vorhandene Bibliothek entfernen, bevor Sie die neue Bibliothek installieren. Weitere Informationen finden Sie unter [Python-Sprachunterstützung für UDFs](udf-python-language-support.md).

LANGUAGE plpythonu  
Die Sprache, die verwendet werden soll. Python (plpythonu) ist die einzige unterstützte Sprache. Amazon Redshift unterstützt Python Version 2.7. Weitere Informationen erhalten Sie unter [www.python.org](https://www.python.org/).

FROM  
Der Speicherort der Bibliotheksdatei. Sie können einen Amazon-S3-Bucket und -Objektnamen angeben oder eine URL, um die Datei von einer öffentlichen Website herunterzuladen. Die Bibliothek muss als `.zip`-Datei gepackt sein. Weitere Informationen finden Sie unter [Erstellen und Installieren von Python-Modulen](https://docs.python.org/2/library/distutils.html?highlight=distutils#module-distutils) in der Python-Dokumentation.

 https://*file\$1url*   
Die URL für den Download der Datei von einer öffentlichen Website. Die URL kann bis zu drei Umleitungen enthalten. Im Folgenden wird ein Beispiel für eine Datei-URL gezeigt.  

```
'https://www.example.com/pylib.zip'
```

 s3://*bucket\$1name/file\$1name*   
Der Pfad zu einem einzelnen Amazon-S3-Objekt, das die Bibliotheksdatei enthält. Im Folgenden wird ein Beispiel für einen Amazon-S3-Objektpfad gezeigt.  

```
's3://amzn-s3-demo-bucket/my-pylib.zip'
```
Wenn Sie einen Amazon-S3-Bucket angeben, müssen Sie auch die Anmeldeinformationen für einen AWS -Benutzer angeben, der zum Herunterladen der Datei berechtigt ist.   
 Wenn sich der Amazon S3 S3-Bucket nicht in derselben AWS Region wie Ihr Amazon Redshift Redshift-Cluster befindet, müssen Sie die Option REGION verwenden, um die AWS Region anzugeben, in der sich die Daten befinden. Der Wert für *aws\$1region muss mit einer AWS Region* übereinstimmen, die in der Tabelle in der [REGION](copy-parameters-data-source-s3.md#copy-region) Parameterbeschreibung für den COPY-Befehl aufgeführt ist.

*Autorisierung*   
Eine Klausel, die die Methode angibt, die der Cluster für die Authentifizierung und Autorisierung verwendet, um auf den Amazon-S3-Bucket zuzugreifen, der die Bibliotheksdatei enthält. Ihr Cluster muss die Berechtigung für den Zugriff auf Amazon S3 mithilfe der Aktionen LIST und GET besitzen.  
Die Syntax für die Autorisierung ist identisch mit der Syntax für die Autorisierung des Befehls COPY. Weitere Informationen finden Sie unter [Autorisierungsparameter](copy-parameters-authorization.md).  

```
IAM_ROLE { default | ‘arn:aws:iam::<AWS-Konto-id>:role/<role-name>’
```
 Verwenden Sie das Standardstichwort, damit Amazon Redshift die IAM-Rolle verwendet, die als Standard festgelegt und mit dem Cluster verknüpft ist, wenn der CREATE LIBRARY-Befehl ausgeführt wird.  
Verwenden Sie den Amazon-Ressourcennamen (ARN) für eine IAM-Rolle, die von Ihrem Cluster für Authentifizierung und Autorisierung verwendet wird. Wenn Sie IAM\$1ROLE angeben, können Sie ACCESS\$1KEY\$1ID und SECRET\$1ACCESS\$1KEY, SESSION\$1TOKEN oder CREDENTIALS nicht verwenden.  
Wenn der Amazon-S3-Bucket serverseitige Verschlüsselung verwendet, können Sie optional den Verschlüsselungsschlüssel in der Zeichenfolge credentials-args angeben. Wenn Sie temporäre Sicherheitsanmeldeinformationen verwenden, geben Sie das temporäre Token in die *credentials-args*-Zeichenfolge ein.  
Weitere Informationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen](copy-usage_notes-access-permissions.md#r_copy-temporary-security-credentials).

 REGION [AS] *aws\$1region*   
Die AWS Region, in der sich der Amazon S3 S3-Bucket befindet. REGION ist erforderlich, wenn sich der Amazon S3 S3-Bucket nicht in derselben AWS Region wie der Amazon Redshift Redshift-Cluster befindet. Der Wert für *aws\$1region muss mit einer AWS Region* übereinstimmen, die in der Tabelle in der [REGION](copy-parameters-data-source-s3.md#copy-region) Parameterbeschreibung für den COPY-Befehl aufgeführt ist.  
Standardmäßig geht CREATE LIBRARY davon aus, dass sich der Amazon S3 S3-Bucket in derselben AWS Region wie der Amazon Redshift Redshift-Cluster befindet.

## Beispiele
<a name="r_CREATE_LIBRARY-examples"></a>

In den folgenden beiden Beispielen wird das Python-Modul [urlparse](https://docs.python.org/2/library/urlparse.html#module-urlparse) installiert, das in einer Datei namens `urlparse3-1.0.3.zip` gepackt ist. 

Der folgende Befehl installiert eine UDF-Bibliothek namens `f_urlparse` aus einem Paket, das zu einem Amazon-S3-Bucket hochgeladen wurde, der sich in der Region „US East“ befindet.

```
create library f_urlparse
language plpythonu
from 's3://amzn-s3-demo-bucket/urlparse3-1.0.3.zip'
credentials 'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>'
region as 'us-east-1';
```

Im folgenden Beispiel wird eine Bibliothek namens `f_urlparse` aus einer Bibliotheksdatei auf einer Website installiert.



```
create library f_urlparse
language plpythonu
from 'https://example.com/packages/urlparse3-1.0.3.zip';
```