Lavorare con i datashare in qualità di produttore AWS Data Exchange - Amazon Redshift

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à.

Lavorare con i datashare in qualità di produttore AWS Data Exchange

Con Amazon Redshift, puoi condividere prodotti di dati in tempo reale con AWS Data Exchange un produttore creando e gestendo condivisioni di dati.

Se sei un amministratore di un produttore, segui questi passaggi per gestire le AWS Data Exchange condivisioni di dati sulla console Amazon Redshift:

  1. Crea datashare nel tuo cluster su cui condividere dati AWS Data Exchange e concedere l'accesso ai datashare. AWS Data Exchange

    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 Crea un datashare.

    Utilizza l'opzione MANAGEDBY ADX per concedere implicitamente l'accesso al datashare a durante l'esecuzione dell'istruzione CREATE DATASHARE. AWS Data Exchange Ciò AWS Data Exchange indica che gestisce questo datashare. 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} ];
  2. Aggiungere oggetti alle unità di condivisione dati. L'amministratore di Producer continua a gestire gli oggetti datashare disponibili in un datashare. 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.

    Utilizzate la clausola INCLUDENEW per aggiungere al datashare eventuali nuove tabelle, viste o funzioni SQL definite dall'utente (UDFs) create in uno schema specificato. 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 datashare alle condivisioni di dati, Rimozione di oggetti di unità di condivisione dati dalle unità di condivisione dati e Modifica delle condivisioni AWS Data Exchange di dati.

  3. Per autorizzare l'accesso ai datashare per, effettuate una delle seguenti operazioni: AWS Data Exchange

    • Autorizza esplicitamente l'accesso al datashare utilizzando la parola chiave nell'API AWS Data Exchange . ADX aws redshift authorize-data-share Ciò consente di riconoscere il AWS Data Exchange datashare nell'account del servizio e gestire l'associazione dei consumatori al datashare.

      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 per AuthorizeDataShare e ConsumerIdentifier per consentire o DeauthorizeDataShare APIs negare esplicitamente di effettuare chiamate AWS Data Exchange verso entrambi nella policy IAM. APIs

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Deny", "Action": [ "redshift:AuthorizeDataShare", "redshift:DeauthorizeDataShare" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "redshift:ConsumerIdentifier": "ADX" } } } ] }
    • 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, puoi autorizzare implicitamente l'accesso al datashare quando importi il AWS Data Exchange datashare in un set di dati. AWS Data Exchange

    Per rimuovere l'autorizzazione all'accesso ai AWS Data Exchange datashare, utilizza la parola chiave nell'operazione API. ADX aws 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
  4. 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-1a018f5ed00d

    Per 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.

  5. Eliminare le unità di condivisione dati. Ti consigliamo di non eliminare un AWS Data Exchange datashare 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 del prodotto Data in. AWS Data Exchange Se desideri eliminare un AWS Data Exchange datashare, 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 l'eliminazione di un AWS Data Exchange datashare, imposta la variabile datashare_break_glass_session_var ed esegui nuovamente l'istruzione DROP DATASHARE. Se desideri eliminare un datashare, Note per l'utilizzo di DROP DATASHARE consulta. AWS Data Exchange

    Per eliminare le unità di condivisione dati è possibile utilizzare anche la console Amazon Redshift. Per ulteriori informazioni, consulta Eliminazione AWS Data Exchange delle condivisioni di dati create nel tuo account.

  6. 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 delle condivisioni AWS Data Exchange di dati.

  7. Concedi o revoca GRANT USAGE dai datashare. AWS Data Exchange Non è possibile concedere o revocare GRANT USAGE per il datashare. AWS Data Exchange L'esempio seguente mostra un errore quando l'autorizzazione GRANT USAGE viene concessa a un datashare che Account AWS gestisce. 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.

    Per ulteriori informazioni, consulta GRANT o REVOKE.

Se sei un amministratore di un produttore, segui questi passaggi per creare e pubblicare un prodotto datashare sulla console: AWS Data Exchange