Todos os produtos
Search
Central de documentação

Intelligent Media Management:Criar um dataset

Última atualização: Jun 27, 2026

Um dataset é um contêiner para armazenar e gerenciar metadados. Este tópico descreve como criar um dataset.

Observações de uso

  • Armazene arquivos não relacionados em datasets diferentes e arquivos relacionados no mesmo dataset.

  • A quantidade de datasets em um projeto não pode exceder a cota do projeto.

  • O número de arquivos em um dataset não pode ultrapassar seu limite específico. O total de arquivos em todos os datasets de um projeto também deve respeitar a cota do projeto.

  • A quantidade de buckets OSS vinculados a um dataset não pode exceder o limite do dataset. O total de buckets associados a todos os datasets de um projeto não pode ultrapassar a cota do projeto.

  • Ao criar um índice de metadados, o modelo de workflow do dataset tem prioridade sobre o modelo de workflow do projeto. Se o dataset não possuir um modelo próprio, o IMM utiliza o modelo do projeto. Para mais informações sobre modelos de workflow, consulte Modelos de workflow e operadores.

Pré-requisitos

  • Crie um par de AccessKey. Para mais informações, consulte Criar um par de AccessKey.

  • Ative o OSS, crie um bucket e faça upload de arquivos para esse bucket. Para mais detalhes, consulte Fazer upload de arquivos.

  • Ative o serviço IMM. Para obter instruções, consulte Ativar o IMM.

  • Crie um projeto no console do IMM. Para mais informações, consulte Criar um projeto.

    Nota
    • Você também pode criar um projeto chamando a operação CreateProject. Para mais informações, consulte Criar um projeto.

    • Chame a operação ListProjects para listar todos os projetos em uma região específica.

Procedimento

Etapa 1: Criar um dataset

Este exemplo chama a operação CreateDataset para criar um dataset chamado test-dataset, com a descrição Dataset 1 e o modelo Official:ImageManagement, no projeto test-project.

  • Exemplo de solicitação

    {
     "ProjectName": "test-project",
     "DatasetName": "test-dataset",
     "Description": "Dataset 1",
     "TemplateId": "Official:ImageManagement"
    }
  • Exemplo de resposta

    {
        "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"
        }
    }
  • Código de exemplo completo (Python SDK v1.27.3)

    # -*- 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:
            """
            Use your AccessKey ID and AccessKey secret to initialize the 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
            )
            # Specify the endpoint.
            config.endpoint = f'imm.cn-shenzhen.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # An Alibaba Cloud account AccessKey pair can perform all API operations. For security, we recommend using a RAM user for API access or routine O&M.
            # Do not hard-code your AccessKey ID and AccessKey secret in the code. This practice can lead to security risks if the keys are leaked.
            # This example retrieves an AccessKey pair from environment variables for authentication. For more information about how to configure environment variables, see https://www.alibabacloud.com/help/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='Dataset 1',
                template_id='Official:ImageManagement'
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation.
                response = client.create_dataset_with_options(create_dataset_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if an error occurs.
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()

(Opcional) Etapa 2: Consultar um dataset

Este exemplo chama a operação GetDataset para consultar o dataset chamado test-dataset no projeto test-project.

  • Exemplo de solicitação

    {
     "ProjectName": "test-project",
     "DatasetName": "test-dataset"
    }
  • Exemplo de resposta

    {
        "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"
        }
    }
  • Código de exemplo completo (Python SDK v1.27.3)

    # -*- 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:
            """
            Use your AccessKey ID and AccessKey secret to initialize the 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
            )
            # Specify the endpoint.
            config.endpoint = f'imm.cn-shenzhen.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # An Alibaba Cloud account AccessKey pair can perform all API operations. For security, we recommend using a RAM user for API access or routine O&M.
            # Do not hard-code your AccessKey ID and AccessKey secret in the code. This practice can lead to security risks if the keys are leaked.
            # This example retrieves an AccessKey pair from environment variables for authentication. For more information about how to configure environment variables, see https://www.alibabacloud.com/help/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(
                # Specify the name of the IMM project.
                project_name='test-project',
                # Specify the name of the dataset.
                dataset_name='test-dataset',
                # Do not return statistics, such as the number of files and total file size.
                with_statistics=False
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Print the response of the API operation.
                response = client.get_dataset_with_options(get_dataset_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Print the error message if an error occurs.
                UtilClient.assert_as_string(error.message)
                print(error)
    
    if __name__ == '__main__':
        Sample.main()