

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Ações do consumidor para novas unidades de compartilhamento de dados no Amazon Redshift
<a name="writes-consumer-new"></a>

Com o Amazon Redshift, é possível consumir unidades de compartilhamentos de dados de outras contas da AWS, o que permite o compartilhamento de dados e a colaboração entre contas. Com uma unidade de compartilhamento de dados, é possível compartilhar dados em tempo real de maneira segura entre clusters do Amazon Redshift, mesmo que estejam em diferentes contas da AWS. As seções a seguir apresentam etapas detalhadas para configurar o acesso, criar bancos de dados de unidades de compartilhamento de dados, conceder permissões em nível de objeto e consultar dados compartilhados.

**Topics**
+ [Associar uma unidade de compartilhamento de dados de uma Conta da AWS diferente no Amazon Redshift](writes-associating.md)
+ [Criar um banco de dados de uma unidade de compartilhamento de dados no Amazon Redshift](writes-creating-database.md)
+ [Conceder permissões em nível de objeto a usuários e perfis do consumidor no Amazon Redshift](writes-granting.md)
+ [Consultar dados em uma unidade de compartilhamento de dados no Amazon Redshift](writes-querying.md)

# Associar uma unidade de compartilhamento de dados de uma Conta da AWS diferente no Amazon Redshift
<a name="writes-associating"></a>

Com o Amazon Redshift, é possível associar ou recusar unidades de compartilhamento de dados compartilhadas por outras Contas da AWS, permitindo o compartilhamento contínuo e seguro de dados entre limites organizacionais. As unidades de compartilhamento de dados são objetos de banco de dados compartilháveis que encapsulam dados de um ou mais bancos de dados do Amazon Redshift. As seções a seguir demonstram o processo de associação de unidades de compartilhamento de dados.

------
#### [ Console ]

Como administrador de consumidor, você pode associar uma ou mais unidades de compartilhamento de dados compartilhadas de outras contas com toda a sua conta da AWS ou namespaces específicos em sua conta. 

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. No menu de navegação, escolha **Datashares** (Unidades de compartilhamento de dados). A página de lista de datashares é exibida. Selecione **De outras contas**.

1. Na seção **Datashares from other accounts** (Unidades de compartilhamento de dados de outras contas), escolha a unidade de compartilhamento de dados que deseja associar e escolha **Associate** (Associar). Quando a página **Associar unidade de compartilhamento de dados** for exibida, escolha um dos seguintes tipos de associação:
   + Selecione **Conta toda da AWS** para associar todos os namespaces existentes e futuros em diferentes regiões da AWS na conta da AWS à unidade de compartilhamento de dados.
   + Se a unidade de compartilhamento de dados for publicada no AWS Glue Data Catalog, você só poderá associá-la a toda a conta da AWS.

1. Aqui, você pode escolher **Permissões permitidas**. As opções são:
   + **Somente leitura**: se você escolher somente leitura, as permissões de gravação, como UPDATE ou INSERT, não estarão disponíveis para o consumidor, mesmo que essas permissões tenham sido concedidas e autorizadas no produtor.
   + **Leitura e gravação**: os usuários da unidade de compartilhamento de dados do consumidor terão todas as permissões, tanto de leitura quanto de gravação, concedidas e autorizadas pelo produtor.

1. Se preferir, escolha **Regiões e namespaces específicos da AWS** para associar uma ou mais regiões e namespaces específicos da AWS à unidade de compartilhamento de dados. Selecione **Adicionar região** para adicionar regiões e namespaces específicos da AWS à unidade de compartilhamento de dados. A página **Adicionar região da AWS** é exibida.

1. Escolha uma **região da AWS**. 

1. Execute um destes procedimentos:
   + Selecione **Adicionar todos os namespaces** para adicionar todos os namespaces existentes e futuros nessa região à unidade de compartilhamento de dados.
   + Escolha **Adicionar namespaces específicos** para adicionar um ou mais namespaces específicos nessa região à unidade de compartilhamento de dados.
   + Selecione um ou mais namespaces e escolha **Adicionar região da AWS**.

1. Selecione **Associar**.

