

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon Redshift 中將物件新增至資料共用
<a name="writes-adding-datashare"></a>

您可以依照下列其中一項程序，在主控台上和使用 SQL 新增各種類型的資料庫物件。

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

您可以使用**限定範圍許可**或**直接許可**區段，將物件新增至資料共用。選取**授予限定範圍許可**或**授予直接許可**以新增物件。選擇**新增**按鈕以新增物件。隨即會出現對話方塊。執行以下步驟：

1. 如果您選取**授予限定範圍許可**，則會顯示**授予限定範圍許可**頁面，您可以在此授予資料庫或結構描述層級的限定範圍許可。具有限定範圍許可的資料共用對於資料庫或結構描述內所有目前和未來的物件擁有指定的許可。如需詳細資訊，請參閱 [限定範圍權限](t_scoped-permissions.md)。

   1. 接著選取**資料庫限定範圍許可**，以授予資料庫層級的限定範圍許可。當您授予限定範圍許可時，這些許可會在建立資料共用時套用至目前的資料庫。這些許可無法授予個別物件，且同時適用於現有和新的物件 (結構描述、資料表、檢視、UDF)。

   1. 針對結構描述、資料表或檢視，或是使用者定義函式選取限定範圍許可。這表示，資料庫中的所有物件都已將選取的許可授予取用者。選取**授予**，完成授予資料庫限定範圍許可。

   1. 然後選取**結構描述限定範圍許可**，以授予結構描述層級的限定範圍許可。當您授予結構描述限定範圍許可時，新增至結構描述的所有物件都會擁有指定的資料共用許可。

   1. 從下拉式清單中選取您要新增至資料共用的結構描述。您一次只能選取單一結構描述。然後選取您要在所選取結構描述上授予的直接許可。

   1. 針對您的結構描述物件 (例如資料表、檢視和使用者定義函式) 選取限定範圍許可。這樣就會將許可授予結構描述中所有相符的物件。這些可以是現有物件或未來新增的物件。套用時，您無法在未撤銷限定範圍許可的情況下，從物件移除許可。

   1. 選取**授予**，完成授予結構描述限定範圍許可。

1. 如果您選取**授予直接許可**，則會顯示**授予直接許可**頁面，您可以在此授予每個物件層級的直接許可，例如結構描述、資料表、檢視或使用者定義函式。若要授予直接許可，您必須先將相關結構描述新增至資料共用。

   1. 接著選取**授予直接許可**給結構描述，以在特定結構描述上套用直接許可。然後為您的結構描述物件 (例如資料表、檢視和使用者定義函式) 選取結構描述許可，並選取您要新增至資料共用的結構描述。選取**授予**，完成將結構描述新增至資料共用。

   1. 您將結構描述新增至資料共用之後，就可以繼續為結構描述物件新增直接許可。再次選取**授予直接許可**。**授予直接許可**頁面隨即出現。然後導覽至結構描述物件的直接許可索引標籤。

   1. 選取**授予對資料表和檢視的直接許可**，以授予這些物件的物件層級直接許可。從清單中選取所需的直接許可和所需的物件。使用搜尋欄位來尋找資料共用物件。選取「授予」完成將資料表和檢視新增至資料共用。

   1. 選取**授予對使用者定義函式的直接許可**，以授予使用者定義函式的物件層級直接許可。從清單中選取所需的直接許可和所需的物件。使用搜尋欄位來尋找資料共用物件。選取**授予**，完成將使用者定義函式新增至資料共用。

1. 您也可以選擇是否要**新增未來的物件**。當您選擇包括新增至結構描述的資料共用物件時，表示新增至結構描述的物件會自動新增至資料共用。

1. 選擇**新增**以完成區段，並新增物件。這些全列在**資料共用物件**之下。

1. 加入物件之後，您可以選取個別物件，並編輯其權限。如果您選取結構描述，會出現對話方塊，詢問您是否要新增**限定範圍**權限。這使得結構描述中的每個現有或新增的物件都有一組預先選取的權限，適用於該物件類型。例如，管理員可以設定讓所有新增的資料表都具有 SELECT 和 UPDATE 權限。

1. 所有資料共用物件都會列在**限定範圍許可**或**直接許可**區段下。

1. 在**資料取用**者區段中，您可以新增命名空間或新增 AWS 帳戶做為資料共用的取用者。

1. 選擇**建立資料共用**以儲存變更。

建立資料共用之後，它會出現在**我的命名空間中建立的資料共用**下的清單中。如果您從清單中選擇資料共用，您可以檢視其取用者、物件及其他屬性。

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

若使用 SQL，資料共用擁有者必須授予要新增到資料共用之結構描述的 USAGE。GRANT 用於授予結構描述上的各種動作，包括 CREATE 和 USAGE。結構描述包含共用物件：

```
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;
```

或者，系統管理員也可以繼續執行 ALTER 命令，將結構描述新增至資料共用。以這種方式新增結構描述時，只會授予 USAGE 權限。

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

管理員新增結構描述之後，就可以授予結構描述中物件的資料共用權限。這些是讀取和寫入權限 GRANT ALL 範例顯示如何授予所有權限。

```
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;
```

您可以繼續執行像 ALTER DATASHARE 這樣的命令來新增資料表。當您這麼做時，只會授予新增物件的 SELECT 權限。

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

您可以對資料共用授予資料庫或結構描述內某一種類型的所有物件的限定範圍許可。具有限定範圍許可的資料共用對於資料庫或結構描述內所有目前和未來的物件擁有指定的許可。

 您可以在 [SVV\_DATABASE\_PRIVILEGES](r_SVV_DATABASE_PRIVILEGES.md) 中檢視資料庫層級限定範圍許可的範圍。您可以在 [SVV\_SCHEMA\_PRIVILEGES](r_SVV_SCHEMA_PRIVILEGES.md) 中檢視結構描述層級限定範圍許可的範圍。

以下是對資料共用授予限定範圍許可的語法。如需限定範圍許可的詳細資訊，請參閱 [限定範圍權限](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}
```

------