すべてのプロダクト
Search
ドキュメントセンター

DataWorks:BatchCreateMetaEntities

最終更新日:Sep 03, 2026

メタデータエンティティをバッチで作成します。同じバッチ内のすべてのエンティティは同じタイプである必要があります。現在、カスタムエンティティタイプと拡張テーブルタイプ(データベース/テーブルに対応)のみがサポートされています。

操作説明

DataWorks Professional Edition 以上のエディションが必須です。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

dataworks:BatchCreateMetaEntities

create

*すべてのリソース。

*

なし なし

リクエスト構文

POST  HTTP/1.1

リクエストパラメーター

パラメーター

型

必須 / 任意

説明

例

Entities

array<object>

必須

エンティティのリスト。最大値は 5 つのエンティティです。同じバッチ内のすべてのエンティティは同じ entityType を持つ必要があります。

[]

array<object>

任意

エンティティオブジェクト。

EntityType

string

必須

エンティティタイプ。同じバッチ内のすべてのエンティティは同じタイプである必要があります。以下のタイプがサポートされています。

  • カスタムエンティティタイプ(例: custom_entity-biz_api)。

  • 拡張テーブルタイプ。メタデータエンティティタイプ custom_dw-table が登録されている場合、対応するデータベースタイプ custom_dw-database およびテーブルタイプ custom_dw-table のオブジェクトを作成できます。

custom_entity-customer_api

Name

string

必須

エンティティ名。名前には大文字、小文字、数字、アンダースコア (_) を含めることができます。先頭は英字である必要があり、長さは最大 64 文字です。

api_001

Comment

string

任意

コメント。

これはコメントです

Attributes

object

任意

エンティティ属性。複雑な値は JSON 文字列としてシリアライズする必要があります。

string

任意

エンティティ属性。

key1

CustomAttributes

object

任意

カスタム属性値。キーはカスタム属性識別子であり、値は現在単一の値のみをサポートしています。

重要 ここで使用されるカスタム属性は、CreateCustomAttribute 操作を呼び出して事前に作成しておく必要があります。たとえば、API を呼び出して ID custom-attribute:owner_name のカスタム属性を作成した後、ここで {'owner_name': ['Bob']} を設定してカスタム属性の構成を完了できます。

array

任意

カスタム属性値のリスト。

string

任意

カスタム属性値。

value1

拡張データベース

EntityType を custom_xxx-database に設定します。ここで xxx は既に作成済みの custom_xxx-table 拡張 EntityDef に由来します。

属性

属性キー必須タイプ/形式説明
parentMetaEntityIdはいString親インスタンス ID。インスタンスレベルである必要があり、catalog/database/schema/table/column を含めることはできません。
technicalMetadata.locationいいえStringデータベースのストレージ場所。

拡張テーブル

EntityType を custom_xxx-table に設定します。テーブルのカラムも Attributes.columns を通じてここで登録する必要があります。

属性

属性キー必須タイプ/形式説明
parentMetaEntityIdはいString親データベース ID。データベースレベルである必要があります。
tableTypeいいえStringテーブルタイプ。デフォルト値: TABLE。
partitionKeysいいえJSON Array stringパーティションキー(例: ["dt"])。
technicalMetadata.locationいいえStringストレージ場所。
technicalMetadata.compressedいいえBoolean string or JSON booleanデータが圧縮されているかどうかを指定します。
technicalMetadata.inputFormatいいえStringInputFormat。
technicalMetadata.outputFormatいいえStringOutputFormat。
technicalMetadata.serializationLibraryいいえStringSerDe クラス。
technicalMetadata.parametersいいえJSON Object stringパラメーター情報(例: {"retention":"30"})。
columnsいいえJSON Array stringインラインカラムリスト。テーブルと一緒に拡張カラムを登録するために使用されます。

Attributes.columns

columns は Attributes 内の JSON Array 文字列です。配列内の各オブジェクトは以下のフィールドをサポートしています。

