

 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/). 

# Adicionar objetos a uma unidade de compartilhamento de dados no Amazon Redshift
<a name="writes-adding-datashare"></a>

Você pode adicionar objetos de banco de dados de vários tipos no console e com SQL seguindo um dos procedimentos abaixo. 

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

Você pode adicionar objetos à unidade de compartilhamento de dados usando as seções **Permissões com escopo** ou **Permissões diretas**. Selecione **Conceder permissões com escopo** ou **Conceder permissões diretas** para adicionar objetos. Selecione o botão **Adicionar** para adicionar objetos. Uma caixa de diálogo é exibida. Siga estas etapas:

1. Se você selecionar **Conceder permissões com escopo**, a página **Conceder permissões com escopo** será exibida, na qual você poderá conceder permissões com escopo em nível de banco de dados ou de esquema. As unidades de compartilhamento de dados que têm permissões com escopo têm as permissões especificadas em todos os objetos atuais e futuros dentro do banco de dados ou esquema. Para mais detalhes, consulte ., [Permissões em escopo](t_scoped-permissions.md).

   1. Em seguida, selecione **Permissões com escopo definido do banco de dados** para conceder permissões com escopo em nível de banco de dados. Quando você concede permissões com escopo, elas se aplicam ao banco de dados atual durante a criação da unidade de compartilhamento de dados. Essas permissões não podem ser concedidas a objetos individuais e são aplicáveis ​​a objetos existentes e novos (esquemas, tabelas, visualizações e UDFs).

   1. Selecione as permissões com escopo definido para esquemas, tabelas, visualizações ou funções definidas pelo usuário. Isso significa que todos os objetos no banco de dados têm as permissões selecionadas concedidas aos consumidores. Selecione **Conceder** para concluir a concessão de permissões com escopo definido do banco de dados. 

   1. Em seguida, selecione **Permissões com escopo definido de esquema** para conceder permissões com escopo em nível de esquema. Quando você concede permissões com escopo definido de esquema, todos os objetos adicionados ao esquema têm as permissões da unidade de compartilhamento de dados especificadas. 

   1. No menu suspenso, selecione o esquema que você deseja adicionar à unidade de compartilhamento de dados. Você pode selecionar apenas um esquema por vez. Em seguida, selecione as permissões diretas que deseja conceder no esquema selecionado.

   1. Selecione permissões com escopo definido para os objetos de esquema, como tabelas, visualizações e funções definidas pelo usuário. As permissões são concedidas em todos os objetos correspondentes no esquema. Podem ser objetos existentes ou aqueles adicionados no futuro. Quando aplicada, não é possível remover uma permissão de um objeto sem revogar as permissões com escopo. 

   1. Selecione **Conceder** para concluir a concessão de permissões com escopo definido de esquema. 

1. Se você selecionar **Conceder permissões diretas**, a página **Conceder permissões diretas** será exibida, na qual você poderá conceder permissões diretas em cada nível de objeto, como esquema, tabela, visualização ou função definida pelo usuário. Para conceder permissões diretas, você deve primeiro adicionar os esquemas relevantes à unidade de compartilhamento de dados.

   1. Em seguida, selecione **Conceder permissões diretas** a esquemas para aplicar permissões diretas em esquemas específicos. Depois, selecione as permissões de esquema para os objetos de esquema, como tabelas, visualizações e funções definidas pelo usuário, e escolha o esquema que deseja adicionar à unidade de compartilhamento de dados. Selecione **Conceder** para concluir a adição do esquema à unidade de compartilhamento de dados. 

   1. Depois de adicionar um esquema à unidade de compartilhamento de dados, você pode prosseguir com a adição de permissões diretas para os objetos do esquema. Selecione **Conceder permissões diretas** novamente. A página **Conceder permissões diretas** é exibida. Em seguida, acesse as guias de permissões diretas para objetos de esquema.

   1. Selecione **Conceder permissões diretas para tabelas e visualizações** para conceder permissões diretas em nível de objeto a esses objetos. Selecione as permissões diretas e os objetos necessários na lista. Use o campo de pesquisa para encontrar objetos de unidade de compartilhamento de dados. Selecione “Conceder” para concluir a adição de tabelas e visualizações à unidade de compartilhamento de dados. 

   1. Selecione **Conceder permissões diretas a funções definidas pelo usuário** para conceder permissões diretas em nível de objeto em funções definidas pelo usuário. Selecione as permissões diretas e os objetos necessários na lista. Use o campo de pesquisa para encontrar objetos de unidade de compartilhamento de dados. Selecione **Conceder** para concluir a adição de perfis definidos pelo usuário à unidade de compartilhamento de dados. 

