Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
CREATE LIBRARY
Installa una libreria Python, che gli utenti possono incorporare quando creano una funzione definita dall'utente UDF () con il comando. CREATE FUNCTION La dimensione totale delle librerie installate dall'utente non può superare i 100 MB.
CREATELIBRARYnon può essere eseguito all'interno di un blocco di transazione (BEGIN...). END Per ulteriori informazioni sulle transazioni, consultare Isolamento serializzabile.
Amazon Redshift supporta Python versione 2.7. Per ulteriori informazioni, consultare www.python.org
Per ulteriori informazioni, consulta Esempio: importazione di moduli di libreria Python personalizzati.
Privilegi richiesti
Di seguito sono riportati i privilegi richiesti per CREATELIBRARY:
Superuser
Utenti con il CREATE LIBRARY privilegio o con il privilegio della lingua specificata
Sintassi
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::
<Account AWS-id>
:role/<role-name>
’ } }
Parametri
- OPPURE REPLACE
-
Specifica che se una libreria con lo stesso nome è già esistente, la libreria esistente viene sostituita. REPLACEsi impegna immediatamente. Se un UDF file che dipende dalla libreria viene eseguito contemporaneamente, UDF potrebbe fallire o restituire risultati imprevisti, anche se UDF è in esecuzione all'interno di una transazione. Devi essere il proprietario o un utente con privilegi avanzati per sostituire una libreria.
- library_name
-
Il nome della libreria da installare. Non è possibile creare una libreria che contiene un modulo con lo stesso nome di un modulo della libreria standard Python o un modulo Python preinstallato in Amazon Redshift. Se una libreria esistente installata dall'utente utilizza lo stesso pacchetto Python della libreria da installare, è necessario eliminare la libreria esistente prima di installare la nuova libreria. Per ulteriori informazioni, consulta Supporto del linguaggio Python per UDFs.
- LANGUAGEplpythonu
-
Il linguaggio da usare. Python (plpythonu) è l'unico linguaggio supportato. Amazon Redshift supporta Python versione 2.7. Per ulteriori informazioni, consultare www.python.org
. - FROM
-
La posizione del file della libreria. Puoi specificare un bucket Amazon S3 e il nome dell'oggetto oppure puoi specificare un URL per scaricare il file da un sito Web pubblico. La libreria deve essere compressa sotto forma di file
.zip
. Per ulteriori informazioni, consultare Creazione e installazione di moduli Pythonnella documentazione Python. - https://file_url
-
Il URL per scaricare il file da un sito Web pubblico. URLPuò contenere fino a tre reindirizzamenti. Di seguito è riportato un esempio di file. URL
'https://www.example.com/pylib.zip'
- s3://bucket_name/file_name
-
Il percorso per un singolo oggetto Amazon S3 che contiene il file della libreria. Di seguito è illustrato un esempio del percorso di un oggetto Amazon S3.
's3://amzn-s3-demo-bucket/my-pylib.zip'
Se si specifica un bucket Amazon S3, è necessario anche fornire le credenziali per un utente AWS che dispone dell'autorizzazione per scaricare il file.
Importante
Se il bucket Amazon S3 non si trova nella stessa AWS regione del cluster Amazon Redshift, devi utilizzare l'REGIONopzione per specificare la AWS regione in cui si trovano i dati. Il valore per aws_region deve corrispondere a una AWS regione elencata nella tabella nella descrizione del parametro per il comando. REGION COPY
- authorization
-
Una clausola che indica il metodo che il cluster utilizza per l'autenticazione e l'autorizzazione ad accedere al bucket Amazon S3 contenente il file della libreria. Il cluster deve disporre dell'autorizzazione per accedere ad Amazon S3 con le azioni LIST andGET.
La sintassi per l'autorizzazione è la stessa dell'autorizzazione del COPY comando. Per ulteriori informazioni, consulta Parametri di autorizzazione.
IAM_ROLE { default | ‘arn:aws:iam::
<Account AWS-id>
:role/<role-name>
’Utilizza la parola chiave predefinita per fare in modo che Amazon Redshift utilizzi il IAM ruolo impostato come predefinito e associato al cluster durante l'esecuzione del CREATE LIBRARY comando.
Usa Amazon Resource Name (ARN) per un IAM ruolo utilizzato dal tuo cluster per l'autenticazione e l'autorizzazione. Se specifichi IAM _ROLE, non puoi utilizzare ACCESS _ KEY _ID e SECRET _ ACCESS _ KEYTOKEN, SESSION _ oCREDENTIALS.
Facoltativamente, se il bucket Amazon S3 utilizza la crittografia lato server, fornisci la chiave di crittografia nella stringa credentials-args. Se usi credenziali di sicurezza temporanee, fornisci il token temporaneo nella stringa credentials-args.
Per ulteriori informazioni, consulta Credenziali di sicurezza temporanee.
- REGION[AS] aws_region
-
La AWS regione in cui si trova il bucket Amazon S3. REGIONè obbligatorio quando il bucket Amazon S3 non si trova nella stessa AWS regione del cluster Amazon Redshift. Il valore per aws_region deve corrispondere a una AWS regione elencata nella tabella nella descrizione del parametro per il REGION comando. COPY
Per impostazione predefinita, CREATE LIBRARY si presuppone che il bucket Amazon S3 si trovi nella AWS stessa regione del cluster Amazon Redshift.
Esempi
I seguenti due esempi installano il modulo Python urlparseurlparse3-1.0.3.zip
.
Il comando seguente installa una UDF libreria denominata f_urlparse
da un pacchetto che è stato caricato in un bucket Amazon S3 situato nella regione degli Stati Uniti orientali.
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';
L'esempio seguente installa una libreria denominata f_urlparse
da un file di libreria su un sito Web.
create library f_urlparse language plpythonu from 'https://example.com/packages/urlparse3-1.0.3.zip';