教程 1:创建和管理数据库、架构和表

简介

在本教程中,您将学习如何提交 REST 查询,以创建和管理数据库、表和架构。

先决条件

备注

如果您已经完成了 Snowflake REST APIs 教程的常见设置 中的步骤,您可以跳过这些前提条件,直接进入本教程的第一步。

在您开始学习本教程之前,您必须完成 常见设置 说明,其中包括以下步骤:

  • 导入 Snowflake REST APIs Postman 集合。

  • 在 Postman 中设置持有者令牌,以对您的连接执行身份验证。

完成这些先决条件后,您就可以开始使用 API 了。

创建一个数据库,并列出可用数据库

您可以使用 Postman 创建数据库并列出可用数据库。

  • 要创建一个数据库,请使用以下请求主体,将一条 POST 请求发送到 /api/v2/databases 端点,如下所示。

    {
      "name": "demo_db",
      "kind": "PERMANENT",
      "comment": "snowflake rest api demo-db",
      "data_retention_time_in_days": "1",
      "max_data_extension_time_in_days": "1"
    }
    
    Copy
    ../../../_images/create-database.png
  • 要列出可用数据库,请发送一条 GET 请求到 /api/v2/databases 端点,如下例所示:

    • 若要查找名称包含字符串 demo 的数据库,请在 like 查询参数中指定 %25demo%25

      ../../../_images/list-databases.png
    • 若要返回名称以字符串 DEMO_DB 开头的第一个数据库,请在 startsWithshowLimit 查询参数中分别指定 DEMO_DB1

      ../../../_images/list-databases2.png

有关更多信息,请参阅 Snowflake 数据库 API 参考

创建架构并列出可用架构

您可以使用 Postman 创建一个架构并列出可用架构。

  • 若要创建一个架构,请将一条 POST 请求发送到 /api/v2/databases/{database}/schemas 端点,如下所示:

    1. 将数据库名称 (demo_db) 添加到请求标头中的 database 路径变量。

      ../../../_images/create-schema1.png
    2. 将架构名称 (demo_sc) 添加到请求主体中。

      {
        "name": "demo_sc",
      }
      
      Copy
      ../../../_images/create-schema2.png
  • 若要列出可用架构,请将 GET 请求发送到 /api/v2/databases/{database}/schemas 端点。在本例中,您返回第一个名称以字符串 DEMO_SC 开头的架构,方法是在 startsWithshowLimit 查询参数中分别指定 DEMO_SC1

    ../../../_images/list-schemas1.png

有关更多信息,请参阅 Snowflake 架构 API 参考

创建一个表并获取表详情

您可以使用 Postman 创建一个表并列出可用表。

  • 若要创建一个表,请将一条 POST 请求发送到 /api/v2/databases/{database}/schemas/{schema}/tables 端点,如下所示:

    1. 在请求标头中分别将数据库名称 (demo_db) 和架构名称 (demo_sc) 添加到 databasedatabase 路径变量中。

      ../../../_images/create-schema-table1.png
    2. 将表名称 (demo_tbl) 和表列添加到请求主体中。在本例中,您添加了一个名为 C1 的列。

      {
        "name": "demo_tbl",
        "columns": [
          {
          "name": "c1",
          "datatype": "integer",
          "nullable": true,
          "comment": "An integral value column"
          }
        ],
        "comment": "Demo table for Snowflake REST API"
      }
      
      Copy
      ../../../_images/create-schema-table2.png
  • 若要提取您刚刚创建的表,请将一条 GET 请求发送到 /api/v2/databases/{database}/schemas/{schema}/tables/{name} 端点。在本例中,您在 databaseschemaname 路径变量中分别指定了 demo_dbdemo_scdemo_tbl

    ../../../_images/get-schema-table1.png

有关更多信息,请参阅 Snowflake 表 API 参考

更改表并提取表详情

您可以使用 Postman 来更改表。

  • 若要更改您在上一个教程中创建的表,请将一条 PUT 请求发送到 /api/v2/databases/{database}/schemas/{schema}/tables/{name} 端点,如下所示:

    1. 指定您在对应路径变量中创建的数据库、架构和表的名称。

      ../../../_images/create-alter-schema-table1.png
    2. 在请求主体中,输入新的表定义。在本例中,您向表添加一个新列。

      {
        "name": "demo_tbl",
        "columns": [
          {
          "name": "c1",
          "datatype": "integer",
          "nullable": true,
          "comment": "An integral value column"
          },
          {
          "name": "c2",
          "datatype": "string",
          "comment": "An string value column"
          }
        ],
        "comment": "Demo table for Snowflake REST API"
      }
      
      Copy
      ../../../_images/create-alter-schema-table2.png
  • 通过将一条 GET 请求发送到 /api/v2/databases/{database}/schemas/{schema}/tables/{name} 端点来验证更改。在本例中,您在 databaseschemaname 路径变量中分别指定了 demo_dbdemo_scdemo_tbl

    ../../../_images/get-schema-table2.png

    请注意,表现在包含一个新的 C2 列。

有关更多信息,请参阅 Snowflake 表 API 参考

列出可用表

您可以使用 /api/v2/databases/{database}/schemas/{schema}/tables 端点来返回您可使用的所有表的列表。

  • 若要列出所有可用表,请将一条 GET 请求发送到 /api/v2/databases/{database}/schemas/{schema}/tables 端点,且不带查询参数,如下所示。在本例中,您分别在 databaseschemaname 路径变量中指定 demo_dbdemo_scdemo_tbl

    ../../../_images/list-schema-table1.png
  • 若要列出每个表中列和约束的完整详情,请添加 recursive 查询参数,并将值设置为 true,如此处所示。请注意,如果您有多个复杂表,启用此查询参数可能会导致连接不堪重负。

    ../../../_images/list-schema-tables1.png

有关更多信息,请参阅 Snowflake 表 API 参考

下一步是什么?

恭喜!在本教程中,您学习了使用 Snowflake REST APIs 管理 Snowflake 数据库、架构和表资源的基本知识。

摘要

在此过程中,您完成了以下步骤:

  • 创建和列出数据库。

  • 创建和列出架构。

  • 创建一个表,并提取表详情。

  • 更改表并提取表详情。

  • 列出可用表。

下一个教程

您现在可以继续学习 教程 2:创建和管理任务,其中将展示如何创建和管理 Snowflake 任务。

语言: 中文