Skip to content

リソースID

概要

  • リソースIDとは、Codatum で DWH(データウェアハウス) のリソースを一意に識別するための文字列です
  • 次のようなリソースIDがあります
    • テーブルリソースID: DWH 内のテーブルを識別するID
    • ジョブリソースID: SQL の実行ジョブを識別するID

テーブルリソースID

  • DWH内に格納されたテーブルを参照する際に用いるリソースIDを、テーブルリソースIDと呼びます
  • DWHのデータ階層構造に合わせて、次のルールで生成されます

BigQuery

ts
// connId: コネクションID(ObjectId)
// projectId: Google Cloud Project ID
// datasetId: BigQuery の Dataset ID
// tableName: BigQuery の Table ID
type TableResourceId = `bq/cn=${connId}/pj=${projectId}/ds=${datasetId}/tb=${tableName}`;

// 例
const tableResourceId = "bq/cn=69cafa6c871431229e5a3fe1/pj=bigquery-public-data/ds=austin_bikeshare/tb=stations";

Snowflake

ts
// connId: コネクションID(ObjectId)
// databaseId: Snowflake の Database ID
// schemaId: Snowflake の Schema ID
// tableName: Snowflake の Table ID
type TableResourceId = `sf/cn=${connId}/db=${databaseId}/sc=${schemaId}/tb=${tableName}`;

// 例
const tableResourceId = "sf/cn=69cafa6c871431229e5a3fe1/db=SNOWFLAKE_SAMPLE_DATA/sc=TPCH_SF1/tb=ORDERS";

Databricks

ts
// connId: コネクションID(ObjectId)
// catalogId: Databricks の Catalog ID
// schemaId: Databricks の Schema ID
// tableName: Databricks の Table ID
type TableResourceId = `db/cn=${connId}/cl=${catalogId}/sc=${schemaId}/tb=${tableName}`;

// 例
const tableResourceId = "db/cn=69cafa6c871431229e5a3fe1/cl=samples/sc=nyctaxi/tb=trips";

Redshift

ts
// connId: コネクションID(ObjectId)
// databaseId: Redshift の Database ID
// schemaId: Redshift の Schema ID
// tableName: Redshift の Table ID
type TableResourceId = `rs/cn=${connId}/db=${databaseId}/sc=${schemaId}/tb=${tableName}`;

// 例
const tableResourceId = "rs/cn=69cafa6c871431229e5a3fe1/db=dev/sc=public/tb=sales";

ジョブリソースID

  • Codatum のコネクションを通してSQLを実行した時に払い出されるリソースIDを、ジョブリソースIDと呼びます
  • SQLの実行状態や、実行結果を取得する際は、このジョブリソースIDを用います
    • SQLの文字列の完全一致によるキャッシュが利用された場合、同じジョブリソースIDが返却されます
  • ジョブリソースIDは、DWH毎に次のルールで生成されます
ts
// BigQuery
type JobResourceId = `bq/cn=${connId}/jb=${jobId}`;

// Snowflake
type JobResourceId = `sf/cn=${connId}/jb=${jobId}`;

// Databricks
type JobResourceId = `db/cn=${connId}/jb=${jobId}`;

// Redshift
type JobResourceId = `rs/cn=${connId}/jb=${jobId}`;