本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

建立資料集

更新時間:2025-03-11 19:18

資料集是由一組中繼資料構成的容器,用於儲存和管理中繼資料。本文將為您介紹如何建立資料集。

注意事項

  • 由於各個資料集間無法同盟搜尋,因此推薦將互不干涉的檔案獨立存放到不同資料集中,將有關聯的檔案存放到相同的資料集中。

  • 專案中建立的資料集個數不能超過專案中設定的資料集最大個數。

  • 資料集中元檔案個數不能超過資料集中檔案的最大個數,專案所有資料集檔案個數總和不能超過專案中設定的檔案最大個數。

  • 資料集綁定OSS bucket個數不能超過資料集綁定的最大個數,專案所有資料集綁定數量總和不能超過專案中設定的最大綁定數量。

  • 資料集在建立中繼資料索引時,資料集的工作流程範本優先順序高於專案設定的工作流程範本,當資料集工作流程範本為空白時,則使用專案設定的工作流程範本。關於工作流程範本的詳細說明,請參見工作流程範本與運算元

前提條件

操作步驟

步驟一:建立資料集

如下以調用CreateDataset - 建立資料集介面在test-project專案下建立名稱為test-dataset,描述為資料集1,模板為Official:ImageManagement的資料集為例,介紹如何建立資料集。

  • 請求樣本

    {
     "ProjectName": "test-project",
     "DatasetName": "test-dataset",
     "Description": "資料集1",
     "TemplateId": "Official:ImageManagement"
    }
  • 返回樣本

    {
        "RequestId": "9AB4BD43-C4E5-06AA-A7AB-****",
        "Dataset": {
            "FileCount": 0,
            "BindCount": 0,
            "ProjectName": "test-project",
            "CreateTime": "2022-07-05T10:43:32.429344821+08:00",
            "DatasetMaxTotalFileSize": 90000000000000000,
            "DatasetMaxRelationCount": 100000000000,
            "DatasetMaxFileCount": 100000000,
            "DatasetName": "test-dataset",
            "DatasetMaxBindCount": 10,
            "UpdateTime": "2022-07-05T10:43:32.429344821+08:00",
            "DatasetMaxEntityCount": 10000000000,
            "TotalFileSize": 0,
            "TemplateId": "Official:ImageManagement"
        }
    }
  • 完整範例程式碼(以1.27.3版本Python SDK為例)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            使用AccessKey ID&AccessKey Secret初始化帳號Client。
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            # 填寫訪問的網域名稱。
            config.endpoint = f'imm.cn-shenzhen.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
            # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
            # 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。如何配置環境變數,請參見https://help.aliyun.com/document_detail/2361894.html。
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            create_dataset_request = imm_20200930_models.CreateDatasetRequest(
                project_name='test-project',
                dataset_name='test-dataset',
                description='資料集1',
                template_id='Official:ImageManagement'
            )
            runtime = util_models.RuntimeOptions()
            try:
                # 列印API的傳回值。
                response = client.create_dataset_with_options(create_dataset_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # 如有需要,請列印錯誤資訊。
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()

(可選)步驟二:查詢資料集資訊

如下以調用GetDataset - 查詢資料集資訊介面查詢test-project專案下名稱為test-dataset的資料集為例,介紹如何查詢資料集資訊。

  • 請求樣本

    {
     "ProjectName": "test-project",
     "DatasetName": "test-dataset"
    }
  • 返回樣本

    {
        "RequestId": "9AB4BD43-C4E5-06AA-E4B2-****",
        "Dataset": {
            "FileCount": 0,
            "BindCount": 0,
            "ProjectName": "test-project",
            "CreateTime": "2022-07-05T10:43:32.429344821+08:00",
            "DatasetMaxTotalFileSize": 90000000000000000,
            "DatasetMaxRelationCount": 100000000000,
            "DatasetMaxFileCount": 100000000,
            "DatasetName": "test-dataset",
            "DatasetMaxBindCount": 10,
            "UpdateTime": "2022-07-05T10:43:32.429344821+08:00",
            "DatasetMaxEntityCount": 10000000000,
            "TotalFileSize": 0,
            "TemplateId": "Official:ImageManagement"
        }
    }
  • 完整範例程式碼(以1.27.3版本Python SDK為例)

    # -*- coding: utf-8 -*-
    
    import os
    from alibabacloud_imm20200930.client import Client as imm20200930Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_imm20200930 import models as imm_20200930_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_util.client import Client as UtilClient
    
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client(
            access_key_id: str,
            access_key_secret: str,
        ) -> imm20200930Client:
            """
            使用AccessKey ID&AccessKey Secret初始化帳號Client。
            @param access_key_id:
            @param access_key_secret:
            @return: Client
            @throws Exception
            """
            config = open_api_models.Config(
                access_key_id=access_key_id,
                access_key_secret=access_key_secret
            )
            # 填寫訪問的網域名稱。
            config.endpoint = f'imm.cn-shenzhen.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # 阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。
            # 強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。
            # 本樣本通過從環境變數中讀取AccessKey,來實現API訪問的身分識別驗證。如何配置環境變數,請參見https://help.aliyun.com/document_detail/2361894.html。
            imm_access_key_id = os.getenv("AccessKeyId")
            imm_access_key_secret = os.getenv("AccessKeySecret")
            client = Sample.create_client(imm_access_key_id, imm_access_key_secret)
            get_dataset_request = imm_20200930_models.GetDatasetRequest(
                # 填寫IMM專案名稱。
                project_name='test-project',
                # 填寫資料集名稱。
                dataset_name='test-dataset',
                # 不統計檔案數量、檔案大小等。
                with_statistics=False
            )
            runtime = util_models.RuntimeOptions()
            try:
                # 列印API的傳回值。
                response = client.get_dataset_with_options(get_dataset_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # 如有需要,請列印錯誤資訊。
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()
  • 本頁導讀 (1, M)
  • 注意事項
  • 前提條件
  • 操作步驟
  • 步驟一:建立資料集
  • (可選)步驟二:查詢資料集資訊
文檔反饋