本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
RDS for Oracle 的 Amazon Bedrock 整合
RDS for Oracle 支援與 Amazon Bedrock 整合,可讓您使用 SQL 直接從 Oracle 資料庫叫用基礎模型。透過此整合,您可以使用生成式 AI 功能,例如文字產生、摘要和內嵌產生,而無需將資料移出資料庫。
注意
僅 Oracle Database 26ai 支援 Amazon Bedrock 整合。
Bedrock 整合的需求
若要使用 Amazon Bedrock 與 RDS for Oracle 整合,請確保符合下列要求。
資料庫需求
-
您的資料庫執行個體必須執行 Oracle Database 26ai (26.0.0.0) 或更新版本。
-
叫用 Bedrock 模型的資料庫使用者必須具有
DBMS_CLOUD和DBMS_CLOUD_AI套件EXECUTE的權限。 -
資料庫必須設定存取控制項目 (ACEs),以允許傳出 HTTPS 存取 Bedrock 執行時間端點。如需詳細資訊,請參閱設定 Bedrock 整合。
AWS 登入資料需求
-
您必須擁有具有許可的 IAM 使用者或角色,才能叫用所需的 Amazon Bedrock 基礎模型 (
bedrock:InvokeModel和選用bedrock:InvokeModelWithResponseStream動作)。 -
您必須使用 Amazon Bedrock 主控台請求並取得所需基礎模型的存取權。如需詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的存取 Amazon Bedrock 基礎模型。
-
您必須擁有 AWS 存取金鑰 (存取金鑰 ID 和私密存取金鑰),您的 IAM 身分才能使用 存放在資料庫中
DBMS_CLOUD.CREATE_CREDENTIAL。
Amazon VPC 網路需求
RDS for Oracle 資料庫執行個體必須能夠到達連接埠 443 (HTTPSbedrock-runtime.) 上的 Amazon Bedrock 執行期端點 ()。您可以透過下列其中一種方式達成此目的。region.amazonaws.com
選項 1:Amazon VPC 介面端點 (AWS PrivateLink) – 建議
為 Amazon Bedrock 執行時間服務建立 Amazon VPC 介面端點。這可保持 AWS 網路內所有流量的私密性,且不需要網際網路存取。
-
使用服務名稱建立 Amazon VPC 介面端點:
com.amazonaws.。region.bedrock-runtime -
將端點放在與 Amazon RDS 資料庫執行個體相同的 Amazon VPC 和子網路 (或連接到資料庫執行個體子網路的子網路)。
-
將安全群組連接至允許從資料庫執行個體安全群組傳入 HTTPS (連接埠 443) 的端點。
-
為端點啟用私有 DNS,讓標準主機名稱
bedrock-runtime.解析為私有端點 IP 地址。region.amazonaws.com -
確保資料庫執行個體的安全群組允許傳出 HTTPS (連接埠 443) 到端點的安全群組 (或端點的私有 IP 地址)。
選項 2:NAT 閘道 (網際網路路由)
如果您不使用 Amazon VPC 端點,資料庫執行個體的子網路必須具有透過 NAT 閘道連至網際網路的路由。
-
確定資料庫執行個體位於具有 NAT 閘道路由的私有子網路中。
-
NAT 閘道必須位於具有網際網路閘道路由的公有子網路中。
-
資料庫執行個體的安全群組必須允許傳出 HTTPS (連接埠 443) 到
bedrock-runtime.。region.amazonaws.com -
資料庫執行個體子網路上的任何 Amazon VPC 網路 ACLs 必須允許傳出 TCP 443 和對應的暫時性傳入傳回流量 (TCP 連接埠 1024–65535)。
下表摘要說明網路路徑。
| 方法 | 需要網際網路存取 | 流量路徑 |
|---|---|---|
|
Amazon VPC 端點 (AWS PrivateLink) |
否 |
資料庫執行個體 → Amazon VPC 端點 → Bedrock 服務 |
|
NAT 閘道 |
是 (僅限傳出) |
資料庫執行個體 → NAT 閘道 → 網際網路閘道 → Bedrock 服務 |
設定 Bedrock 整合
若要設定 RDS for Oracle 資料庫執行個體的 Amazon Bedrock 整合,請完成下列步驟。
步驟 1:設定 Amazon VPC 網路連線
使用中所述的其中一個網路選項,確保您的資料庫執行個體可以到達 Bedrock 執行時間端點Amazon VPC 網路需求。若要在組態後驗證連線能力,您可以在後續步驟中從資料庫進行測試。
步驟 2:取得具有 Bedrock 許可的 AWS 登入資料
使用下列政策建立 IAM 使用者或角色 (或將其連接至現有身分)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockInvoke", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/*" ] } ] }
若要限制存取特定模型,請將萬用字元取代為特定模型 ARNs,例如:
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-sonnet-4-5-20250929-v1:0"
從 IAM 主控台產生此 IAM 使用者的存取金鑰。您需要存取金鑰 ID 和私密存取金鑰,才能進行下一個步驟。
步驟 3:授予資料庫權限
以 DBA 身分連線,並將必要的權限授予應用程式使用者。
-- Grant EXECUTE on DBMS_CLOUD and DBMS_CLOUD_AI GRANT EXECUTE ON DBMS_CLOUD TOdb_user; GRANT EXECUTE ON DBMS_CLOUD_AI TOdb_user;
步驟 4:授予 Bedrock 端點的網路 ACL 存取權
授予資料庫使用者網路 ACL 對 Bedrock 執行時間端點的存取權。
BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'bedrock-runtime.region.amazonaws.com', ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => 'db_user', principal_type => xs_acl.ptype_db) ); END; /
將區域取代為您的 AWS 區域 (例如,us-east-1),並將 db_user 取代為將調用 Bedrock 模型的 Oracle 資料庫使用者。
步驟 5:在資料庫中建立登入資料
以應用程式使用者身分連線,並使用 建立登入資料物件DBMS_CLOUD。
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'AWS_BEDROCK_CRED', username => 'your_AWS_access_key_id', password => 'your_AWS_secret_access_key' ); END; /
步驟 6:建立 Bedrock 的 AI 設定檔
使用 來建立 AI 設定檔DBMS_CLOUD_AI,以參考您的登入資料並指定 AWS 做為提供者。
BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => 'BEDROCK_PROFILE', attributes => '{"provider": "aws", "credential_name": "AWS_BEDROCK_CRED", "model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "object_list": [{"owner": "schema", "name": "table1"}, {"owner": "schema", "name": "table2"}] }' ); END; /
若要在 以外的區域中使用 Amazon Bedrock 執行時間端點us-east-1,請在設定檔target_language屬性 JSON 中包含 region和 屬性。將 region設定為 Amazon Bedrock 執行時間端點所在的區域 (例如 us-west-2)。
如果您設定 region,您還必須包含 target_language或 source_language。您必須同時設定兩個屬性,即使是不使用轉譯的動作,例如 chat或 runsql。
此target_language值只會影響 translate動作。如果您只包含target_language沒有 的 region,則設定檔會繼續使用 bedrock-runtime.us-east-1.amazonaws.com。
注意
由於 Oracle region DBMS_CLOUD_AI套件的已知限制,您必須target_language同時設定 。
下列範例會建立使用 us-west-2區域的設定檔。
BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => 'BEDROCK_PROFILE_USW2', attributes => '{"provider": "aws", "credential_name": "AWS_BEDROCK_CRED", "region": "us-west-2", "target_language": "en", "model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "object_list": [{"owner": "schema", "name": "table1"}, {"owner": "schema", "name": "table2"}] }' ); END; /
您必須明確指定 model 屬性。未為 AWS 提供者提供預設模型。如需模型 IDs,請參閱下列參考:
-
基礎模型:Amazon Bedrock 基礎模型 IDs。
-
跨區域推論描述檔:跨區域推論支援的 區域和模型。
-
佈建輸送量:指定佈建輸送量的 ARN。
-
自訂模型:購買佈建輸送量,然後指定產生的佈建模型的 ARN。
驗證您的 Bedrock 整合
使用簡單的提示測試連線。
EXEC DBMS_CLOUD_AI.SET_PROFILE('BEDROCK_PROFILE'); SELECT AI chat what is Amazon RDS;
如果回應成功傳回,則會正確設定 Bedrock 整合。
使用 Bedrock 整合
設定整合之後,您可以使用 SQL 搭配 Select AI 從 Oracle 資料庫叫用 Amazon Bedrock 基礎模型。
如需 Amazon Bedrock 的完整使用範例,包括SELECT AI動作 (runsql、chat、、 showsql narrate和 explainsql)、 DBMS_CLOUD_AI.GENERATE函數、多轉對話和擷取擴增產生 (RAG),請參閱下列 Oracle 文件: