Redshift 工具¶
讓 Agent 對 Amazon Redshift 資料倉儲下 SQL 查詢,把查到的資料用來回答。適合資料量大、已經集中在 Redshift 的分析型問題,例如「上個月各通路的銷售金額」「哪些客戶的續約率最低」。
這項偏技術
本頁牽涉叢集、無伺服器工作群組、Secret ARN、IAM 權限等技術概念。這些值一律由工程或 IT 同事提供,你不需要自己判斷——把下面的欄位表拿給他們,請他們給你「連線目標是哪一種、識別碼/工作群組叫什麼、用哪個 Secret ARN」三個答案,照著填即可。
開始前
- 你要先知道自己的 Redshift 是哪一種:佈建叢集(Provisioned Cluster,有固定的叢集識別碼)或 Redshift 無伺服器(Serverless,有工作群組名稱)。兩者的填法不同。
- 存取憑證有兩種給法:資料庫使用者(只有佈建叢集能用)或 Secret ARN(兩種都能用,憑證存在 AWS Secrets Manager)。
- 若要指定用哪組 AWS 權限連線,請先建立一個 AWS 類型的連結器,見 Connector 資源;留空則使用平台預設的 AWS 工作階段。
預設唯讀,保護資料
Redshift 工具的「唯讀」預設為開啟,只允許 SELECT、WITH、SHOW、DESCRIBE、EXPLAIN 這類查詢,其餘一律拒絕。真正的安全邊界仍是你給的 IAM 權限,這個開關是多一層防護;除非你清楚風險,建議保持開啟。
「描述」決定 Agent 會不會用對工具
Agent 是靠每個工具的「描述」(Description)判斷何時、該不該用它。建議寫明這個資料倉儲裝什麼資料、哪些問題該來這裡查(例如「公司歷年訂單與出貨明細,回答銷售、客戶、營收相關問題時使用」)。寫得太籠統,可能該用時沒用、或用錯場合。
操作步驟¶
- 進入要設定的 Agent,點「編輯」。
- 展開「自訂工具」區塊,點表格中央的「+」圖示鈕。
- 在工具清單中選擇「Redshift」。
- 填入「名稱」與「描述」。
- 視需要選擇「連結器」(AWS 類型)與預設「資料庫」。「連結器」的挑選對話框裡請點該列「名稱」以外的任一格(或列前面的選鈕)來選取,再按對話框右上角的「儲存」——點「名稱」會在新分頁開啟該資源的詳細頁,不會選取它(見資源挑選欄位)。
- 在「連線目標」選「佈建叢集」或「無伺服器工作群組」,並填入對應的「叢集識別碼」或「工作群組」。
- 在「驗證方式」選「資料庫使用者」或「Secret ARN」,並填入對應欄位。
- 視需要調整「等待逾時」與「唯讀」。
- 點「儲存」,回到 Agent 設定後再按一次「儲存」才會生效。

