Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Utilizzo di unità di condivisione dati AWS Data Exchange come produttore
Con Amazon Redshift puoi condividere prodotti di dati in tempo reale con lo AWS Data Exchange come producer creando e gestendo le unità di condivisione dati.
Se sei un amministratore producer, segui la procedura descritta per gestire le unità di condivisione dati dello AWS Data Exchange sulla console Amazon Redshift:
-
Crea unità di condivisione dati nel cluster su cui condividere i dati su AWS Data Exchange e concedere l'accesso a AWS Data Exchange alle unità di condivisione dati.
Le unità di condivisione dati possono essere create dall'utente con privilegi avanzati e dai proprietari di database del cluster. Ogni unità di condivisione dati è associata a un database durante la creazione. Solo gli oggetti di quel database possono essere condivisi in quella unità di condivisione dati. Sullo stesso database possono essere create più unità di condivisione dati con la stessa granularità di oggetti o con una granularità differente. Non vi è alcun limite sul numero di unità di condivisione dati che un cluster può creare.
Per creare le unità di condivisione dati è possibile utilizzare anche la console Amazon Redshift. Per ulteriori informazioni, consulta Creare un’unità di condivisione dati.
Utilizzare l'opzione MANAGEDBY ADX per concedere implicitamente l'accesso all'unità di condivisione dati a AWS Data Exchange quando si esegue l'istruzione CREATE DATASHARE. Questo indica che AWS Data Exchange gestisce questa unità di condivisione dati. Puoi utilizzare l'opzione MANAGEDBY ADX solo quando crei una nuova unità di condivisione dati. Non è possibile utilizzare l'istruzione ALTER DATASHARE per modificare un'unità di condivisione dati esistente per aggiungere l'opzione MANAGEDBY ADX. Una volta creato una unità di condivisione dati con l'opzione MANAGEDBY ADX, solo AWS Data Exchange può accedere e gestire l'unità di condivisione dati.
CREATE DATASHARE salesshare [[SET] MANAGEDBY [=] {ADX} ]; -
Aggiungere oggetti alle unità di condivisione dati. L'amministratore di produttori continua a gestire gli oggetti unità di condivisione dati disponibili in una unità di condivisione dati AWS Data Exchange.
Per aggiungere oggetti a una unità di condivisione dati, aggiungere lo schema prima di aggiungere gli oggetti. Quando si aggiunge uno schema, Amazon Redshift non aggiunge tutti gli oggetti. È necessario aggiungerli esplicitamente. Per ulteriori informazioni, consulta ALTER DATASHARE.
ALTER DATASHARE salesshare ADD SCHEMA PUBLIC; ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift; ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;A una unità di condivisione dati è possibile aggiungere anche le viste.
CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift; ALTER DATASHARE salesshare ADD TABLE public.sales_data_summary_view;Utilizzare ALTER DATASHARE per condividere schemi e tabelle, viste e funzioni in un determinato schema. Gli utenti con privilegi avanzati, i proprietari di unità di condivisione dati o gli utenti che dispongono dell'autorizzazione ALTER o ALL sull'unità di condivisione dati possono modificarla in modo da aggiungere o rimuovere oggetti. Gli utenti devono disporre delle autorizzazioni per aggiungere o rimuovere oggetti dall'unità di condivisione dati. Gli utenti devono inoltre essere i proprietari degli oggetti o disporre delle autorizzazioni SELECT, USAGE o ALL sugli oggetti.
Utilizzare la clausola INCLUDENEW per aggiungere nuove tabelle, viste o funzioni definite dall'utente (FDU) SQL future create in uno scherma specificato nell'unità di condivisione dati. Solo gli utenti con privilegi avanzati possono modificare questa proprietà per ogni coppia unità di condivisione dati-schema.
ALTER DATASHARE salesshare ADD SCHEMA PUBLIC; ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;Per aggiungere o rimuovere oggetti dalle unità di condivisione dati è possibile utilizzare la console Amazon Redshift. Per ulteriori informazioni, consultare Aggiungere oggetti dell’unità di condivisione dati alle unità di condivisione dati, Rimozione di oggetti di unità di condivisione dati dalle unità di condivisione dati e Modifica di unità di condivisione dati AWS Data Exchange.
-
Per autorizzare l'accesso alle unità di condivisione dati per AWS Data Exchange, effettuare una delle seguenti operazioni:
-
Autorizza esplicitamente l'accesso alla condivisione dati per AWS Data Exchange utilizzando la parola chiave
ADXnella APIaws redshift authorize-data-share. Questo consente a AWS Data Exchange di riconoscere l'unità di condivisione dati nell'account del servizio e gestire l'associazione dei consumatori all'unità di condivisione dati.aws redshift authorize-data-share --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare --consumer-identifier ADXÈ possibile utilizzare una chiave condizionale
ConsumerIdentifierperAuthorizeDataSharee APIDeauthorizeDataShareper consentire o negare esplicitamente a AWS Data Exchange ad effettuare chiamate alle due API nella policy IAM. -
Utilizza la console Amazon Redshift per autorizzare o rimuovere l'autorizzazione di unità di condivisione dati AWS Data Exchange. Per ulteriori informazioni, consulta Autorizzazione o rimozione dell'autorizzazione dalle unità di condivisione dati.
-
Facoltativamente, è possibile autorizzare implicitamente l'accesso all'unità di condivisione dati AWS Data Exchange quando si importa l'unità di condivisione dati in un set di dati AWS Data Exchange.
Per rimuovere l'autorizzazione per l'accesso all'unità di condivisione dati AWS Data Exchange, usa la parola chiave
ADXnell' Operazione APIaws redshift deauthorize-data-share. In questo modo, consenti a AWS Data Exchange di riconoscere l'unità nell'account del servizio e gestire la rimozione dell'associazione dall'unità.aws redshift deauthorize-data-share --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare --consumer-identifier ADX -
-
Elencare le unità di condivisione dati create nel cluster ed esaminare il contenuto dell'unità.
Nell'esempio seguente sono riportate le informazioni di una unità di condivisione dati denominata salesshare. Per ulteriori informazioni, consulta DESC DATASHARE e SHOW DATASHARES.
DESC DATASHARE salesshare; producer_account | producer_namespace | share_type | share_name | object_type | object_name | include_new -------------------+--------------------------------------+------------+------------+-------------+--------------------------------+------------------- 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_users_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_venue_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_category_redshift| 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_date_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_event_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_listing_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | table | public.tickit_sales_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | schema | public | t 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | OUTBOUND | salesshare | view | public.sales_data_summary_view |L'esempio seguente mostra le unità di condivisione dati in uscita in un cluster producer.
SHOW DATASHARES LIKE 'sales%';L'output è simile al seguente.
share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account | producer_namespace -----------+--------------+-----------------+-------------------+------------+---------------------+----------------------+-----------+------------------+--------------------------------------- salesshare | 100 | dev | | OUTBOUND | 2020-12-09 02:27:08 | True | | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00dPer ulteriori informazioni, consulta DESC DATASHARE e SHOW DATASHARES.
È possibile utilizzare anche SVV_DATASHARES, SVV_DATASHARE_CONSUMERS e SVV_DATASHARE_OBJECTS per visualizzare le unità di condivisione dati, gli oggetti all'interno dell'unità di condivisione dati e i consumer dell'unità di condivisione dati.
-
Eliminare le unità di condivisione dati. Si consiglia di non eliminare un'unità di condivisione dati AWS Data Exchange condiviso con altri Account AWS utilizzando l'istruzione DROP DATASHARE. Tali account perderanno l'accesso all'unità di condivisione dati. Questa operazione è irreversibile. Ciò potrebbe violare i termini dell'offerta di prodotti di dati in AWS Data Exchange. Se desideri eliminare un'unità di condivisione dati AWS Data Exchange, consulta Note per l'utilizzo di DROP DATASHARE.
Nell'esempio seguente viene rimossa una unità di condivisione dati denominata salesshare.
DROP DATASHARE salesshare; ERROR: Drop of ADX-managed datashare salesshare requires session variable datashare_break_glass_session_var to be set to value '620c871f890c49'Per consentire la rimozione di un'unità di condivisione dati AWS Data Exchange, impostare la variabile datashare_break_glass_session_var ed eseguire nuovamente l'istruzione DROP DATASHARE. Se desideri eliminare un'unità di condivisione dati AWS Data Exchange, consulta Note per l'utilizzo di DROP DATASHARE.
Per eliminare le unità di condivisione dati è possibile utilizzare anche la console Amazon Redshift. Per ulteriori informazioni, consulta Eliminazione delle unità di condivisione dati AWS Data Exchange create nell'account.
-
Utilizzare ALTER DATASHARE per rimuovere gli oggetti dalle unità di condivisione dati in qualsiasi punto dall'unità. Utilizzare REVOKE USAGE ON per revocare le autorizzazioni sull'unità di condivisione dati a su consumer. Revoca le autorizzazioni USAGE sugli oggetti all'interno di una unità di condivisione dati e disabilita immediatamente l'accesso a tutti i cluster di consumer. L'elenco delle unità di condivisione dati e delle query dei metadati, ad esempio l'elenco dei database e delle tabelle, non restituisce gli oggetti condivisi dopo la revoca dell'accesso.
ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;Per modificare le unità di condivisione dati è possibile utilizzare anche la console Amazon Redshift. Per ulteriori informazioni, consulta Modifica di unità di condivisione dati AWS Data Exchange.
-
Concedere o revocare GRANT USAGE da unità di condivisione dati AWS Data Exchange. Non puoi concedere o revocare GRANT USAGE per unità di condivisione dati AWS Data Exchange. L'esempio seguente mostra un errore quando viene concessa l'autorizzazione GRANT USAGE a un Account AWS per un'unità di condivisione dati gestita da AWS Data Exchange.
CREATE DATASHARE salesshare MANAGEDBY ADX;GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910'; ERROR: Permission denied to add/remove consumer to/from datashare salesshare. Datashare consumers are managed by ADX.
Se sei un amministratore producer, segui la procedura descritta per creare e pubblicare un prodotto di un’unità di condivisione dati sulla console AWS Data Exchange:
-
Quando l'unità di condivisione dati AWS Data Exchange è stata creata, il producer crea un nuovo set di dati, importa le risorse, crea una revisione e crea e pubblica un nuovo prodotto.
Utilizzare la console Amazon Redshift per creare set di dati. Per ulteriori informazioni, consulta Creazione di set di dati in AWS Data Exchange.
Per ulteriori informazioni, consultare Fornire prodotti di dati su AWS Data Exchange.