É possível para o produtor voltar e alterar configurações de uma autorização, o que pode afetar as configurações de associação em consumidores.

 Se você estiver associando a unidade de compartilhamento de dados a uma conta do Lake Formation, acesse o console do Lake Formation para criar um banco de dados, depois defina as permissões sobre o banco de dados. Para obter mais informações, consulte [Configurar permissões para unidades de compartilhamento de dados do Amazon Redshift](https://docs.aws.amazon.com/lake-formation/latest/dg/setup-ds-perms.html) no Guia do desenvolvedor do AWS Lake Formation. Depois de criar um banco de dados do AWS Glue ou um banco de dados federado, você pode usar o editor de consultas v2 ou qualquer cliente SQL de sua preferência com o cluster consumidor para consultar os dados. 

Depois que a unidade de compartilhamento de dados for associada, as unidades de compartilhamento de dados ficarão disponíveis.

**nota**  
Você também pode alterar a associação de datashare a qualquer momento. Ao alterar a associação de regiões e namespaces específicos da AWS com toda a conta da AWS, o Amazon Redshift substitui as informações de região e namespaces específicos pelas informações da conta da AWS. Todos os namespaces e regiões da AWS na Conta da AWS então têm acesso à unidade de compartilhamento de dados.

------
#### [ API ]

**nota**  
As etapas desta seção serão realizadas depois que o administrador do produtor conceder ações específicas nos objetos do banco de dados compartilhado e, se a unidade de compartilhamento de dados estiver sendo compartilhada com outra conta, o administrador de segurança do produtor autorizará o acesso.

O administrador de segurança consumidor determina o seguinte:
+ Se todos os namespaces em uma conta, namespaces em regiões específicas da conta ou namespaces específicos têm ou não acesso à unidade de compartilhamento de dados.
+ Se os namespaces tiverem acesso à unidade de compartilhamento de dados, independentemente de esses namespaces terem ou não permissões de gravação.

O administrador de segurança do consumidor pode associar a unidade de compartilhamento de dados por meio do seguinte comando:

```
associate-data-share-consumer
--data-share-arn <value>
--consumer-identifier <value>
[--allow-writes | --no-allow-writes]
```

Para obter mais informações sobre o comando, consulte [associate-data-share-consumer](https://docs.aws.amazon.com/cli/latest/reference/redshift/associate-data-share-consumer.html).

O administrador de segurança consumidor deve definir explicitamente `allow-writes` como verdadeiro ao associar uma unidade de compartilhamento de dados a um namespace, para permitir o uso de comandos INSERT e UPDATE. Do contrário, os usuários só poderão realizar operações de leitura, como privilégios SELECT, USAGE ou EXECUTE.

Você pode alterar a associação de um namespace da unidade de compartilhamento de dados chamando `associate-data-share-consumer` novamente, com um valor diferente. Como a associação anterior é substituída pela nova associação, se você associar e definir originalmente `allow-writes`, mas associar e especificar `no-allow-writes`, ou simplesmente não especificar um valor, o consumidor terá as permissões de gravação revogadas.

------

# Criar um banco de dados de uma unidade de compartilhamento de dados no Amazon Redshift
<a name="writes-creating-database"></a>

Com o Amazon Redshift, é possível usar uma unidade de compartilhamento de dados para criar um banco de dados e, em seguida, consultar dados em unidades de compartilhamento de dados de clusters de produtor para acessar dados ativos com segurança sem os copiar ou transferir. As etapas a seguir abordam os detalhes da configuração de um banco de dados no ambiente do Amazon Redshift.

------
#### [ Console ]

Para poder consultar dados na unidade de compartilhamento de dados, primeiro você deve criar um banco de dados de uma unidade de compartilhamento de dados. Você pode criar apenas um banco de dados a partir de um datashare especificado.

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. No menu de navegação, escolha **Clusters** e o seu cluster. A página de detalhes do cluster é exibida.

1. Selecione **Datashares**. A lista de datashare é exibida.

1. Na seção **Conjuntos de dados de outros clusters**, selecione **Conectar ao banco de dados**. Para obter mais informações, consulte [Conectar-se a um banco de dados](connect-database-console.md).

1. Escolha um datashare do qual você deseja criar bancos de dados e escolha **Criar banco de dados a partir do datashare**. A página Criar banco de dados a partir do datashare é exibida.

1. Em **Nome do banco de dados**, especifique um nome do banco de dados. O nome do banco de dados deve conter de 1 a 64 caracteres alfanuméricos (somente minúsculas) e não pode ser uma palavra reservada.

1. Escolha **Criar**.

Depois que o banco de dados for criado, você poderá consultar dados no banco de dados ou realizar operações de gravação, se elas tiverem sido concedidas, autorizadas e associadas pelo administrador do consumidor.

------
#### [ API ]

Para compartilhar dados para fins de leitura como administrador do consumidor, siga as etapas abaixo. 

1. Liste os datashares que são disponibilizados para você e visualize o conteúdo de datashares. Para obter mais informações, consulte [DESC DATASHARE](r_DESC_DATASHARE.md) e [SHOW DATASHARES](r_SHOW_DATASHARES.md).

   O exemplo a seguir exibe as informações de datashares de entrada de um namespace de produtor especificado. Ao executar o DESC DATASHARE como administrador do consumidor, você deve especificar a opção NAMESPACE para visualizar as unidades de compartilhamento de dados de entrada. 

   ```
   DESC DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   
   
    producer_account  |          producer_namespace          | share_type | share_name | object_type |           object_name           |   include_new
   -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_users_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_venue_redshift    |     
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_category_redshift |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_date_redshift     |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_event_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_listing_redshift  |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | table       | public.tickit_sales_redshift    |
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | schema      | public                          |    
    123456789012      | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND    | salesshare | view        | public.sales_data_summary_view  |
   ```

   Somente superusuários de cluster podem fazer isso. Você também pode usar SVV\$1DATASHARES para visualizar os datashares e SVV\$1DATAASHARE\$1OBJECTS para vsualizar os objetos dentro do datashare.

   O exemplo a seguir exibe os datashares de entrada em um cluster de consumidores.

   ```
   SHOW DATASHARES LIKE 'sales%';
   
   
    share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account |          producer_namespace
   ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+--------------------------------------
    salesshare |             |                 |                   | INBOUND    |            |         t           |           |   123456789012   | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
   ```

1. Como superusuário de banco de dados, você pode criar bancos de dados locais que façam referência às unidades de compartilhamento de dados. Para obter mais informações, consulte [CREATE DATABASE](r_CREATE_DATABASE.md).

   ```
   CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Se você quiser um controle mais granular sobre o acesso aos objetos no banco de dados local, use a cláusula WITH PERMISSIONS ao criar o banco de dados. Isso permite a você conceder permissões no nível de objeto para objetos no banco de dados na etapa 4. 

   ```
   CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
   ```

   Você pode ver os bancos de dados criados a partir do datashare consultando a visualização [SVV\$1REDSHIFT\$1DATABASES](r_SVV_REDSHIFT_DATABASES.md). Você pode se conectar diretamente a esses bancos de dados ou a um banco de dados local em seu cluster de consumidor e executar uma consulta entre os bancos de dados criados nas unidades de compartilhamento de dados. 
**nota**  
Você não pode criar um datashare em cima de objetos de banco de dados criados a partir de um datashare existente. No entanto, você pode copiar os dados em uma tabela separada no cluster de consumidores, executar qualquer processamento necessário e, em seguida, compartilhar os novos objetos que foram criados.

   Também é possível usar o console do Amazon Redshift para criar bancos de dados a partir de datashares. Para obter mais informações, consulte [Criar bancos de dados a partir de datashares](query-datashare-console.md#create-database-from-datashare-console).

------

# Conceder permissões em nível de objeto a usuários e perfis do consumidor no Amazon Redshift
<a name="writes-granting"></a>

Como administrador de consumidor, você pode conceder permissões a usuários e perfis do consumidor em nível de objeto seguindo as etapas abaixo. 

------
#### [ SQL ]

Se tiver criado o banco de dados sem WITH PERMISSIONS, você só poderá atribuir permissões em todo o banco de dados criado a partir da unidade de compartilhamento de dados para usuários e funções. 

```
GRANT USAGE ON DATABASE sales_db TO Bob;
```

```
GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;
```

Você também pode criar exibições de vinculação tardia sobre objetos compartilhados e usá-las para atribuir permissões detalhadas. Você também pode considerar que os clusters de produtores criem conjuntos de dados adicionais para você com os detalhes necessários. 

Se você tiver criado o banco de dados com WITH PERMISSIONS, deverá atribuir permissões em nível de objeto para objetos no banco de dados compartilhado. Um usuário com apenas a permissão USAGE não poderá acessar nenhum objeto em um banco de dados criado com WITH PERMISSIONS até receber permissões adicionais no nível de objeto.

```
GRANT SELECT ON sales_db.public.tickit_sales_redshift to Bob;
```

------

Para obter mais informações sobre como conceder permissões com gravações em vários warehouses, consulte [Gerenciar permissões para unidades de compartilhamento de dados no Amazon Redshift](writes-managing-permissions.md).

# Consultar dados em uma unidade de compartilhamento de dados no Amazon Redshift
<a name="writes-querying"></a>

Com o Amazon Redshift, é possível consultar dados entre unidades de compartilhamento de dados de clusters do produtor para acessar com segurança dados em tempo real sem os copiar ou transferir. A seção a seguir aborda a consulta de unidades de compartilhamento de dados no ambiente Amazon Redshift.

Usuários e funções com permissões em bancos de dados consumidores e esquemas em clusters consumidores podem explorar e navegar nos metadados de quaisquer objetos compartilhados. Eles também podem explorar e navegar por objetos locais em um cluster de consumidores. Para fazer isso, eles usam drivers JDBC ou ODBC ou visualizações SVV\$1ALL e SVV\$1REFISH.

Os clusters de produtores podem ter muitos esquemas no banco de dados, tabelas e visualizações dentro de cada esquema. Os usuários do lado do consumidor podem ver apenas o subconjunto de objetos que são disponibilizados através do datashare. Esses usuários não podem ver todos os metadados do cluster de produtores. Essa abordagem ajuda a fornecer controle de segurança de metadados detalhados com compartilhamento de dados.

Você continua se conectando a bancos de dados de cluster locais. Mas agora, você também pode ler dos bancos de dados e esquemas que são criados a partir do datashare usando a notação database.schema.table de três partes. Você pode executar consultas que abrangem todos e todos os bancos de dados que são visíveis para você. Estes podem ser bancos de dados locais no cluster ou bancos de dados criados a partir dos datashares. Os clusters de consumidores não podem se conectar aos bancos de dados criados a partir dos datashares.

Você pode acessar os dados usando a qualificação completa. Para obter mais informações, consulte [Exemplos de consulta entre bancos de dados](cross-database_example.md).

------
#### [ SQL ]

```
SELECT * FROM sales_db.public.tickit_sales_redshift ORDER BY 1,2 LIMIT 5;

 salesid | listid | sellerid | buyerid | eventid | dateid | qtysold | pricepaid | commission |      saletime
---------+--------+----------+---------+---------+--------+---------+-----------+------------+---------------------
       1 |      1 |    36861 |   21191 |    7872 |   1875 |       4 |    728.00 |     109.20 | 2008-02-18 02:36:48
       2 |      4 |     8117 |   11498 |    4337 |   1983 |       2 |     76.00 |      11.40 | 2008-06-06 05:00:16
       3 |      5 |     1616 |   17433 |    8647 |   1983 |       2 |    350.00 |      52.50 | 2008-06-06 08:26:17
       4 |      5 |     1616 |   19715 |    8647 |   1986 |       1 |    175.00 |      26.25 | 2008-06-09 08:38:52
       5 |      6 |    47402 |   14115 |    8240 |   2069 |       2 |    154.00 |      23.10 | 2008-08-31 09:17:02
```

Você só pode usar instruções SELECT em objetos compartilhados. No entanto, você pode criar tabelas no cluster de consumidores consultando os dados dos objetos compartilhados em um banco de dados local diferente.

------