Set data adalah wadah untuk menyimpan dan mengelola metadata. Topik ini menjelaskan cara membuat set data.
Catatan penggunaan
-
Simpan file yang tidak saling terkait dalam set data yang berbeda dan file yang saling terkait dalam satu set data yang sama.
-
Jumlah set data dalam suatu proyek tidak boleh melebihi batas proyek tersebut.
-
Jumlah file dalam satu set data tidak boleh melebihi batasnya. Total jumlah file di seluruh set data dalam suatu proyek juga tidak boleh melebihi batas proyek tersebut.
-
Jumlah bucket OSS yang ditautkan ke suatu set data tidak boleh melebihi batasnya. Total jumlah bucket yang ditautkan ke semua set data dalam suatu proyek juga tidak boleh melebihi batas proyek tersebut.
-
Saat membangun indeks metadata, templat alur kerja set data memiliki prioritas lebih tinggi daripada templat alur kerja proyek. Jika set data tidak memiliki templat alur kerja, IMM akan menggunakan templat proyek. Untuk informasi selengkapnya tentang templat alur kerja, lihat Templat alur kerja dan operator.
Prasyarat
-
Anda telah membuat pasangan AccessKey. Untuk informasi selengkapnya, lihat Buat pasangan AccessKey.
-
Anda telah mengaktifkan OSS, membuat bucket, dan mengunggah file ke bucket tersebut. Untuk informasi selengkapnya, lihat Unggah file.
-
Anda telah mengaktifkan IMM. Untuk informasi selengkapnya, lihat Aktifkan IMM.
-
Anda telah membuat proyek di konsol IMM. Untuk informasi selengkapnya, lihat Buat proyek.
Catatan-
Anda juga dapat memanggil operasi CreateProject untuk membuat proyek. Untuk informasi selengkapnya, lihat Buat proyek.
-
Anda dapat memanggil operasi ListProjects untuk menampilkan daftar semua proyek di wilayah tertentu.
-
Prosedur
Langkah 1: Buat set data
Contoh ini memanggil operasi CreateDataset untuk membuat set data bernama test-dataset dengan deskripsi Dataset 1 dan templat Official:ImageManagement dalam proyek test-project.
-
Contoh permintaan
{ "ProjectName": "test-project", "DatasetName": "test-dataset", "Description": "Dataset 1", "TemplateId": "Official:ImageManagement" } -
Contoh respons
{ "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 contoh lengkap (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: """ Gunakan ID AccessKey dan rahasia AccessKey Anda untuk menginisialisasi 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 ) # Tentukan titik akhir. config.endpoint = f'imm.cn-shenzhen.aliyuncs.com' return imm20200930Client(config) @staticmethod def main() -> None: # Pasangan AccessKey Akun Alibaba Cloud dapat menjalankan semua operasi API. Untuk alasan keamanan, kami menyarankan menggunakan RAM user untuk akses API atau O&M rutin. # Jangan hard-code ID AccessKey dan rahasia AccessKey Anda di dalam kode. Praktik ini dapat menimbulkan risiko keamanan jika kunci tersebut bocor. # Contoh ini mengambil pasangan AccessKey dari variabel lingkungan untuk otentikasi. Untuk informasi selengkapnya tentang cara mengonfigurasi variabel lingkungan, lihat 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: # Cetak respons 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 terjadi error. UtilClient.assert_as_string(error.message) print(error) if __name__ == '__main__': Sample.main()
(Opsional) Langkah 2: Kueri set data
Contoh ini memanggil operasi GetDataset untuk mengkueri set data bernama test-dataset dalam proyek test-project.
-
Contoh permintaan
{ "ProjectName": "test-project", "DatasetName": "test-dataset" } -
Contoh respons
{ "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 contoh lengkap (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: """ Gunakan ID AccessKey dan rahasia AccessKey Anda untuk menginisialisasi 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 ) # Tentukan titik akhir. config.endpoint = f'imm.cn-shenzhen.aliyuncs.com' return imm20200930Client(config) @staticmethod def main() -> None: # Pasangan AccessKey Akun Alibaba Cloud dapat menjalankan semua operasi API. Untuk alasan keamanan, kami menyarankan menggunakan RAM user untuk akses API atau O&M rutin. # Jangan hard-code ID AccessKey dan rahasia AccessKey Anda di dalam kode. Praktik ini dapat menimbulkan risiko keamanan jika kunci tersebut bocor. # Contoh ini mengambil pasangan AccessKey dari variabel lingkungan untuk otentikasi. Untuk informasi selengkapnya tentang cara mengonfigurasi variabel lingkungan, lihat 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( # Tentukan nama proyek IMM. project_name='test-project', # Tentukan nama set data. dataset_name='test-dataset', # Jangan kembalikan statistik, seperti jumlah file dan ukuran total file. with_statistics=False ) runtime = util_models.RuntimeOptions() try: # Cetak respons 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 terjadi error. UtilClient.assert_as_string(error.message) print(error) if __name__ == '__main__': Sample.main()