Compartilhar objetos do catálogo das Tabelas do S3
Ao usar o controle de acesso do IAM, você pode compartilhar objetos do catálogo das Tabelas do S3 com outros usuários usando links de recursos do AWS Glue para compartilhar a mesma conta. Para o compartilhamento entre contas, você pode compartilhar buckets de tabela do S3 com outra conta da AWS e o perfil do IAM ou o usuário na conta do destinatário pode criar um objeto de catálogo do AWS Glue usando o bucket de tabela compartilhado.
Compartilhar na mesma conta usando links de recursos
Os links de recursos permitem que você crie referências a bancos de dados do AWS Glue e tabelas no s3tablescatalog que aparecem em seu catálogo padrão do AWS Glue. Isso é útil para organizar o acesso aos dados ou criar agrupamentos lógicos de tabelas.
Criar um link de recurso (console)
-
Abra o console do AWS Glue em https://console.aws.amazon.com/glue/
. -
No painel de navegação, escolha Catálogos.
-
Na lista Catálogo, selecione s3tablescatalog.
-
Selecione a tabela que você deseja compartilhar no
s3tablescatalog. -
Escolha Ações e, em seguida, escolha Criar link de recurso.
-
Em Nome do link de recurso, insira um nome para o link de recurso.
-
Em Banco de dados de destino, selecione o banco de dados em que você deseja criar o link de recurso.
-
(Opcional) Em Description (Descrição), insira uma descrição.
-
Escolha Criar.
O link de recurso aparece no banco de dados de destino e aponta para a tabela original em s3tablescatalog.
Criar links de recursos (AWS CLI)
Crie um link de recurso de banco de dados:
aws glue create-database \ --database-name "my-database-resource-link" \ --database-input '{ "Name": "sales_data_link", "TargetDatabase": { "CatalogId": "account-id:s3tablescatalog/analytics-bucket", "DatabaseName": "sales" } }'
Crie um link de recurso de tabela:
aws glue create-table \ --table-name "my-table-resource-link" \ --table-input '{ "Name": "sales_data_link", "TargetTable": { "CatalogId": "account-id:s3tablescatalog/analytics-bucket", "DatabaseName": "sales", "Name": "transactions" } }'