跳轉到
版本 v1.0.25

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 工具的「唯讀」預設為開啟,只允許 SELECTWITHSHOWDESCRIBEEXPLAIN 這類查詢,其餘一律拒絕。真正的安全邊界仍是你給的 IAM 權限,這個開關是多一層防護;除非你清楚風險,建議保持開啟。

「描述」決定 Agent 會不會用對工具

Agent 是靠每個工具的「描述」(Description)判斷何時、該不該用它。建議寫明這個資料倉儲裝什麼資料、哪些問題該來這裡查(例如「公司歷年訂單與出貨明細,回答銷售、客戶、營收相關問題時使用」)。寫得太籠統,可能該用時沒用、或用錯場合。


操作步驟

  1. 進入要設定的 Agent,點「編輯」。
  2. 展開「自訂工具」區塊,點表格中央的「+」圖示鈕。
  3. 在工具清單中選擇「Redshift」。
  4. 填入「名稱」與「描述」。
  5. 視需要選擇「連結器」(AWS 類型)與預設「資料庫」。「連結器」的挑選對話框裡請點該列「名稱」以外的任一格(或列前面的選鈕)來選取,再按對話框右上角的「儲存」——點「名稱」會在新分頁開啟該資源的詳細頁,不會選取它(見資源挑選欄位)。
  6. 在「連線目標」選「佈建叢集」或「無伺服器工作群組」,並填入對應的「叢集識別碼」或「工作群組」。
  7. 在「驗證方式」選「資料庫使用者」或「Secret ARN」,並填入對應欄位。
  8. 視需要調整「等待逾時」與「唯讀」。
  9. 點「儲存」,回到 Agent 設定後再按一次「儲存」才會生效。

新增 Redshift 工具的設定面板,包含名稱、描述、連結器、資料庫、連線目標、叢集識別碼、驗證方式、Secret ARN、等待逾時與唯讀等欄位


欄位說明

欄位 必填 預設 說明
名稱(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) 開啟 開啟後拒絕任何非唯讀查詢,只允許 SELECTWITHSHOWDESCRIBEEXPLAIN 等。
顯示名稱 / 標籤 (無) 顯示名稱(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 根本沒想到要用它。這幾乎都是「描述」寫得不夠具體——回到工具設定,把「描述」改成明確寫出「這個資料倉儲裝什麼、哪些問題該來這裡查」,再重開一段新對話試一次。

下一步