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 免费试用。 | Oracle Cloud Infrastructure 文档中的 Signing Up for Oracle Cloud Infrastructure 。 |
要了解如何估计 Oracle NoSQL Database Cloud Service 订阅的每月成本,请参阅估计每月成本。 要升级免费账户或更改付款方式,请参阅 Oracle Cloud Infrastructure 文档中的更改付款方式。 |
激活您的 Oracle Cloud 账户并首次登录。 | Oracle Cloud Infrastructure 文档中的登录到控制台。 |
要熟悉 Oracle Cloud Infrastructure Console ,请参见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 NoSQL Database 的验证
您需要有一个 Oracle Cloud 账户才能将应用连接到 Oracle NoSQL Database Cloud Service 。
验证方法 #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 调用。设置所需的资源和策略后,在实例上运行的应用程序可以调用 Oracle Cloud Infrastructure 公共服务,无需配置用户身份证明或配置文件。可以从不想存储配置文件的实例使用实例主体验证。
验证方法 3:资源主体
您可以使用资源主体来验证和访问 Oracle Cloud Infrastructure 资源。资源主体由临时会话令牌和安全凭证组成,使其他 Oracle Cloud 服务能够向 Oracle NoSQL Database 验证自身。资源主体验证与实例主体验证非常相似,但用于不是实例的资源,例如无服务器函数。
通过资源主体,可以授权资源对 Oracle Cloud Infrastructure 服务执行操作。每个资源都有自己的身份,该资源使用添加到它的证书进行验证。这些证书将自动创建、分配给资源并轮换,从而避免您创建和管理自己的凭证来访问资源。使用资源主体进行验证时,无需创建和管理凭证即可访问 Oracle Cloud Infrastructure 资源。
验证后,您需要获得访问 Oracle Cloud Infrastructure 资源的授权。有关更多详细信息,请参见 Setting Up Users,Groups,and Policies Using Identity and Access Management 。
将应用连接到 NDCS
了解如何将应用连接到 Oracle NoSQL Database Cloud Service 。
通过多种可用方法之一进行验证后,您的应用将连接到 Oracle NoSQL Database Cloud Service。
- API 密钥
- 从任何 SDK (Java,Python,C#,GO,Node.js) 程序直接硬编码
- 具有缺省配置文件的配置文件
- 具有非默认配置文件的配置文件
- 具有验证令牌的实例主用户
- 资源主体
有关验证选项的更多详细信息,请参阅用于连接到 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 full location of the configuration file in the construtor for SignatureProvider. */ final String config_file = "<path_to_config_file>"; SignatureProvider sp = new SignatureProvider(config_file);
-
使用实例主用户进行连接:
实例主用户是 IAM 服务功能,它允许实例为授权操作者(或主体)对服务资源执行操作。每个计算实例都有自己的身份,并使用添加到其中的证书进行身份验证。SignatureProvider authProvider = SignatureProvider.createWithInstancePrincipal();
-
使用资源主用户连接:
资源主用户是 IAM 服务功能,它允许资源是授权操作者(或主体)对服务资源执行操作。SignatureProvider authProvider = SignatureProvider.createWithResourcePrincipal();
有关所用 Java 类的更多详细信息,请参见 SignatureProvider 。
- 直接在代码中提供身份证明:
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 $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()
- 直接在代码中提供身份证明:
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)
-
直接在代码中提供身份证明:
可以在初始配置中直接将凭证指定为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>
请注意,您还可以在 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 实例:
您还可以使用与上述配置相同的 JSON 配置文件。请注意,使用实例主用户时,必须指定区间 ID (OCID) 作为区间属性。即使您希望使用默认区间,也是如此。请注意,必须使用区间 ID,而不是区间名称或路径。此外,使用实例主用户时,在调用 NoSQLClient API 时,不能为表名添加区间名称或路径前缀。import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1..............' auth: { iam: { useInstancePrincipal: true } } });
-
使用资源主用户连接:
资源主用户是 IAM 服务功能,它允许资源是授权操作者(或主体)对服务资源执行操作。
设置后,按如下方式创建 NoSQLClient 实例:
您还可以使用与上述配置相同的 JSON 配置文件。请注意,使用资源主用户时,必须指定区间 ID (OCID) 作为区间属性。即使您希望使用默认区间,也是如此。请注意,必须使用区间 ID,而不是区间名称或路径。此外,使用资源主用户时,在调用 NoSQLClient API 时,不能为表名加上区间名称或路径前缀。import { NoSQLClient, Region } from 'oracle-nosqldb'; const client = new NoSQLClient({ region: Region.<your-service-region>, compartment: 'ocid1.compartment.oc1...........................' auth: { iam: { useResourcePrincipal: true } } });
-
直接在代码中提供身份证明:
创建 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
directory 中使用以下内容创建名为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 配置文件中指定区域标识符和身份证明。默认情况下,驱动程序将在 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) 指定为 compartment 属性。即使您希望使用默认区间,也是如此。请注意,必须使用区间 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) 指定为 compartment 属性。即使您希望使用默认区间,也是如此。请注意,必须使用区间 ID,而不是区间名称或路径。此外,使用资源主用户时,在调用 NoSQLClient API 时,不能为表名加上区间名称或路径前缀。
典型工作流程
使用 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 Service ,请参阅设置服务。
快速入门教程
访问快速入门教程,并开始使用服务。
-
获取对服务的访问权限。
注册云促销或购买 Oracle Cloud 订阅。激活您的订单,创建用户(可选)。请参阅设置服务。
-
获取身份证明以连接应用程序。请参阅用于连接到 Oracle NoSQL Database 的验证。
-
在 Oracle NoSQL Database Cloud Service 中创建表。