Un conjunto de datos es un contenedor para almacenar y gestionar metadatos. Este tema describe cómo crear un conjunto de datos.
Notas de uso
Almacene los archivos no relacionados en conjuntos de datos distintos y los relacionados en el mismo conjunto de datos.
La cantidad de conjuntos de datos en un proyecto no puede exceder el límite del proyecto.
La cantidad de archivos en un conjunto de datos no puede exceder su límite. El número total de archivos en todos los conjuntos de datos de un proyecto no puede superar el límite del proyecto.
La cantidad de buckets de OSS vinculados a un conjunto de datos no puede exceder su límite. El número total de buckets vinculados a todos los conjuntos de datos de un proyecto no puede superar el límite del proyecto.
Al generar un índice de metadatos, la plantilla de flujo de trabajo del conjunto de datos tiene prioridad sobre la del proyecto. Si el conjunto de datos no cuenta con una plantilla de flujo de trabajo, IMM utiliza la plantilla del proyecto. Para obtener más información sobre las plantillas de flujo de trabajo, consulte Workflow templates and operators.
Requisitos previos
Ha creado un par de AccessKey. Para obtener más información, consulte Create an AccessKey pair.
Ha activado OSS, ha creado un bucket y ha cargado archivos en dicho bucket. Para obtener más información, consulte Upload files.
Ha activado IMM. Para obtener más información, consulte Activate IMM.
-
Ha creado un proyecto en la consola de IMM. Para obtener más información, consulte Create a project.
NotaTambién puede llamar a la operación CreateProject para crear un proyecto. Para obtener más información, consulte Create a project.
Llame a la operación ListProjects para listar todos los proyectos en una región especificada.
Procedimiento
Paso 1: Cree un conjunto de datos
En este ejemplo se llama a la operación CreateDataset para crear un conjunto de datos llamado test-dataset con la descripción Dataset 1 y la plantilla Official:ImageManagement en el proyecto test-project.
-
Solicitud de ejemplo
{ "ProjectName": "test-project", "DatasetName": "test-dataset", "Description": "Dataset 1", "TemplateId": "Official:ImageManagement" } -
Respuesta de ejemplo
{ "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 ejemplo 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) Paso 2: Consulte un conjunto de datos
En este ejemplo se llama a la operación GetDataset para consultar el conjunto de datos llamado test-dataset en el proyecto test-project.
-
Solicitud de ejemplo
{ "ProjectName": "test-project", "DatasetName": "test-dataset" } -
Respuesta de ejemplo
{ "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 ejemplo 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()