開始使用 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:

表格 - 快速連結

     

入門

連線

IDE 和 SDK

Create Tables

放置及瀏覽資料

Manage Tables

管理安全性

監督服務

公用程式

SQL 參照

參考指南

設定您的服務

如果您是第一次設定 Oracle NoSQL Database Cloud Service ,請按照指南操作這些作業。

作業 參考資料 相關資訊
訂購 Oracle NoSQL Database Cloud Service 或註冊 Oracle Free Trial Oracle Cloud Infrastructure 文件中的 Signing Up for Oracle Cloud Infrastructure

若要瞭解如何預估 Oracle NoSQL Database Cloud Service 訂閱的每月費用,請參閱預估每月費用

若要升級免費帳戶或變更付款方式,請參閱 Oracle Cloud Infrastructure 文件中的 Changing Your Payment Method

啟用您的 Oracle Cloud 帳戶並首次登入。 Oracle Cloud Infrastructure 文件中的登入主控台

若要熟悉 Oracle Cloud 基礎架構主控台,請參閱 Oracle Cloud Infrastructure 文件中的 Using the Console

(建議) 為您的服務建立區間。 建立區間

如果您不熟悉區間,請參閱 Oracle Cloud Infrastructure 文件中的瞭解區間

管理服務的安全性。 關於 Oracle NoSQL Database Cloud Service 安全模型 若要熟悉 NoSQL Database Cloud Service 安全性模型,請參閱關於 Oracle NoSQL Database Cloud Service 安全性模型

基礎架構主控台存取服務

瞭解如何從基礎架構主控台存取 Oracle NoSQL Database Cloud Service 服務。

  1. 從歡迎電子郵件尋找服務 URL,然後登入您的 Oracle NoSQL Database Cloud Service
  2. 開啟導覽功能表,依序按一下資料庫NoSQL 資料庫
  3. 選取服務管理員為您的表格建立的區間。
若要檢視目前頁面的說明,請按一下頁面頂端的說明圖示 「說明抽屜」圖示

建立區間

當您註冊 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 提供證明資料。
  • 將憑證儲存在某處的 Vault 中。

構成證明資料的資訊:

表格 - 證明資料

這是什麼? 在哪裡可以找到?
租用戶 ID 和使用者 ID (兩者皆為 OCID) 請參閱 Oracle Cloud Infrastructure 文件中的 Where to Get the Tenancy's OCID and User's 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 呼叫。設定好必要資源和原則之後,在執行處理上執行的 App 便可呼叫 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、區域、私密金鑰路徑及暫時階段作業權杖檔案路徑等資訊的本機組態檔。這個方法會使用此資訊以及暫時階段作業記號,而暫時階段作業記號會在一小時內過期 (依預設)。需要快速的暫時認證時,可以使用階段作業記號式認證。

建立階段作業記號:您可以使用或不使用 Web 瀏覽器來產生階段作業記號。

使用瀏覽器:

使用 Web 瀏覽器之電腦上的 CLI 使用記號式認證:
  1. 在終端機中,執行下列指令:
    oci session authenticate
  2. 選取區域。
  3. 在瀏覽器中,輸入您的使用者憑證。
  4. 成功驗證之後,請關閉瀏覽器,然後依照終端機上的互動式提示進行。您必須提供要在配置檔案中建立的設定檔名稱。新的設定檔配置會寫入 ~/.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) 工作負載身分識別提供精細的身分識別和存取管理控制。工作負載是在 Kubernetes 上執行的應用程式。它可以由單一元件組成,也可以由一組 Pod 中共同執行的數個元件組成。工作負載資源是由叢集、命名空間及服務帳號的唯一組合來識別。此唯一組合稱為工作負載識別。OKE 工作負載身分識別可讓您使用 OCI 身分識別與存取管理 (IAM),授予 K8s Pod 以原則導向的 Oracle Cloud Infrastructure (OCI) 資源存取權。

使用工作負載識別,您不再需要將證明資料儲存為 Kubernetes 叢集中的加密密碼,或依賴 OCI 動態群組來存取 OCI 資源,更明確地說,存取您的 NoSQL 表格。當應用程式需要存取 OCI 資源時,您可以使用工作負載識別將作用領域內的 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 construtor 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();
  • 使用階段作業記號連線:

    您可以使用 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()
  • 使用階段作業記號連線:

    Borneo 使用 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)
  • 使用階段作業記號連線:

    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 目錄中以下列內容建立名為 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>
    請注意,您也可以將區域 ID 與 OCI 組態檔中的證明資料一起指定。驅動程式預設會查看上方的位置,如果區域與證明資料一起提供,您就不需要提供初始組態,也可使用無引數的建構子:
    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 時,您不能在表格名稱前面加上區間名稱或路徑。
  • 使用階段作業記號連線:

    使用以階段作業記號為基礎的認證,您可以建立包含使用者 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 pods.Using OKE 工作負載識別內使用,需要服務帳戶權杖。依照預設,提供者會從預設檔案路徑 /var/run/secrets/kubernetes.io/serviceaccount/token 載入服務帳戶記號。您可以指定下列三種特性之一來覆寫此項目並提供您的服務帳戶權杖:
    • serviceAccountToken -- 提供服務帳戶記號字串。
    • serviceAccountTokenFile -- 提供服務帳戶記號檔案的路徑。
    • serviceAccountTokenProvider 提供自訂提供者以載入服務帳戶記號。

如需檔案內容與格式的詳細資訊,請參閱 SDK 配置檔案

您可以使用下列方法之一連線至 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>
    請注意,您也可以將區域 ID 與 OCI 組態檔中的證明資料一起指定。驅動程式預設會在預設路徑和預設設定檔中尋找 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 時,您不能在表格名稱前面加上區間名稱或路徑。

  • 使用階段作業記號連線:

    使用以階段作業記號為基礎的認證,您可以建立包含使用者 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() 時才需要區域。只有在 RSA 金鑰檔案需要 pass_phrase 時才需要。

    任何 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()?
    .build().await?;
  • 使用資源主體連線

    「資源主體」是一項 IAM 服務功能,可讓資源被授權的動作者 (或主體) 在服務資源上執行動作。若要在此模式中設定 NoSQL,請使用下列程式碼:
    let handle = Handle::builder()
    .cloud_auth_from_resource()?
    .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 模擬器中開發

如果您是第一次設定 Oracle NoSQL Database Cloud Service ,請參閱設定服務

快速入門教學課程

存取快速入門教學課程並開始使用服務。

  1. 取得服務的存取權。

    註冊雲端促銷或購買 Oracle Cloud 訂閱。啟用您的訂單,建立使用者 (選擇性)。請參閱設定您的服務

  2. 取得證明資料以連線您的應用程式。請參閱連線至 Oracle NoSQL Database 的認證

  3. Oracle NoSQL Database Cloud Service 中建立表格。