1. Você também pode escolher se deseja **Adicionar objetos futuros**. Quando você opta por incluir objetos da unidade de compartilhamento de dados adicionados ao esquema, isso significa que objetos adicionados ao esquema são adicionados automaticamente à unidade de compartilhamento de dados.

1. Escolha **Adicionar** para concluir a seção e adicionar os objetos. Eles estão listados em **Objetos de compartilhamento de dados**.

1. Depois de adicionar objetos, você poderá selecionar objetos individuais e editar as permissões. Se você selecionar um esquema, uma caixa de diálogo será exibida perguntando se você gostaria de adicionar **Permissões em escopo**. Isso faz com que cada objeto existente ou adicionado ao esquema tenha um conjunto pré-selecionado de permissões, indicado para o tipo de objeto. Por exemplo, o administrador pode definir se todas as tabelas adicionadas têm permissões SELECT e UPDATE, por exemplo.

1. Todos os objetos da unidade de compartilhamento de dados estão listados nas seções **Permissões com escopo** ou **Permissões diretas**.

1. Na seção **Consumidores de dados**, você pode adicionar namespaces ou contas da AWS como consumidores da unidade de compartilhamento de dados. 

1. Escolha **Criar compartilhamento de dados** para salvar as alterações.

Depois que você cria a unidade de compartilhamento de dados, ela é exibida na lista em **Unidades de compartilhamento de dados criadas em meu namespace**. Se escolher uma unidade de compartilhamento de dados na lista, você poderá exibir os consumidores, os objetos e outras propriedades.

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

Com SQL, o proprietário da unidade de compartilhamento de dados deve conceder USAGE nos esquemas que deseja adicionar à unidade de compartilhamento de dados. GRANT é usado para conceder várias ações no esquema, incluindo CREATE e USAGE. Os esquemas mantêm objetos compartilhados:

```
CREATE SCHEMA myshared_schema1;
CREATE SCHEMA myshared_schema2;
 
GRANT USAGE ON SCHEMA myshared_schema1 TO DATASHARE my_datashare;
GRANT CREATE, USAGE ON SCHEMA myshared_schema2 TO DATASHARE my_datashare;
```

Como alternativa, o administrador pode continuar executando comandos ALTER para adicionar um esquema à unidade de compartilhamento de dados. Somente permissões USAGE são concedidas quando um esquema é adicionado assim.

```
ALTER DATASHARE my_datashare ADD SCHEMA myshared_schema1;
```

Depois de adicionar esquemas, o administrador poderá conceder permissões da unidade de compartilhamento de dados em objetos no esquema. Elas podem ser permissões de leitura e gravação: O exemplo GRANT ALL mostra como conceder todas as permissões.

```
GRANT SELECT, INSERT ON TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1
TO DATASHARE my_datashare;
                     
GRANT ALL ON TABLE myshared_schema1.table4 TO DATASHARE my_datashare;
```

Você pode continuar executando comandos como ALTER DATASHARE para adicionar tabelas. Quando se faz isso, somente permissões SELECT são concedidas em objetos adicionados.

```
ALTER DATASHARE my_datashare ADD TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1;
```

Você pode conceder permissões com escopo definido a uma unidade de compartilhamento de dados em todos os objetos de um tipo dentro de um banco de dados ou esquema. As unidades de compartilhamento de dados que têm permissões com escopo têm as permissões especificadas em todos os objetos atuais e futuros dentro do banco de dados ou esquema.

 Você pode visualizar o escopo das permissões com escopo em nível de banco de dados em [SVV\_DATABASE\_PRIVILEGES](r_SVV_DATABASE_PRIVILEGES.md). Você pode visualizar o escopo das permissões com escopo em nível de esquema em [SVV\_SCHEMA\_PRIVILEGES](r_SVV_SCHEMA_PRIVILEGES.md).

A seguir está a sintaxe para conceder permissões com escopo definido para unidades de compartilhamento de dados. Para ter mais informações sobre permissões com escopo definido, consulte [Permissões em escopo](t_scoped-permissions.md).

```
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }FOR SCHEMAS IN
DATABASE db_name 
TO DATASHARE { datashare_name}

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } }FOR TABLES IN
{SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
TO DATASHARE { datashare_name}

GRANT { EXECUTE | ALL [ PRIVILEGES ] }FOR FUNCTIONS IN
{SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name }
TO DATASHARE { datashare_name}
```

------