자습서 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 Database API 참조 섹션을 참조하십시오.

스키마를 생성하고 사용 가능한 스키마를 나열합니다.

Postman을 사용하면 스키마를 생성하고 사용 가능한 스키마를 나열할 수 있습니다.

  • 스키마를 생성하려면 다음과 같이 POST 요청을 /api/v2/databases/{database}/schemas 엔드포인트에 보냅니다.

    1. 요청 헤더의 database 경로 변수에 데이터베이스 이름(demo_db)을 추가합니다.

      ../../../_images/create-schema1.png
    2. 요청 본문에 스키마 이름(demo_sc)을 추가합니다.

      {
        "name": "demo_sc",
      }
      
      Copy
      ../../../_images/create-schema2.png
  • 사용 가능한 스키마를 나열하려면 GET 요청을 /api/v2/databases/{database}/schemas 엔드포인트로 보냅니다. 이 예제에서는 startsWithshowLimit 쿼리 매개 변수에 각각 DEMO_SC1 을 지정하여 이름이 DEMO_SC 인 문자열로 시작하는 첫 번째 스키마를 반환합니다.

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

자세한 내용은 Snowflake Schema API 참조 섹션을 참조하십시오.

테이블을 생성하고 테이블 세부 정보를 가져옵니다.

Postman을 사용하면 테이블을 생성하고 사용 가능한 테이블을 나열할 수 있습니다.

  • 테이블을 생성하려면 다음과 같이 POST 요청을 /api/v2/databases/{database}/schemas/{schema}/tables 엔드포인트로 보냅니다.

    1. 요청 헤더의 databasedatabase 경로 변수에 각각 데이터베이스 이름(demo_db) 및 스키마 이름(demo_sc)을 추가합니다.

      ../../../_images/create-schema-table1.png
    2. 요청 본문에 테이블 이름(demo_tbl)과 테이블 열을 추가합니다. 이 경우 C1 이라는 열을 1개 추가했습니다.

      {
        "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} 엔드포인트로 보냅니다. 이 경우 database, schema, name 경로 변수에 각각 demo_db, demo_sc, demo_tbl 을 지정합니다.

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

자세한 내용은 Snowflake Table 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} 엔드포인트로 보내 테이블 세부 정보를 가져와 변경 사항을 확인합니다. 이 경우 database, schema, name 경로 변수에 각각 demo_db, demo_sc, demo_tbl 을 지정합니다.

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

    이제 테이블에 새로운 C2 열이 포함된 것을 확인할 수 있습니다.

자세한 내용은 Snowflake Table API 참조 섹션을 참조하십시오.

사용 가능한 테이블 나열

사용할 수 있는 모든 테이블의 목록을 반환하려면 /api/v2/databases/{database}/schemas/{schema}/tables 엔드포인트를 사용합니다.

  • 사용 가능한 모든 테이블을 목록으로 만들려면 다음과 같이 쿼리 매개 변수가 없는 GET request to the /api/v2/databases/{database}/schemas/{schema}/tables 엔드포인트를 보냅니다. 이 경우 database, schema, name 경로 변수에 각각 demo_db, demo_sc, demo_tbl 을 지정합니다.

    ../../../_images/list-schema-table1.png
  • 모든 테이블의 열 및 제약 조건에 대한 전체 세부 정보를 나열하려면 recursive 쿼리 매개 변수를 추가하고 그림과 같이 값을 true 로 설정합니다. 여러 개의 복잡한 테이블이 있는 경우 이 쿼리 매개 변수를 활성화하면 연결에 오버로드가 발생할 수 있습니다.

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

자세한 내용은 Snowflake Table API 참조 섹션을 참조하십시오.

다음에는 무엇을 해야 합니까?

축하합니다! 이 자습서에서는 Snowflake REST APIs 를 사용하여 Snowflake 데이터베이스, 스키마 및 테이블 리소스를 관리하기 위한 기본 사항에 대해 알아봤습니다.

요약

이 과정에서 다음 단계를 완료했습니다.

  • 데이터베이스를 생성하고 나열합니다.

  • 스키마를 생성하고 나열합니다.

  • 테이블을 생성하고 테이블 세부 정보를 가져옵니다.

  • 테이블을 변경하고 테이블 세부 정보를 가져옵니다.

  • 사용 가능한 테이블을 나열합니다.

다음 자습서

이제 자습서 2: 작업 만들기 및 관리 로 이동하여 Snowflake 작업을 생성하고 관리하는 방법을 살펴볼 수 있습니다.