自 2025 年 11 月 1 日起,Amazon Redshift 將不再支援建立新的 Python UDFs。如果您想要使用 Python UDFs,請在該日期之前建立 UDFs。現有的 Python UDFs將繼續如常運作。如需詳細資訊,請參閱部落格文章
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
UDF 安全性和許可
若要建立 UDF,您必須具有 SQL 或 plpythonu (Python) 的語言使用權許可。根據預設,USAGE ON LANGUAGE SQL 是授予 PUBLIC,不過,您必須將 USAGE ON LANGUAGE PLPYTHONU 明確授予特定使用者或群組。
若要撤銷 SQL 的使用權,請先從 PUBLIC 撤銷使用權。然後僅將 SQL 使用權授予獲得許可建立 SQL UDF 的特定使用者或群組。下列範例撤銷從 PUBLIC 使用 SQL。然後,它會將使用權授予使用者群組 udf_devs
。
revoke usage on language sql from PUBLIC; grant usage on language sql to group udf_devs;
若要執行 UDF,您必須具有對每個函數執行此操作的許可。根據預設,新 UDF 的執行許可會授予 PUBLIC。若要限制使用權,請從 PUBLIC 撤銷函數的此項許可。然後將許可授予特定個人或群組。
下列範例撤銷從 PUBLIC 執行函數 f_py_greater
。然後,它會將使用權授予使用者群組 udf_devs
。
revoke execute on function f_py_greater(a float, b float) from PUBLIC; grant execute on function f_py_greater(a float, b float) to group udf_devs;
根據預設,超級使用者具備所有權限。