打开 git 终端窗口(例如 git bash)。 使用 cd
命令更改为要安装示例应用的新文件夹。
cd "C:\git-samples"
运行下列命令,克隆示例存储库。 此命令在计算机上创建示例应用程序的副本。
git clone https://github.com/Azure-Samples/azure-cosmos-db-cassandra-nodejs-getting-started.git
使用 npm
安装 Node.js 依赖项。
npm install
此步骤是可选的。 如果有意了解如何通过代码创建数据库资源,可以查看以下代码片段。 这些代码片段全部摘自 C:\git-samples\azure-cosmos-db-cassandra-nodejs-getting-started
文件夹中 uprofile.js
文件。 否则,可直接跳转到更新连接字符串。
用户名和密码值是使用 Azure 门户中的连接字符串页设置的。
let authProvider = new cassandra.auth.PlainTextAuthProvider(
config.username,
config.password
使用 contactPoint 信息初始化 client
。 从 Azure 门户中检索 contactPoint。
let client = new cassandra.Client({
contactPoints: [`${config.contactPoint}:10350`],
authProvider: authProvider,
localDataCenter: config.localDataCenter,
sslOptions: {
secureProtocol: "TLSv1_2_method"
client
连接到 Azure Cosmos DB for Apache Cassandra。
client.connect();
创建新的键空间。
var query =
`CREATE KEYSPACE IF NOT EXISTS ${config.keySpace} WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter' : '1' }`;
await client.execute(query);
创建新表。
query =
`CREATE TABLE IF NOT EXISTS ${config.keySpace}.user (user_id int PRIMARY KEY, user_name text, user_bcity text)`;
await client.execute(query);
插入键/值实体。
const arr = [
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (1, 'AdrianaS', 'Seattle')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (2, 'JiriK', 'Toronto')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (3, 'IvanH', 'Mumbai')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (4, 'IvanH', 'Seattle')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (5, 'IvanaV', 'Belgaum')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (6, 'LiliyaB', 'Seattle')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (7, 'JindrichH', 'Buenos Aires')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (8, 'AdrianaS', 'Seattle')`,
`INSERT INTO ${config.keySpace}.user (user_id, user_name , user_bcity) VALUES (9, 'JozefM', 'Seattle')`,
for (const element of arr) {
await client.execute(element);
用于获取所有键值的查询。
query = `SELECT * FROM ${config.keySpace}.user`;
const resultSelect = await client.execute(query);
for (const row of resultSelect.rows) {
console.log(
"Obtained row: %d | %s | %s ",
row.user_id,
row.user_name,
row.user_bcity
用于获取键-值的查询。
query = `SELECT * FROM ${config.keySpace}.user where user_id=1`;
const resultSelectWhere = await client.execute(query);
for (const row of resultSelectWhere.rows) {
console.log(
"Obtained row: %d | %s | %s ",
row.user_id,
row.user_name,
row.user_bcity
关闭连接。
client.shutdown();
更新连接字符串
转到 Azure 门户,获取连接字符串信息,并将其复制到应用。 连接字符串使应用能与托管数据库进行通信。
在 Azure 门户的 Azure Cosmos DB 帐户中,选择“连接字符串”。
使用屏幕右侧的 按钮复制最上面的值“CONTACT POINT”。
打开 config.js 文件。
粘贴门户中的 CONTACT POINT 值,并覆盖第 9 行中的 CONTACT-POINT
。
第 9 行现在应类似于此值:
contactPoint: "cosmos-db-quickstarts.cassandra.cosmosdb.azure.com",
复制并粘贴门户中的“USERNAME”值,并覆盖第 2 行中的 <FillMEIN>
。
第 2 行现在应类似于此值:
username: 'cosmos-db-quickstart',
复制并粘贴门户中的“PASSWORD”值,并覆盖第 8 行中的 USERNAME
。
第 8 行现在应类似于此值:
password: '2Ggkr662ifxz2Mg==',
将 REGION 替换为在其中创建此资源的 Azure 区域。
保存 config.js 文件。
运行 Node.js 应用
在 bash 终端窗口中,确保你位于此前克隆的示例目录中:
cd azure-cosmos-db-cassandra-nodejs-getting-started
运行 Node 应用程序:
npm start
通过命令行验证结果是否符合预期。
按 Ctrl+C 停止程序并关闭控制台窗口。
在 Azure 门户中,打开数据资源管理器,以查询、修改和处理这些新数据。
在 Azure 门户中查看 SLA
Azure 门户可监视 Azure Cosmos DB 帐户吞吐量、存储、可用性、延迟和一致性。 与 Azure Cosmos DB 服务级别协议 (SLA) 关联的指标的图表显示与实际性能相比的 SLA 值。 此套指标使得监视 SLA 十分透明。
若要查看指标和 SLA,请执行以下操作:
请在 Azure Cosmos DB 帐户的导航菜单中选择“指标”。
选择一个选项卡,如“延迟”,然后选择右侧的时间范围。 比较图表上的“实际”和“SLA”线。
查看其他选项卡上的指标。
执行完应用和 Azure Cosmos DB 帐户的操作以后,可以删除所创建的 Azure 资源,以免产生更多费用。 若要删除资源,请执行以下操作:
在 Azure 门户的“搜索”栏中,搜索并选择“资源组” 。
从列表中选择为本快速入门创建的资源组。
在资源组“概览”页上,选择“删除资源组” 。
在下一窗口中输入要删除的资源组的名称,然后选择“删除” 。
本快速入门介绍了如何使用 API for Cassandra 创建 Azure Cosmos DB 帐户,以及如何运行用于创建 Cassandra 数据库和容器的 Cassandra Node.js 应用。 现在可以将更多数据导入 Azure Cosmos DB 帐户了。
将 Cassandra 数据导入 Azure Cosmos DB
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback。
提交和查看相关反馈