View a markdown version of this page

Berbagi data Amazon Redshift berlisensi di AWS Data Exchange - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Berbagi data Amazon Redshift berlisensi di AWS Data Exchange

Saat membuat data AWS Data Exchange share dan menambahkannya ke AWS Data Exchange produk, penyedia dapat melisensikan data di Amazon Redshift sehingga konsumen dapat menemukan, berlangganan, dan menanyakan data terbaru di Amazon Redshift ketika mereka memiliki langganan aktif. AWS Data Exchange

Dengan AWS Data Exchange data share yang ditambahkan ke AWS Data Exchange produk, konsumen secara otomatis memiliki akses ke data share produk ketika langganan mereka dimulai dan mempertahankan akses mereka selama langganan mereka aktif.

Bekerja dengan AWS Data Exchange berbagi data sebagai konsumen

Dengan Amazon Redshift, Anda dapat mengakses dan menganalisis kumpulan data AWS Data Exchange tanpa harus menyimpan atau mengelola salinan data.

Jika Anda seorang konsumen, ikuti langkah-langkah berikut untuk menemukan produk data yang berisi AWS Data Exchange datashares dan menanyakan data Amazon Redshift:

  1. Di AWS Data Exchange konsol, temukan dan berlangganan produk data yang berisi data AWS Data Exchange share.

    Setelah langganan dimulai, Anda dapat mengakses data Amazon Redshift berlisensi yang diimpor sebagai aset ke kumpulan data yang berisi AWS Data Exchange data share.

    Untuk informasi selengkapnya tentang cara memulai menggunakan produk data yang berisi data AWS Data Exchange share, lihat Ber langganan produk data pada. AWS Data Exchange

  2. Di konsol Amazon Redshift, buat cluster Amazon Redshift, jika diperlukan.

    Untuk informasi tentang cara membuat cluster, lihat Membuat cluster.

  3. Buat daftar data share yang tersedia untuk Anda dan lihat konten dari datashares. Untuk informasi selengkapnya, lihat DESKRIPSI DATA dan TAMPILKAN DATA SHARE.

    Contoh berikut menampilkan informasi dari inbound datashares dari namespace produsen tertentu. Saat Anda menjalankan DESC DATASHARE sebagai administrator konsumen, Anda harus menentukan opsi AKUN dan NAMESPACE untuk melihat data share masuk.

    DESC DATASHARE salesshare of ACCOUNT '123456789012' 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 |

    Hanya pengguna super cluster yang dapat melakukan ini. Anda juga dapat menggunakan SVV_DATASHARES untuk melihat datashares dan SVV_DATASHARE_OBJECTS untuk melihat objek di dalam datashare.

    Contoh berikut menampilkan inbound datashares dalam cluster konsumen.

    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
  4. Buat database lokal yang merujuk ke datashares. Anda harus menentukan opsi AKUN dan NAMESPACE untuk membuat database lokal untuk berbagi AWS Data Exchange data. Untuk informasi selengkapnya, lihat BUAT BASIS DATA.

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

    Jika Anda ingin kontrol yang lebih terperinci atas akses ke objek dalam database lokal, gunakan klausa WITH PERMISSIONS saat membuat database. Dengan klausa ini, Anda dapat memberikan izin tingkat objek untuk objek dalam database pada langkah 6.

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

    Anda dapat melihat database yang Anda buat dari datashare dengan menanyakan tampilan. SVV_REDSHIFT_DATABASE Anda dapat terhubung ke database ini secara langsung, atau Anda dapat terhubung ke database lokal di cluster konsumen Anda dan melakukan kueri lintas database untuk menanyakan data dari database datashare. Anda tidak dapat membuat datashare di atas objek database yang dibuat dari datashare yang ada. Namun, Anda dapat menyalin data ke tabel terpisah di cluster konsumen, melakukan pemrosesan apa pun yang diperlukan, dan kemudian berbagi objek baru yang dibuat.

    Anda juga dapat menggunakan konsol Amazon Redshift untuk membuat database dari berbagi data. Untuk informasi selengkapnya, lihat Membuat database dari datashares.

  5. (Opsional) Buat skema eksternal untuk merujuk dan menetapkan izin granular ke skema tertentu dalam database konsumen yang diimpor pada cluster konsumen. Untuk informasi selengkapnya, lihat BUAT SKEMA EKSTERNAL.

    CREATE EXTERNAL SCHEMA sales_schema FROM REDSHIFT DATABASE 'sales_db' SCHEMA 'public';
  6. Berikan izin pada database dan referensi skema yang dibuat dari berbagi data kepada pengguna atau peran dalam cluster konsumen sesuai kebutuhan. Untuk informasi selengkapnya, lihat HIBAH atau MENCABUT.

    GRANT USAGE ON DATABASE sales_db TO Bob;
    GRANT USAGE ON SCHEMA sales_schema TO ROLE Analyst_role;

    Jika Anda membuat database tanpa DENGAN IZIN, Anda hanya dapat menetapkan izin pada seluruh database yang dibuat dari datashare kepada pengguna dan peran Anda. Dalam beberapa kasus, Anda memerlukan kontrol halus pada subset objek database yang dibuat dari datashare. Jika demikian, Anda dapat membuat referensi skema eksternal yang menunjuk ke skema tertentu di datashare (seperti yang dijelaskan pada langkah sebelumnya) dan memberikan izin granular di tingkat skema.

    Anda juga dapat membuat tampilan yang mengikat terlambat di atas objek bersama dan menggunakannya untuk menetapkan izin terperinci. Anda juga dapat mempertimbangkan untuk meminta cluster produsen membuat berbagi data tambahan untuk Anda dengan perincian yang diperlukan. Anda dapat membuat referensi skema sebanyak mungkin ke database yang dibuat dari datashare yang Anda butuhkan.

    Jika Anda membuat database dengan WITH PERMISSIONS pada langkah 4, Anda harus menetapkan izin tingkat objek untuk objek dalam database bersama. Pengguna dengan hanya izin USAGE tidak dapat mengakses objek apa pun dalam database yang dibuat dengan WITH PERMISSIONS sampai mereka diberikan izin tingkat objek tambahan..

    GRANT SELECT ON sales_db.public.tickit_sales_redshift to Bob;
  7. Kueri data dalam objek bersama di datashares.

    Pengguna dan peran dengan izin pada database konsumen dan skema pada cluster konsumen dapat menjelajahi dan menavigasi metadata objek bersama apa pun. Mereka juga dapat menjelajahi dan menavigasi objek lokal dalam cluster konsumen. Untuk melakukan ini, mereka menggunakan driver JDBC atau ODBC, perintah SHOW, atau tampilan SVV_ALL dan SVV_REDSHIFT.

    Cluster produsen mungkin memiliki banyak skema dalam database, tabel, dan tampilan dalam setiap skema. Pengguna di sisi konsumen hanya dapat melihat subset objek yang tersedia melalui datashare. Pengguna ini tidak dapat melihat seluruh metadata dari cluster produsen. Pendekatan ini membantu menyediakan kontrol keamanan metadata granular dengan berbagi data.

    Anda terus terhubung ke database cluster lokal. Tapi sekarang, Anda juga dapat membaca dari database dan skema yang dibuat dari datashare menggunakan notasi database.schema.table tiga bagian. Anda dapat melakukan kueri yang menjangkau seluruh dan semua database yang terlihat oleh Anda. Ini bisa berupa database lokal di cluster atau database yang dibuat dari datashares. Atau, Anda dapat langsung terhubung ke database konsumen ini dan menjalankan kueri terhadap objek bersama dengan notasi parSIAL.

    Anda dapat mengakses data menggunakan kualifikasi penuh. Untuk informasi selengkapnya, lihat Cross-database contoh kueri.

    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

    Anda hanya dapat menggunakan pernyataan SELECT pada objek bersama. Namun, Anda dapat membuat tabel di cluster konsumen dengan menanyakan data dari objek bersama di database lokal yang berbeda.

    Selain kueri, konsumen dapat membuat tampilan pada objek bersama. Hanya tampilan yang mengikat terlambat atau tampilan terwujud yang didukung. Amazon Redshift tidak mendukung tampilan reguler pada data bersama. Tampilan yang dibuat konsumen dapat menjangkau beberapa database lokal atau database yang dibuat dari berbagi data. Untuk informasi selengkapnya, lihat CREATE VIEW.

    // Connect to a local cluster database // Create a view on shared objects and access it. CREATE VIEW sales_data AS SELECT * FROM sales_db.public.tickit_sales_redshift WITH NO SCHEMA BINDING; SELECT * FROM sales_data;