カラム項目キー必須タイプ/形式説明
nameはいStringカラム名。空の場合、カラムはスキップされます。
typeはいStringカラムタイプ。欠落している場合、エラー attributes.columns[i].type が報告されます。
commentいいえStringカラムのコメント。
positionいいえIntegerカラムの位置。指定しない場合、配列の順序に基づいてデフォルト値 i + 1 が設定されます。
partitionKeyいいえBooleanカラムがパーティションキーであるかどうかを指定します。
primaryKeyいいえBooleanカラムが主キーであるかどうかを指定します。
customAttributesいいえObjectカラムのカスタム属性値。

例。

拡張データベースの作成

{
  "Entities": [
    {
      "EntityType": "custom_demo-database",
      "Name": "ods",
      "Comment": "ODS データベース",
      "Attributes": {
        "parentMetaEntityId": "custom_demo:demo_source",
        "technicalMetadata.location": "oss://bucket/ods"
      },
      "CustomAttributes": {
        "biz_owner": ["data_team"]
      }
    }
  ]
}

拡張テーブルの作成とカラムの登録

{
  "Entities": [
    {
      "EntityType": "custom_demo-table",
      "Name": "order_fact",
      "Comment": "注文ファクトテーブル",
      "Attributes": {
        "parentMetaEntityId": "custom_demo-database:demo_source::ods",
        "tableType": "TABLE",
        "partitionKeys": "[\"dt\"]",
        "technicalMetadata.location": "oss://bucket/ods/order_fact",
        "technicalMetadata.compressed": "true",
        "technicalMetadata.parameters": "{\"retention\":\"30\",\"bizDomain\":\"trade\"}",
        "columns": "[{\"name\":\"id\",\"type\":\"BIGINT\",\"comment\":\"主キー\",\"position\":1,\"primaryKey\":true,\"customAttributes\":{\"security_level\":[\"P1\"]}},{\"name\":\"dt\",\"type\":\"STRING\",\"comment\":\"パーティション日付\",\"position\":2,\"partitionKey\":true}]"
      },
      "CustomAttributes": {
        "biz_owner": ["data_team"]
      }
    }
  ]
}

注意事項

  • 拡張データベースの parentMetaEntityId はインスタンスレベルである必要があります(例: custom_demo:demo_source)。

  • 拡張テーブルの parentMetaEntityId はデータベースレベルである必要があります(例: custom_demo-database:demo_source::ods)。

  • 親子エンティティは同じ拡張ファミリーに属している必要があります。たとえば、custom_demo-table の親は custom_demo-database である必要があります。

  • columns はテーブル作成時にのみ指定できます。BatchCreateMetaEntities の呼び出しを使用して custom_xxx-column を個別に作成することはできません。

  • 拡張エンティティの書き込みパスでは、MetaEntityDef.AttributeDefs に基づいて未知の Attributes キーを厳密にブロックしません。未知のキーは通常無視されます。

レスポンスフィールド

フィールド

型

説明

例

object

レスポンススキーマ。

RequestId

string

リクエスト ID。

9E0C8E7A-C6BE-5A73-9562-2A030A80E8C6

Success

boolean

リクエストが成功したかどうかを示します。一部のエンティティが失敗した場合でも、値は true です。個々の結果については Results[].Success および Results[].ErrorMessage を確認してください。

true

Results

array

エンティティ作成結果のリスト。各エントリは、作成が成功したかどうかと失敗理由を示します。

MetaEntityWriteResult

バッチ作成結果。

例

成功レスポンス

JSONJSON

{
  "RequestId": "9E0C8E7A-C6BE-5A73-9562-2A030A80E8C6",
  "Success": true,
  "Results": [
    {
      "Name": "entity_01",
      "EntityType": "custom_entity-demo",
      "Id": "custom_entity-demo:entity_01",
      "Success": true,
      "ErrorMessage": "The specified parameters are invalid."
    }
  ]
}

エラーコード

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。