全部产品
Search
文档中心

Intelligent Media Management:Buat dataset

更新时间:Jul 06, 2025

Dataset adalah wadah untuk metadata dalam Intelligent Media Management (IMM). Topik ini menjelaskan cara membuat dataset.

Catatan penggunaan

  • Pencarian di seluruh dataset tidak didukung. Oleh karena itu, disarankan untuk menyimpan file terkait dalam dataset yang sama dan file tidak terkait dalam dataset berbeda.

  • Jumlah dataset dalam sebuah proyek tidak boleh melebihi batas maksimum yang ditentukan.

  • Jumlah file dalam sebuah dataset tidak boleh melebihi kapasitas maksimum dataset tersebut. Jumlah total file di semua dataset dalam sebuah proyek juga tidak boleh melebihi kapasitas maksimum proyek.

  • Jumlah bucket Object Storage Service (OSS) yang dipetakan ke dataset tidak boleh melebihi batas maksimum bucket OSS yang dapat dipetakan ke dataset tersebut. Jumlah total bucket OSS yang dipetakan ke semua dataset dalam sebuah proyek tidak boleh melebihi batas maksimum bucket OSS yang dapat dipetakan dalam proyek tersebut.

  • Saat membuat indeks metadata untuk dataset dalam sebuah proyek, template alur kerja dari dataset memiliki prioritas lebih tinggi daripada template alur kerja proyek. Jika template alur kerja dataset kosong, maka template alur kerja proyek digunakan. Untuk informasi lebih lanjut tentang template alur kerja, lihat Template Alur Kerja dan Operator.

Prasyarat

  • Pasangan AccessKey telah dibuat dan diperoleh. Untuk informasi lebih lanjut, lihat Buat Pasangan AccessKey.

  • Object Storage Service (OSS) telah diaktifkan, sebuah bucket telah dibuat, dan objek telah diunggah ke bucket tersebut. Untuk informasi lebih lanjut, lihat Unggah Objek.

  • Intelligent Media Management (IMM) telah diaktifkan. Untuk informasi lebih lanjut, lihat Aktifkan IMM.

  • Sebuah proyek telah dibuat di konsol IMM. Untuk informasi lebih lanjut tentang cara membuat proyek menggunakan konsol IMM, lihat Buat Proyek.

    Catatan
    • Anda juga dapat memanggil operasi CreateProject untuk membuat proyek. Untuk informasi lebih lanjut, lihat CreateProject.

    • Anda dapat memanggil operasi ListProjects untuk menanyakan proyek-proyek yang ada di wilayah tertentu. Untuk informasi lebih lanjut, lihat ListProjects.

Contoh

Buat dataset

Kode sampel berikut menggunakan operasi CreateDataset untuk membuat dataset bernama test-dataset dengan deskripsi "Dataset 1" dan menggunakan template alur kerja Official:ImageManagement di proyek bernama test-project.

  • Permintaan Sampel

    {
     "ProjectName": "test-project",
     "DatasetName": "test-dataset",
     "Description": "Dataset 1",
     "TemplateId": "Official:ImageManagement"
    }
  • Tanggapan Sampel

    {
        "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"
        }
    }
  • Kode Sampel Lengkap (untuk IMM SDK for Python 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:
            """
            Gunakan ID AccessKey dan rahasia AccessKey Anda untuk menginisialisasi klien. 
            @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
            )
            # Tentukan titik akhir IMM. 
            config.endpoint = f'imm.cn-shenzhen.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Kami menyarankan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin. 
            # Alasan keamanan, kami menyarankan Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek Anda. 
            # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk menerapkan verifikasi identitas untuk akses API. Untuk informasi tentang cara mengonfigurasi variabel lingkungan, kunjungi https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            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:
                # Cetak respons dari operasi API. 
                response = client.create_dataset_with_options(create_dataset_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan kesalahan jika perlu. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()

Menanyakan informasi dataset

Kode sampel berikut memanggil operasi GetDataset untuk menanyakan informasi tentang dataset "test-dataset" di proyek "test-project".

  • Permintaan Sampel

    {
     "ProjectName": "test-project",
     "DatasetName": "test-dataset"
    }
  • Tanggapan Sampel

    {
        "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"
        }
    }
  • Kode Sampel Lengkap (untuk IMM SDK for Python 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:
            """
            Gunakan ID AccessKey dan rahasia AccessKey Anda untuk menginisialisasi klien. 
            @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
            )
            # Tentukan titik akhir IMM. 
            config.endpoint = f'imm.cn-shenzhen.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey dari akun Alibaba Cloud memiliki izin untuk semua operasi API. Kami menyarankan Anda menggunakan pengguna RAM untuk memanggil operasi API atau melakukan pemeliharaan rutin. 
            # Alasan keamanan, kami menyarankan Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek Anda. 
            # Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan untuk menerapkan verifikasi identitas untuk akses API. Untuk informasi tentang cara mengonfigurasi variabel lingkungan, kunjungi https://www.alibabacloud.com/help/en/imm/developer-reference/configure-environment-variables. 
            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(
                # Tentukan nama proyek IMM. 
                project_name='test-project',
                # Tentukan nama dataset. 
                dataset_name='test-dataset',
                # Tentukan bahwa operasi tidak mengembalikan statistik seperti jumlah file dan ukuran file. 
                with_statistics=False
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Cetak respons dari operasi API. 
                response = client.get_dataset_with_options(get_dataset_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan kesalahan jika perlu. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()