欄位說明¶
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 名稱(Name) | 是 | (無) | 工具識別名稱,同一 Agent 內不可重複。 |
| 描述(Description) | 是 | (無) | 說明這個資料倉儲裝什麼、何時該查,最長 4096 字。 |
| 連結器(Connector) | 否 | (無) | 這次查詢要使用的 AWS 連結器,清單只會列出 AWS 類型的連結器。留空則使用平台預設的 AWS 工作階段。 |
| 資料庫(Database) | 否 | (無) | 預設要查詢的資料庫名稱;Agent 可在執行時改查其他資料庫。 |
| 連線目標(Connection Target) | 是 | 佈建叢集 | 兩選一,決定下方要填「叢集識別碼」還是「工作群組」(見下方對照表)。 |
| 叢集識別碼(Cluster Identifier) | 是(選「佈建叢集」時) | (無) | 要查詢的佈建 Redshift 叢集識別碼。 |
| 工作群組(Workgroup) | 是(選「無伺服器工作群組」時) | (無) | 要查詢的 Redshift 無伺服器工作群組名稱。 |
| 驗證方式(Auth Type) | 是 | Secret ARN | 兩選一,決定下方要填「資料庫使用者」還是「Secret ARN」(見下方對照表)。 |
| 資料庫使用者(DB User) | 是(選「資料庫使用者」時) | (無) | 用來驗證的資料庫使用者名稱。 |
| Secret ARN | 是(選「Secret ARN」時) | (無) | 存放資料庫憑證的 AWS Secrets Manager ARN。 |
| 等待逾時(Wait Timeout) | 是 | 300 | 等待查詢結果的最長秒數,範圍 1–870 的整數。超過就取消該次查詢並回傳逾時。查詢量大的報表可調高,但別超過上限。 |
| 唯讀(Read Only) | 否 | 開啟 | 開啟後拒絕任何非唯讀查詢,只允許 SELECT、WITH、SHOW、DESCRIBE、EXPLAIN 等。 |
| 顯示名稱 / 標籤 | 否 | (無) | 顯示名稱(Display Name,最長 64 字)與標籤(Tags),位於進階設定。 |
連線目標怎麼選¶
| 選項 | 適合 | 說明 |
|---|---|---|
| 佈建叢集(Provisioned Cluster) | 你的 Redshift 是常駐叢集 | 連線至佈建的 Redshift 叢集,要填「叢集識別碼」。兩種驗證方式都可用。 |
| 無伺服器工作群組(Serverless Workgroup) | 你用的是 Redshift Serverless | 連線至 Redshift 無伺服器工作群組,要填「工作群組」。只能用 Secret ARN 驗證。 |
驗證方式怎麼選¶
| 選項 | 適合 | 說明 |
|---|---|---|
| Secret ARN | 多數情況、以及所有無伺服器工作群組 | 憑證存在 AWS Secrets Manager,由 ARN 取用,兩種連線目標皆適用。 |
| 資料庫使用者(DB User) | 用 IAM 產生臨時憑證連佈建叢集 | 以資料庫使用者進行驗證,僅適用於佈建叢集。 |
選「無伺服器工作群組」時,「資料庫使用者」會被停用
「驗證方式」下拉裡的「資料庫使用者」只對佈建叢集有效。當「連線目標」選的是「無伺服器工作群組」時,該選項會呈灰色不可選,並自動切換為「Secret ARN」;已填的驗證欄位會清空,需重新填寫。切換「連線目標」時也會清掉原本填的叢集識別碼/工作群組,這是為了避免留下兩種目標混在一起的設定。
實際效果¶
設定好之後,當使用者問到資料倉儲裡的資料,Agent 會自行把問題轉成 SQL、透過 Redshift Data API 送出查詢,再用查回來的資料作答。對話會以可展開的卡片依序顯示 Agent 送出的查詢語句與資料庫回傳的資料列,最後才是整理過的回答;查詢若超過「等待逾時」設定的秒數會被取消,並在對話中顯示逾時,此時可以縮小查詢範圍或調高逾時秒數再試。
本頁沒有執行畫面的截圖——請這樣自行判讀
這個工具要接上你自己的 Redshift 才會有結果,畫面內容完全取決於你的資料表,所以本頁不放截圖。設定完成後,在 Agent 的對話中問一個相關問題,點開回覆上方的「顯示思考過程」(見與 Agent 對話),用下面三種情況對照,就能判斷是正常還是哪裡沒設好:
- 正常:時間軸會出現一張「使用 <你在「名稱」填的工具名稱>…」卡片,點開看得到 Agent 這次送出的 SQL;緊接著一張「接收 …的查詢結果」卡片,裡面是查回來的資料列。最後才是整理過的回答。
- 卡片出現了,但結果是空的或紅字錯誤:代表工具有被呼叫,問題在連線或權限(例如叢集識別碼/工作群組填錯、Secret ARN 沒有權限、資料表不存在),或查詢超過「等待逾時」被取消。把卡片裡的錯誤訊息整段複製給負責這個資料倉儲的工程同事看,最快。
- 完全沒有工具卡片:Agent 根本沒想到要用它。這幾乎都是「描述」寫得不夠具體——回到工具設定,把「描述」改成明確寫出「這個資料倉儲裝什麼、哪些問題該來這裡查」,再重開一段新對話試一次。
下一步¶
- 要指定 AWS 權限 → Connector 資源
- 同類型的其他資料庫工具 → MySQL 工具、Athena 工具、OpenSearch 工具
- 回到 工具總覽