Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
使用 IAM 角色授權 COPY、UNLOAD、CREATE EXTERNAL FUNCTION 和 CREATE EXTERNAL SCHEMA 操作
您可以用 COPY 命令將資料載入 (或匯入) Amazon Redshift,也能使用 UNLOAD 命令從 Amazon Redshift 卸載 (或匯出) 資料。您可以使用 CREATE EXTERNAL FUNCTION 命令來建立使用者定義的函數,從 AWS Lambda 中調用函數。
使用 Amazon Redshift Spectrum 時,您可以使用 CREATE EXTERNAL SCHEMA 命令指定 Amazon S3 儲存貯體的位置 (其中包含您資料)。執行 COPY、UNLOAD 或 CREATE EXTERNAL SCHEMA 命令時,您必須提供安全憑證。這些憑證會授權 Amazon Redshift 叢集對您的目標目的地 (例如 Amazon S3 儲存貯體) 讀取或寫入資料。
執行CREATE EXTERNAL FUNCTION時,您可以使用 IAM 角色參數提供安全憑證。這些憑證會授權您的 Amazon Redshift 叢集從 AWS Lambda 中調用 Lambda 函數。提供安全憑證的建議方式為指定 AWS Identity and Access Management (IAM) 角色。對於 COPY 和 UNLOAD,您可以提供臨時憑證。如需有關建立 IAM 角色的詳細資訊,請參閱 授權 Amazon Redshift 代表您存取 AWS 服務。
若使用者想要與 AWS 管理主控台 之外的 AWS 互動,則需要程式設計存取權。授予程式設計存取權的方式取決於存取 AWS 的使用者類型。
若要授與使用者程式設計存取權,請選擇下列其中一個選項。
| 哪個使用者需要程式設計存取權? | 到 | 根據 |
|---|---|---|
|
人力資源身分 (IAM Identity Center 中管理的使用者) |
使用臨時憑證簽署對 AWS CLI、AWS SDKs 或 AWS APIs 的程式設計請求。 |
請依照您要使用的介面所提供的指示操作。
|
| IAM | 使用臨時憑證簽署對 AWS CLI、AWS SDKs 或 AWS APIs 的程式設計請求。 | 請遵循 IAM 使用者指南 中 使用臨時憑證搭配 AWS 資源 中的指示。 |
| IAM | (不建議使用) 使用長期憑證簽署 AWS CLI、AWS SDKs 或 AWS APIs 的程式設計要求。 |
請依照您要使用的介面所提供的指示操作。
|
使用 IAM 角色的步驟如下:
-
建立要用於 Amazon Redshift 叢集的 IAM 角色。
-
將 IAM 角色與叢集相關聯。
-
呼叫 COPY、UNLOAD、CREATE EXTERNAL SCHEMA 或 CREATE EXTERNAL FUNCTION 命令時,請加入 IAM 角色的 ARN。