開始使用 Oracle NoSQL Database Cloud Service
Oracle NoSQL Database Cloud Service 是一項完全託管的資料庫雲端服務,專為需要對簡單查詢進行可預測、數毫秒延遲回應的資料庫作業所設計。
NoSQL Database Cloud Service 可讓開發人員專注於應用程式開發,而非設定叢集伺服器,或執行系統監控、調整、診斷及調整。NoSQL Database Cloud Service 適用於 Internet of Things、使用者體驗個人化、即時詐騙偵測及線上展覽活動廣告等應用系統。
通過 Oracle Cloud 帳戶認證後,您可以建立 NoSQL 表格,並指定表格的輸送量和儲存需求。Oracle 保留並管理資源,以符合您的需求,並為您佈建容量。使用傳輸量的讀取和寫入單位和儲存單位的 GB 來指定容量。
本文包含下列主題:
快速鏈結
您可以從下列其中一個快速連結開始使用 Oracle NoSQL Database Service:
表格 - 快速連結
| 立刻行動 - 快速入門:立刻行動 - 主要功能 - 雲端概念 - 定價 |
連線 - 取得您的證明資料 - 連線 NDCS 的認證 - 將您的應用程式連線至 NDCS - 資料區域和關聯的服務端點 |
IDE and SDKs - Using IntelliJ Plugin for Development - Using Visual Studio Code Extension for Development - Oracle NoSQL Java SDK - Oracle NoSQL Python SDK - Oracle NoSQL GO SDK - Oracle NoSQL Node.js SDK - Oracle NoSQL Dotnet SDK - Oracle NoSQL Rust SDK |
| 建立表格 - 設計表格 - 使用主控台建立單一表格 - 使用 API 建立單一表格 - 全域作用中表格 - 使用主控台建立全域作用中表格 - 使用 API 建立全域作用中表格 - 使用 OCI cli 建立表格 |
輸入並瀏覽資料 - 使用主控台來新增資料 - 使用 API 來新增資料 - 使用主控台來擷取資料 - 使用 Get API 來擷取資料 - 使用 Query API 來擷取資料 - 查詢父項子項表格 |
管理表格 - 使用 API 修改單一表格 - 使用 API 修改全域作用中表格 - 刪除表格與索引 - 使用主控台管理表格與索引 |
| 管理安全性 - 設定使用者群組與政策 - 授予其他使用者管理 NoSQL 表格的權限 - 政策參考 |
監視服務 - 服務事件 - 服務配額 - 指標 - 建立與管理警示 |
公用事業 - 下載 Oracle NoSQL Database Cloud 模擬器 - 開發 Oracle NoSQL Database Cloud 模擬器 - 使用 Oracle NoSQL Database 移轉器 - 使用 Oracle NoSQL Database Analytics Integrator |
| SQL 參照 - 在 SQL 中使用運算子 - 排序群組和限制資料 - 在 SQL 中使用主要表示式 - 在查詢中使用時間戳記函數 - 在查詢中使用字串函數 |
參考指南 - Analytics Integrator 參考 - NDCS 的範例使用案例 - GAT 疑難排解問題 |
設定您的服務
如果您是第一次設定 Oracle NoSQL Database Cloud Service,請依照這些作業的指南操作。
| 作業 | 參考資料 | 相關資訊 |
|---|---|---|
| 訂購 Oracle NoSQL Database Cloud Service 或註冊 Oracle 免費試用。 | 註冊 Oracle Cloud Infrastructure 的 Oracle Cloud Infrastructure 文件。 | 若要瞭解如何預估 Oracle NoSQL Database Cloud Service 訂閱的每月成本,請參閱預估每月成本。 若要升級免費帳戶或變更付款方式,請參閱 Oracle Cloud Infrastructure 說明文件中的變更付款方式。 |
| 啟用您的 Oracle Cloud 帳戶並第一次登入。 | Oracle Cloud Infrastructure 文件中的登入主控台。 | 若要熟悉 Oracle Cloud Infrastructure 主控台,請參閱 Oracle Cloud Infrastructure 文件中的使用主控台。 |
| (建議) 建立您服務的區間。 | 建立隔間 | 如果您不熟悉區間,請參閱 Oracle Cloud Infrastructure 文件中的瞭解區間。 |
| 管理服務的安全性。 | 關於 Oracle NoSQL Database Cloud Service 安全性模型 | 若要熟悉 NoSQL Database Cloud Service 安全性模型,請參閱關於 Oracle NoSQL Database Cloud Service 安全性模型。 |
從基礎架構主控台存取服務
瞭解如何從基礎架構主控台存取 Oracle NoSQL Database Cloud Service 服務。
-
從歡迎電子郵件找出服務 URL,然後登入您的 Oracle NoSQL Database Cloud Service。
-
開啟導覽功能表,按一下資料庫,然後按一下 NoSQL 資料庫。
-
選取服務管理員為您的表格建立的區間。
若要檢視目前頁面的說明,請按一下頁面頂端的說明圖示
。
建立隔間
當您註冊 Oracle Cloud Infrastructure 時,Oracle 會建立一個包含您所有雲端資源之根區間的租用戶。然後在租用戶 (根區間) 內建立其他區間和相應的原則,以控制對每個區間中資源的存取。建立 Oracle NoSQL Database Cloud Service 表格之前,Oracle 建議您先設定表格所屬的區間。
您可以在 Oracle Cloud Infrastructure Identity and Access Management (IAM) 中建立區間。請參閱 Oracle Cloud Infrastructure 文件中的設定您的租用戶和管理區間。
連線至 Oracle NoSQL Database 的認證
您需要有 Oracle Cloud 帳戶,才能將應用程式連線至 Oracle NoSQL Database Cloud Service。
如果您還沒有 Oracle Cloud 帳戶,可以從 Oracle Cloud 開始。您必須在連線至 Oracle NoSQL Database 時認證自己。您可以使用下列其中一種方式來認證:
認證方法 #1:使用者主參與者
此處使用 OCI 使用者和 API 金鑰進行認證。用於連線您應用程式的證明資料與特定使用者關聯。若要為您的應用程式建立使用者,請參閱使用身分識別與存取管理設定使用者、群組及原則。
您可以使用下列其中一種方式,提供此認證方法的證明資料:
-
此檔案使用本機磁碟上的檔案包含詳細資訊,例如使用者 OCID、租用戶 OCID、區域、私密金鑰路徑以及指紋。如果您使用安全網路,且將私密金鑰和配置儲存在本機上符合您的安全策略,則可使用此選項。
-
透過 API 提供證明資料。
-
將證明資料儲存在保存庫中。
包含證明資料的資訊:
表格 - 證明資料
| 這是什麼? | 哪裡可以找到它? |
|---|---|
| 租用戶 ID 和使用者 ID (兩者都是 OCID) | 請參閱 Oracle Cloud Infrastructure 文件中的取得租用戶的 OCID 和使用者的 OCID 。 |
| API 簽章金鑰 | 對於應用程式使用者,必須產生並上傳 API 簽署金鑰。如果已經完成此步驟,則可以略過此步驟。 若要深入瞭解,請參閱 Oracle Cloud Infrastructure 文件中的下列資源:
|
| 簽署金鑰的指紋和 (選擇性) 簽署金鑰的密碼詞組 | 產生並上傳 API 簽署金鑰時,會建立簽署金鑰的指紋和密碼詞組。請參閱 Oracle Cloud Infrastructure 文件中的如何取得金鑰的指紋。 |
注意:在產生和上傳 API 簽署金鑰時,記下公開金鑰的位置、選擇性的密碼詞組和指紋。
執行上述討論的工作之後,請收集證明資料資訊並將它們提供給您的應用程式。
為您的應用程式提供證明資料:
Oracle NoSQL Database SDK 可讓您以多種方式將證明資料提供給應用程式。SDK 支援組態檔,以及允許直接指定資訊的一或多個介面。請參閱您用來瞭解特定證明資料介面的程式設計語言驅動程式文件。
如果使用配置檔案,預設位置為 ~/.oci/config。SDK 可讓檔案位於替代位置。內容的顯示方式如下:
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaas...7ap
fingerprint=d1:b2:32:53:d3:5f:cf:68:2d:6f:8b:5f:77:8f:07:13
key_file=~/.oci/oci_api_key_private.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaap...keq
pass_phrase=mysecretphrase
[DEFAULT] 行表示接下來的行會指定 DEFAULT 設定檔。配置檔案可以包含多個設定檔,前面加上 [PROFILE_NAME]。舉例而言:
[DEFAULT]
user=ocid1.user.oc1..aaaaaaaas...7us
fingerprint=d1:b2:32:53:d3:5f:cf:68:2d:6f:8b:5f:77:8f:07:15
key_file=~/.oci/oci_api_key_private.pem
tenancy=ocid1.tenancy.oc1..aaaaabbap...keq
pass_phrase=mysecretphrase
[MYPROFILE]
user=ocid1.user.oc1..aaaaaaaas...7ap
fingerprint=d1:b2:32:53:d3:5f:cf:68:2d:6f:8b:5f:77:8f:07:13
key_file=~/.oci/oci_api_key_private.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaap...keq
pass_phrase=mysecretphrase
認證方法 #2:執行處理主體
執行處理主體是 Oracle Cloud Infrastructure Identity and Access Management (IAM) 的一項功能,可讓您從執行處理進行服務呼叫。使用執行處理主體時,您不需要為在運算執行處理上執行的服務設定使用者證明資料,也不需要輪換證明資料。執行處理本身現在是 IAM 的主要類型。每個運算執行處理都有自己的身分識別,並使用新增至執行處理的憑證進行認證。這些憑證會自動建立、指定給執行處理,以及輪換。
使用執行處理主要項目認證,您可以授權執行處理對 Oracle Cloud Infrastructure 服務進行 API 呼叫。設定必要的資源和原則後,在執行處理上執行的應用程式可以呼叫 Oracle Cloud Infrastructure 公用服務,而不需要設定使用者證明資料或組態檔。您可以從不想儲存組態檔的執行處理使用執行處理主體認證。
認證方法 #3:資源主體
您可以使用資源委派人來驗證和存取 Oracle Cloud Infrastructure 資源。資源主要項目包含暫時階段作業記號和安全證明資料,讓其他 Oracle Cloud 服務能夠向 Oracle NoSQL Database 進行認證。資源主體認證與執行處理主體認證非常相似,但用於非執行處理 (例如無伺服器函數) 的資源。
資源主體可讓資源被授權執行 Oracle Cloud Infrastructure 服務的動作。每個資源都有自己的識別,而資源則使用新增至它的憑證進行認證。這些憑證會自動建立、指定給資源及輪換,讓您不需要建立及管理自己的證明資料即可存取資源。當您使用資源主體進行認證時,並不需要建立及管理證明資料,即可存取 Oracle Cloud Infrastructure 資源。
認證後,您必須獲得授權才能存取 Oracle Cloud Infrastructure 資源。請參閱使用身分識別與存取管理設定使用者、群組及原則以瞭解詳細資訊。
認證方法 #4:權杖型驗證
權杖型驗證可讓您建立並使用暫時階段作業權杖來驗證及存取 Oracle Cloud Infrastructure 資源。您可以使用記號式認證,建立包含使用者 OCID、租用戶 OCID、區域、私密金鑰路徑以及暫時階段作業記號檔案路徑等資訊的本機組態檔。此方法會搭配使用此資訊,以及將在 1 小時內到期的暫時階段作業記號 (預設值)。需要快速的暫時認證時,可以使用階段作業記號式認證。
建立階段作業記號:您可以使用或不使用 Web 瀏覽器來產生階段作業記號。
使用瀏覽器:
若要使用 Web 瀏覽器在電腦上針對 CLI 使用權杖型驗證:
-
在終端機中,執行下列指令:
oci session authenticate -
選取區域。
-
在瀏覽器中,輸入您的使用者憑證。
-
認證成功後,請關閉瀏覽器,然後依照終端機上的互動式提示執行。您必須提供要在組態檔中建立的設定檔名稱。新的設定檔組態就會寫入
~/.oci/config檔案。下面顯示更新新設定檔 (例如 TEST) 的組態檔範例。[TEST] user=<ocid1.user.oc1.........> fingerprint=<XX:XX:...........> key_file=<C:\Users\XXXXXX\.oci\oci_api_key_private.pem> tenancy=<ocid1.tenancy.oc1.....> region=us-ashburn-1 security_token_file=<C:\Users\XXXXXX\.oci\sessions\TEST\token>
不使用瀏覽器:
若要在沒有 Web 瀏覽器的情況下對 CLI 使用權杖型驗證,您必須先使用 API 金鑰型驗證進行驗證。
oci setup config
此命令會提示您輸入建立組態檔以及 API 公用金鑰和私密金鑰所需的資訊。設定對話方塊會使用此資訊來產生 API 金鑰組,並建立組態檔。若要在沒有 Web 瀏覽器的情況下,針對 CLI 使用權杖型驗證,請執行下列指令:
oci session authenticate --no-browser
您必須提供要在組態檔中建立的設定檔名稱。新的設定檔組態就會寫入 ~/.oci/config 檔案。下面顯示更新新設定檔 (例如 TEST) 的組態檔範例。
[TEST]
user=<ocid1.user.oc1.........>
fingerprint=<XX:XX:...........>
key_file=<full_directory_path_oci_api_key_private.pem>
tenancy=<ocid1.tenancy.oc1.....>
region=us-ashburn-1
security_token_file=<full_directory_path_token>
認證方法 #5:OKE 工作負載以識別為基礎的認證
Oracle Container Engine for Kubernetes (OKE) Workload Identity 提供精細的身分識別和存取管理控制。工作負載是在 Kubernetes 上執行的應用程式。它可由單一元件或數個元件組成,這些元件可在一組 Pod 中一起執行。工作負載資源是由叢集、命名空間和服務帳號的唯一組合來識別。此唯一組合稱為工作負載識別。OKE 工作負載身分識別可讓您使用 OCI Identity and Access Management (IAM) 將原則導向的 Oracle Cloud Infrastructure (OCI) 資源存取權授予 K8 Pod。
使用工作負載識別,您不再需要將證明資料儲存為 Kubernetes 叢集中的加密密碼,或依賴 OCI 動態群組來存取工作節點原則導向的 OCI 資源,更明確地說是存取 NoSQL 表格。當應用程式需要存取 OCI 資源時,Workload Identity 可讓您將範圍內的 OCI IAM 原則寫入與應用程式 Pod 關聯的 Kubernetes 服務帳戶。此功能可讓在這些 Pod 中執行的應用程式根據原則提供的權限,直接存取 OCI API。
若要將工作負載中的所有 Pod 授予任何 OCI 資源的存取權:
-
建立服務帳號的命名空間。
-
建立要使用的應用程式的服務帳號。
-
定義 IAM 原則,以將工作負載資源存取權授予其他 OCI 資源。
-
下載並設定應用程式撰寫語言適用的 SDK。
-
編輯申請以指定:
-
要使用 Kubernetes 引擎工作負載身分識別提供者認證工作負載要求
-
要存取的 OCI 資源
-
-
更新應用程式的部署規格,以指定工作負載中的每個 Pod 都要使用服務帳號。
授權讓工作負載存取必要的 OCI 資源:
-
在 OCI 主控台中,開啟導覽功能表並按一下識別與安全。在「識別」底下,按一下原則。
-
按一下建立原則,然後為原則指定名稱。
-
輸入讓工作負載以下列格式存取必要的 OCI 資源的原則敘述句:
Allow any-user to <verb> <resource> in <location> where all { request.principal.type = 'workload', request.principal.namespace = '<namespace-name>', request.principal.service_account = '<service-account-name>', request.principal.cluster_id = '<cluster-ocid>' }其中:
-
<namespace-name> 是您先前建立之命名空間的名稱。
-
<service-account-name> 是您先前建立的服務帳號名稱。
-
<cluster-OCID> 是您先前所取得的叢集 OCID。
按一下建立以建立新原則。
將您的應用程式連線至 NDCS
瞭解如何將應用軟體連接到 Oracle NoSQL Database Cloud Service。
您的應用程式使用多種可用方法進行認證後,便會連線至 Oracle NoSQL Database Cloud Service。
您可以使用下列其中一種方法進行認證:
-
API 簽署金鑰
-
直接編碼任何 SDK (Java、Python、C#、GO、Node.js、Rust) 程式
-
具有預設設定檔的配置檔案
-
具有非預設設定檔的組態檔
-
-
具有認證權杖的執行處理主體
-
資源主參與者
-
階段作業記號
-
OKE 工作負載識別
請參閱連線至 Oracle NoSQL Database 的認證,瞭解認證選項的詳細資訊。
您可以使用下列其中一種方法連線至 NDCS:
-
直接在程式碼中提供證明資料:
/* Use the SignatureProvider to supply your credentials to NoSQL Database. * By default, the SignatureProvider will read your OCI configuration file * from the default location, ~/.oci/config. See SignatureProvider for * additional options for reading configurations in other ways. */ SignatureProvider sp = new SignatureProvider( tenantId, // a string, OCID userId, // a string, OCID fingerprint , // a string privateKey, // a string, content of private key passPhrase // optional, char[] ); //Create an handle to access the cloud service in your service region. NoSQLHandleConfig config = new NoSQLHandleConfig(Region.<your-service-region>); config.setAuthorizationProvider(sp); NoSQLHandle handle = NoSQLHandleFactory.createNoSQLHandle(config); //At this point, your handle is set up to perform data operations. -
使用預設設定檔來連線預設組態檔:
/* Use the SignatureProvider to supply your credentials to NoSQL Database. * By default, the SignatureProvider will read your OCI configuration file * from the default location, ~/.oci/config. See SignatureProvider for * additional options for reading configurations in other ways. */ SignatureProvider sp = new SignatureProvider(); -
使用具有非預設設定檔的預設組態檔進行連線:
/* Use the SignatureProvider to supply your credentials to NoSQL Database. * Specify the name of the non-default profile in the constructor for SignatureProvider. */ final String profile_name = "<name_of_the_profile>"; SignatureProvider sp = new SignatureProvider(profile_name); -
使用指定的設定檔和設定檔連線:
/* Use the SignatureProvider to supply your credentials to NoSQL Database. * You specify the full path of the non-default config file and also the name * of the profile */ final String config_filepath = "<full_path_of_config_file>"; final String profile_name = "<name_of_the_profile>"; SignatureProvider sp = new SignatureProvider(config_filepath, profile_name); -
使用執行處理主體連線:
「執行處理主體」是一項 IAM 服務功能,可讓執行處理成為授權的動作者 (或主體) 在服務資源上執行動作。每個運算執行處理都有自己的身分識別,並使用新增至該執行處理的憑證進行認證。
SignatureProvider authProvider = SignatureProvider.createWithInstancePrincipal(); -
使用資源主體連線:
「資源主體」是一項 IAM 服務功能,可讓資源成為授權的動作者 (或主體) 在服務資源上執行動作。
SignatureProvider authProvider = SignatureProvider.createWithResourcePrincipal(); -
使用 session-token 連線:
您可以使用
createWithSessionToken()方法,使用從記號檔案讀取的暫時階段作業記號來建立 SignatureProvider。記號檔案的路徑是從預設位置之組態檔中的預設設定檔讀取。使用的組態檔為~/.oci/config。SignatureProvider authProvider = SignatureProvider.createWithSessionToken();您也可以在組態檔的非預設設定檔中提供記號檔案的路徑,如下所示。記號檔案的路徑是從組態檔中預設位置的指定設定檔讀取。
SignatureProvider authProvider = SignatureProvider.createWithSessionToken(<profile_name>); -
使用 OKE 工作負載識別連線:
您可以使用預設路徑
/var/run/secrets/kubernetes.io/serviceaccount/token的 Kubernetes 服務帳戶記號,建立含有 Container Engine for Kubernetes (OKE) 工作負載識別的 SignatureProvider。此提供者只能在 Kubernetes Pod 內使用。SignatureProvider authProvider = SignatureProvider.createWithOkeWorkloadIdentity();您也可以指定要使用的特定 Kubernetes 服務帳戶記號,如下所示。
SignatureProvider authProvider = SignatureProvider.createWithOkeWorkloadIdentity(<serviceAccountToken>);或者,您也可以指定要使用的特定 Kubernetes 服務帳戶記號位置,如下所示。
SignatureProvider authProvider = SignatureProvider.createWithOkeWorkloadIdentity(<serviceAccountToken_location>);
如需所使用 Java 類別的詳細資訊,請參閱 SignatureProvider 。
您可以使用下列其中一種方法連線至 NDCS:
-
直接在程式碼中提供證明資料:
from borneo.iam import SignatureProvider # # Use SignatureProvider directly via API. Note that the # private_key argument can either point to a key file or be the # string content of the private key itself. # at_provider = SignatureProvider(tenant_id='ocid1.tenancy.oc1..tenancy', user_id='ocid1.user.oc1..user', private_key=key_file_or_key, fingerprint='fingerprint', pass_phrase='mypassphrase') -
使用預設設定檔來連線預設組態檔:
from borneo.iam import SignatureProvider # # Use SignatureProvider with a default credentials file and # profile in $HOME/.oci/config # at_provider = SignatureProvider() -
以非預設設定檔使用指定的組態檔進行連線:
from borneo.iam import SignatureProvider # # Use SignatureProvider with a non-default credentials file and profile # at_provider = SignatureProvider(config_file='myconfigfile', profile_name='myprofile') -
使用執行處理主要項目連線:
「執行處理主體」是一項 IAM 服務功能,可讓執行處理成為授權的動作者 (或主體) 在服務資源上執行動作。每個運算執行處理都有自己的身分識別,並使用新增至該執行處理的憑證進行認證。
at_provider = SignatureProvider.create_with_instance_principal(region=my_region) -
使用資源主體連線:
「資源主體」是一項 IAM 服務功能,可讓資源成為授權的動作者 (或主體) 在服務資源上執行動作。
at_provider = SignatureProvider.create_with_resource_principal() -
使用 session-token 連線:
婆羅洲使用 OCI SDK 進行階段作業權杖認證。OCI 簽署者會作為參數傳送至 SignatureProvider 建構子,如下所示。
from borneo.iam import SignatureProvider # Use SignatureProvider with a provider argument which is an instance of # oci.auth.signers.SecurityTokenSigner at_provider = SignatureProvider(<instance of oci.auth.signers.SecurityTokenSigner>) -
使用 OKE 工作負載識別連線:
OKE 工作負載認證簽署者是一種簽署者,可使用「OKE 工作負載識別」,將整個工作負載 (在 Kubernetes 叢集上執行的應用程式) 存取 NoSQL 表格。它可以由
oci.auth.signers.get_oke_workload_identity_resource_principal_signer擷取。然後,可以在初始化用戶端時使用擷取的簽署者。from borneo.iam import SignatureProvider oke_workload_signer = oci.auth.signers.get_oke_workload_identity_resource_principal_signer()如果您有與預設路徑不同的 Kubernetes 服務帳戶記號路徑,則可以指定路徑,如下所示:
token_path = "path_to_your_token_file" oke_workload_signer = oci.auth.signers.get_oke_workload_identity_resource_principal_signer(service_account_token_path=token_path) at_provider = SignatureProvider(oke_workload_signer)您也可以直接傳送 Kubernetes 服務帳戶權杖,如下所示:
#token_string = "your_token_string" #oke_workload_signer = oci.auth.signers.get_oke_workload_identity_resource_principal_signer(service_account_token=token_string) at_provider = SignatureProvider(oke_workload_signer)
您可以使用下列任何一種方法將應用程式連線到 NDCS:
-
直接在程式碼中提供證明資料:
privateKeyFile := "/path/to/privateKeyFile" passphrase := "examplepassphrase" sp, err := iam.NewRawSignatureProvider("ocid1.tenancy.oc1..tenancy", "ocid1.user.oc1..user", "<your-service-region>", "fingerprint", "compartmentID", privateKeyFile , &passphrase ) if err != nil { return } cfg := nosqldb.Config{ AuthorizationProvider: sp, // This is only required if the "region" property is not //specified in the config file. Region: "<your-service-region>", } -
使用預設設定檔來連線預設組態檔:
cfg := nosqldb.Config{ // This is only required if the "region" property is not //specified in ~/.oci/config. // This takes precedence over the "region" property when both are specified. Region: "<your-service-region>", } client, err := nosqldb.NewClient(cfg) -
以非預設設定檔使用指定的組態檔進行連線:
sp, err := iam.NewSignatureProviderFromFile("your_config_file_path", "your_profile_name", "", "compartment_id") if err != nil { return } cfg := nosqldb.Config{ AuthorizationProvider: sp, // This is only required if the "region" property is not specified in the config file. Region: "us-ashburn-1", } client, err := nosqldb.NewClient(cfg) -
使用執行處理主要項目連線:
「執行處理主體」是一項 IAM 服務功能,可讓執行處理成為授權的動作者 (或主體) 在服務資源上執行動作。每個運算執行處理都有自己的身分識別,並使用新增至該執行處理的憑證進行認證。
sp, err := iam.NewSignatureProviderWithInstancePrincipal("compartment_id") if err != nil { return } cfg := nosqldb.Config{ AuthorizationProvider: sp, Region: "<your-service-region>", } client, err := nosqldb.NewClient(cfg) -
使用資源主體連線:
「資源主體」是一項 IAM 服務功能,可讓資源成為授權的動作者 (或主體) 在服務資源上執行動作。
sp, err := iam.NewSignatureProviderWithResourcePrincipal("compartment_id") if err != nil { return } cfg := nosqldb.Config{ AuthorizationProvider: sp, Region: "<your-service-region>", } client, err := nosqldb.NewClient(cfg) -
使用 session-token 連線:
NewSessionTokenSignatureProvider函數會使用從記號檔案讀取的暫時階段作業記號來建立SignatureProvider。func NewSessionTokenSignatureProvider() (*SignatureProvider, error)使用的組態檔為
~/.oci/config。使用DEFAULT設定檔。記號檔案的路徑是使用security_token_file欄位的值從組態讀取。使用此建構子時,使用者會有一個所有表格的預設區間。它是使用者租用戶的根區間。若要使用非預設的組態檔 (
~/.oci/config以外),您可以使用NewSessionTokenSignatureProviderFromFile函數。func NewSessionTokenSignatureProviderFromFile(configFilePath, ociProfile, privateKeyPassphrase string) (*SignatureProvider, error)此函數會使用 OCI 組態檔
configFilePath中指定的ociProfile,使用從記號檔案讀取的暫時階段作業記號來建立SignatureProvider。記號檔案的路徑是使用security_token_file欄位的值從組態讀取。只有在私密金鑰使用密碼詞組,且未在 OCI 組態檔的pass_phrase欄位中指定時,才需要privateKeyPassphrase欄位。使用此建構子時,使用者會有一個所有表格的預設區間。它是使用者租用戶的根區間。 -
使用 OKE 工作負載識別連線:
Oracle NoSQL go SDK 支援在 OCI 中的 OKE 工作負載容器內執行程式。在建立 SignatureProvider 以搭配 NoSQL 使用的程式碼中,新增下列程式碼以使用 OKE 工作負載識別:
conf, err := ociauth.OkeWorkloadIdentityConfigurationProvider() if err != nil { return nil, fmt.Errorf("cannot create an Oke Provider: %v", err) } myconf := &myConfigProvider{conf} sp, err := iam.NewSignatureProviderWithConfiguration(myconf, compartmentID) if err != nil { return nil, fmt.Errorf("cannot create a Signature Provider: %v", err) }
您可以使用下列其中一種方法連線至 NDCS:
-
直接在程式碼中提供證明資料:
您可以在初始組態中直接指定證明資料作為
auth.iam特性的一部分。建立 NoSQLClient 執行處理如下:import { NoSQLClient, Region } from 'oracle-nosqldb'; let client = new NoSQLClient({ region: <your-service-region> auth: { iam: { tenantId: myTenancyOCID, userId: myUserOCID, fingerprint: myPublicKeyFingerprint, privateKeyFile: myPrivateKeyFile, passphrase: myPrivateKeyPassphrase } } }); -
使用預設設定檔來連線預設組態檔:
您可以將證明資料儲存在 Oracle Cloud Infrastructure 組態檔中。配置檔案的預設路徑為
~/.oci/config,其中~代表使用者的主目錄。在 Windows 上,~是USERPROFILE環境變數的值。檔案可以包含多個設定檔。SDK 預設會使用名為 DEFAULT 的設定檔來儲存證明資料。若要使用這些預設值,請在 ~/.oci 目錄中建立具名組態的檔案,並包含下列內容:
[DEFAULT] tenancy=<your-tenancy-ocid> user=<your-user-ocid> fingerprint=<fingerprint-of-your-public-key> key_file=<path-to-your-private-key-file> pass_phrase=<your-private-key-passphrase> region=<your-region-identifier>請注意,您也可以在 OCI 組態檔中同時指定區域 ID 與證明資料。驅動程式會依預設查看上述位置,如果區域與證明資料一起提供,您就不需要提供初始組態,而且可以使用無引數建構子:
import { NoSQLClient, Region } from 'oracle-nosqldb'; let client = new NoSQLClient();或者,您也可以選擇在組態中指定區域:
import { NoSQLClient, Region } from 'oracle-nosqldb'; let client = new NoSQLClient({ region: Region.<your-service-region> }); -
以非預設設定檔使用指定的組態檔進行連線:
您可以選擇對 OCI 組態檔使用不同的路徑,以及在組態檔內使用不同的設定檔。在此情況下,請在初始組態的
auth.iam特性中指定這些值。例如,如果您的 OCI 組態檔路徑是~/myapp/.oci/config,而您將證明資料儲存在Jane設定檔底下:然後建立 NoSQLClient 執行處理,如下所示:
import { NoSQLClient, Region } from 'oracle-nosqldb'; let client = new NoSQLClient({ region: Region.<your-service-region>, auth: { iam: { configFile: '<your_config_file>', profileName: '<name_of_your_profile>' } } }); -
使用執行處理主要項目連線:
「執行處理主體」是一項 IAM 服務功能,可讓執行處理成為授權的動作者 (或主體) 在服務資源上執行動作。每個運算執行處理都有自己的身分識別,並使用新增至該執行處理的憑證進行認證。
設定好之後,請依下列方式建立 NoSQLClient 執行處理:
import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1..............' auth: { iam: { useInstancePrincipal: true } } });您也可以使用與上述相同組態的 JSON 組態檔。請注意,使用執行處理主體時,必須指定區間 ID (OCID) 作為區間特性。即使您想要使用預設區間,也必須輸入此值。請注意,您必須使用區間 ID,而非區間名稱或路徑。此外,使用「執行處理主體」時,在呼叫 NoSQLClient API 時,您不能在表格名稱前面加上區間名稱或路徑。
-
使用資源主體連線:
「資源主體」是一項 IAM 服務功能,可讓資源成為授權的動作者 (或主體) 在服務資源上執行動作。
設定好之後,請依下列方式建立 NoSQLClient 執行處理:
import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1...........................' auth: { iam: { useResourcePrincipal: true } } });您也可以使用與上述相同組態的 JSON 組態檔。請注意,使用「資源主體」時,您必須指定區間 ID (OCID) 作為區間特性。即使您想要使用預設區間,也必須輸入此值。請注意,您必須使用區間 ID,而非區間名稱或路徑。此外,使用「資源主體」時,在呼叫 NoSQLClient API 時,您不能在表格名稱前面加上區間名稱或路徑。
-
使用 session-token 連線:
您可以使用以階段作業權杖為基礎的認證,建立包含使用者 OCID、租用戶 OCID、區域、私密金鑰路徑以及暫時階段作業權杖檔案路徑等資訊的本機組態檔。
import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1.............. ' auth: { iam: { useSessionToken: true } } });這個方法使用從記號檔案讀取的暫時階段作業記號。記號檔案的路徑是從 OCI 組態檔中的預設設定檔讀取,作為
security_token_file欄位的值。若要使用非預設的組態檔 (
~/.oci/config以外),您可以指定組態檔的路徑和設定檔的名稱,如下所示。import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1.............. ' auth: { iam: { useSessionToken: true, "configFile": "<path_to_config_file>", "profileName": "<profile_name>" } } }); -
使用 OKE 工作負載識別連線:
Oracle NoSQL Node.js SDK 支援在 OCI 的 OKE 工作負載容器內執行程式。
import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1...........................' ' auth: { iam: { useOKEWorkloadIdentity: true } }' } );此授權配置只能在 Kubernetes Pod 內使用。若使用 OKE 工作負載識別,必須要有服務帳戶權杖。依預設,提供者會從預設檔案路徑
/var/run/secrets/kubernetes.io/serviceaccount/token載入服務帳戶憑證。您可以透過指定下列 3 個特性之一來覆寫此項目並提供您的服務帳戶權杖:-
serviceAccountToken 提供服務帳戶權杖字串。
-
serviceAccountTokenFile 可提供服務帳戶權杖檔案的路徑。
-
serviceAccountTokenProvider 提供可載入服務帳戶權杖的自訂提供者。
-
如需檔案內容與格式的詳細資訊,請參閱 SDK Configuration File 。
您可以使用下列其中一種方法連線至 NDCS:
-
直接在程式碼中提供證明資料:
您可以在建立 IAMAuthorizationProvider 時,直接將證明資料指定為 IAMCredentials。建立 NoSQLClient,如下所示:
var client = new NoSQLClient( new NoSQLConfig { Region=<your-service-region>, AuthorizationProvider = new IAMAuthorizationProvider( new IAMCredentials { TenantId=myTenancyOCID, UserId=myUserOCID, Fingerprint=myPublicKeyFingerprint, PrivateKeyFile=myPrivateKeyFile }) }); -
使用預設設定檔來連線預設組態檔:
您可以將證明資料儲存在 Oracle Cloud Infrastructure 組態檔中。配置檔案的預設路徑為
~/.oci/config,其中~代表使用者的主目錄。在 Windows 上,~是USERPROFILE環境變數的值。檔案可以包含多個設定檔。SDK 預設會使用名為 DEFAULT 的設定檔來儲存證明資料若要使用這些預設值,請在
~/.oci目錄中以下列內容建立名為config的檔案:[DEFAULT] tenancy=<your-tenancy-ocid> user=<your-user-ocid> fingerprint=<fingerprint-of-your-public-key> key_file=<path-to-your-private-key-file> pass_phrase=<your-private-key-passphrase> region=<your-region-identifier>請注意,您也可以在 OCI 組態檔中同時指定區域 ID 與證明資料。依照預設,驅動程式會在預設路徑和預設設定檔中尋找 OCI 組態檔中的證明資料和區域。因此,如果您將區域與上述證明資料一起提供,就可以在不傳送任何組態的情況下建立 NoSQLClient 執行處理:
var client = new NoSQLClient();或者,您也可以在 NoSQLConfig 中指定區域 (以及其他特性):
var client = new NoSQLClient( new NoSQLConfig( { Region = Region.<your-service-region>, Timeout = TimeSpan.FromSeconds(10), })); -
以非預設設定檔使用指定的組態檔進行連線:
您可以選擇對 OCI 組態檔使用不同的路徑,以及在組態檔內使用不同的設定檔。在這種情況下,請在初始配置的 auth.iam 特性中指定這些值。例如,如果您的 OCI 組態檔路徑是
~/myapp/.oci/config,而您將證明資料儲存在Jane設定檔底下:然後建立 NoSQLClient 執行處理,如下所示:
var client = new NoSQLClient( new NoSQLConfig { Region = Region.<your-service-region>, AuthorizationProvider = new IAMAuthorizationProvider( "<your_config_file>", "<your_profile_name>") }); -
使用執行處理主要項目連線:
「執行處理主體」是一項 IAM 服務功能,可讓執行處理成為授權的動作者 (或主體) 在服務資源上執行動作。每個運算執行處理都有自己的身分識別,並使用新增至該執行處理的憑證進行認證。設定好之後,請依下列方式建立 NoSQLClient 執行處理:
var client = new NoSQLClient( new NoSQLConfig { Region=<your-service-region>, Compartment="ocid1.compartment.oc1.............................", AuthorizationProvider=IAMAuthorizationProvider.CreateWithInstancePrincipal() });您也可以在 JSON 中表示相同的組態,如下所示:
{ "Region": "<your-service-region>", "AuthorizationProvider": { "AuthorizationType": "IAM", "UseInstancePrincipal": true }, "Compartment": "ocid1.compartment.oc1.............................", }請注意,使用執行處理主體時,您必須將區間 ID (OCID) 指定為區間特性。即使您想要使用預設區間,也必須輸入此值。請注意,您必須使用區間 ID,而非區間名稱或路徑。此外,使用「執行處理主體」時,在呼叫 NoSQLClient API 時,您不能在表格名稱前面加上區間名稱或路徑。
-
使用資源主體連線:
「資源主體」是一項 IAM 服務功能,可讓資源成為授權的動作者 (或主體) 在服務資源上執行動作。設定好之後,請依下列方式建立 NoSQLClient 執行處理:
var client = new NoSQLClient( new NoSQLConfig { Region = <your-service-region>, Compartment = "ocid1.compartment.oc1.............................", AuthorizationProvider = IAMAuthorizationProvider.CreateWithResourcePrincipal() });您也可以在 JSON 中表示相同的組態,如下所示:
{ "Region": "<your-service-region>", "AuthorizationProvider": { "AuthorizationType": "IAM", "UseResourcePrincipal": true }, "Compartment": "ocid1.compartment.oc1.............................", }請注意,使用「資源主體」時,您必須將區間 ID (OCID) 指定為區間特性。即使您想要使用預設區間,也必須輸入此值。請注意,您必須使用區間 ID,而非區間名稱或路徑。此外,使用「資源主體」時,在呼叫 NoSQLClient API 時,您不能在表格名稱前面加上區間名稱或路徑。
-
使用 session-token 連線:
您可以使用以階段作業權杖為基礎的認證,建立包含使用者 OCID、租用戶 OCID、區域、私密金鑰路徑以及暫時階段作業權杖檔案路徑等資訊的本機組態檔。
您可以使用三種方法的其中一種,使用以階段作業為基礎的認證,如下所示。
選項 1:這會使用預設 OCI 組態檔和預設設定檔名稱的階段作業權杖型驗證,來建立新的 IAMAuthorizationProvider 執行處理。
var client = new NoSQLClient( new NoSQLConfig { Region = <your-service-region>, Compartment = "ocid1.compartment.oc1.............................", AuthorizationProvider = IAMAuthorizationProvider.CreateWithSessionToken() });選項 2:這會使用階段作業權杖型驗證搭配預設的 OCI 組態檔和指定的設定檔名稱,來建立新的 IAMAuthorizationProvider 執行處理。
var client = new NoSQLClient( new NoSQLConfig { Region = <your-service-region>, Compartment = "ocid1.compartment.oc1.............................", AuthorizationProvider = IAMAuthorizationProvider.CreateWithSessionToken(<profileName>) });選項 3:這會使用階段作業權杖型驗證搭配指定的 OCI 組態檔和設定檔名稱,來建立新的 IAMAuthorizationProvider 執行處理。
var client = new NoSQLClient( new NoSQLConfig { Region = <your-service-region>, Compartment = "ocid1.compartment.oc1.............................", AuthorizationProvider = IAMAuthorizationProvider.CreateWithSessionToken(<configFile>,<profileName>) });您也可以在 JSON 中表示相同的組態,如下所示:
{ "Region": "<your-service-region>", "AuthorizationProvider": { "AuthorizationType": "IAM", "UseSessionToken": true }, "Compartment": "ocid1.compartment.oc1............................." } -
使用 OKE 工作負載識別連線:
Oracle NoSQL Dotnet SDK 支援在 OCI 中的 OKE 工作負載容器內執行程式。
以下範例使用 OKE 工作負載識別,建立新的 IAMAuthorizationProvider 執行處理。此方法可讓您指定選擇性的服務帳號憑證字串。若未指定,將會從預設檔案路徑
/var/run/secrets/kubernetes.io/serviceaccount/token讀取服務帳號憑證。var client = new NoSQLClient( new NoSQLConfig { Region = <your-service-region>, Compartment = "ocid1.compartment.oc1.............................", AuthorizationProvider = IAMAuthorizationProvider.CreateWithOKEWorkloadIdentity() });您也可以使用 OKE 工作負載識別和指定的服務帳戶記號檔案,建立新的 IAMAuthorizationProvider 執行處理,如下所示。
var client = new NoSQLClient( new NoSQLConfig { Region = <your-service-region>, Compartment = "ocid1.compartment.oc1.............................", AuthorizationProvider = IAMAuthorizationProvider.CreateWithOKEWorkloadIdentityAndTokenFile(<serviceAccountTokenFile>) });您也可以在 JSON 中表示相同的組態,如下所示:
{ "Region": "<your-service-region>", "AuthorizationProvider": { "AuthorizationType": "IAM", "UseOKEWorkLoadIdentity": true }, "Compartment": "ocid1.compartment.oc1.............................", }
您可以使用下列其中一種方法連線至 NDCS:
-
使用預設設定檔來連線預設組態檔:
您可以將證明資料儲存在 Oracle Cloud Infrastructure 組態檔中。配置檔案的預設路徑為
~/.oci/config,其中~代表使用者的主目錄。在 Windows 上,~是USERPROFILE環境變數的值。檔案可以包含多個設定檔。SDK 預設會使用名為 DEFAULT 的設定檔來儲存證明資料若要使用這些預設值,請在
~/.oci目錄中以下列內容建立名為config的檔案:[DEFAULT] tenancy=<your-tenancy-ocid> user=<your-user-ocid> fingerprint=<fingerprint-of-your-public-key> key_file=<path-to-your-private-key-file> pass_phrase=<your-private-key-passphrase> region=<your-region-identifier>請注意,您也可以在 OCI 組態檔中同時指定區域 ID 與證明資料。依照預設,驅動程式會在預設路徑和預設設定檔中尋找 OCI 組態檔中的證明資料和區域。只有在未使用
HandleBuilder::cloud_region()時,才需要區域。Thepass_phraseis only required if the RSA key file requires one.任何 Oracle NoSQL Database Cloud Service Rust 應用程式的第一步,都是根據 HandleBuilder 結構中提供的組態,建立用於將要求傳送給服務的控點。「控制碼」的執行處理可安全用於並行使用,並用於在多執行緒或非同步應用程式中共用。下列程式碼範例顯示如何使用使用者組態檔連線至雲端服務:
let handle = Handle::builder() .cloud_auth_from_file("~/.oci/config")? .build().await?; -
使用執行處理主體連線
「執行處理主體」是一項 IAM 服務功能,可讓執行處理成為授權的動作者 (或主體) 在服務資源上執行動作。每個運算執行處理都有自己的身分識別,並使用新增至該執行處理的憑證進行認證。若要在此模式中設定 NoSQL,請使用以下程式碼:
let handle = Handle::builder() .cloud_auth_from_instance()? .compartment_id ("ocid1.compartment.oc1.............................")? .build().await?;
一般工作流程
使用 Oracle NoSQL Database Cloud Service 的一般作業順序。
如果您是第一次使用 Oracle NoSQL Database Cloud Service 開發應用程式,請依照這些作業作為指南。
| 作業 | 描述 | 其他資訊 |
|---|---|---|
| 連結您的應用系統 | 將您的應用程式連線到使用 Oracle NoSQL Database Cloud Service 表格。 | 將您的應用程式連線至 NDCS |
| 開發您的應用程式 | 在連線至 Oracle NoSQL Database Cloud Service 表格之後開發您的應用程式。 | 在 Oracle Cloud 中開發 在 Oracle NoSQL Database Cloud 模擬器中開發 </p> |
如果您是第一次設定 Oracle NoSQL Database Cloud Service,請參閱設定您的服務。
快速入門教學課程
存取快速入門教學課程,並開始使用服務。
-
取得服務的存取權。
註冊參加雲端推廣活動,或購買 Oracle Cloud 訂閱。啟用您的訂單、建立使用者 (選擇性)。請參閱設定您的服務。
-
取得證明資料以連線您的應用程式。請參閱連線至 Oracle NoSQL Database 的認證。
-
在 Oracle NoSQL Database Cloud Service 中建立表格。若要開始使用,請參閱在 Oracle NoSQL Database Cloud Service 中開始使用表格。