All Products
Search
Document Center

Intelligent Media Management:Kueri metadata file

Last Updated:May 01, 2026

Setelah membuat indeks metadata, Anda dapat mengkueri metadata satu atau beberapa file dengan memanggil operasi API Intelligent Media Management (IMM). Anda juga dapat melakukan kueri menggunakan pencarian berdasarkan field, pencarian kata kunci fuzzy, atau pencarian kata kunci dalam bahasa alami. Topik ini menjelaskan cara mengkueri metadata file.

Prasyarat

Indeks metadata telah dibuat untuk file Anda sesuai skenario penggunaan Anda. Untuk informasi selengkapnya, lihat Buat indeks metadata.

Metode kueri

Tabel berikut menjelaskan metode yang dapat digunakan untuk mengkueri metadata file.

Metode

Deskripsi

Kueri metadata file tunggal

Panggil operasi GetFileMeta untuk mengkueri metadata file tunggal.

Kueri metadata beberapa file

Panggil operasi BatchGetFileMeta untuk mengkueri metadata beberapa file sekaligus.

Lakukan kueri sederhana

Panggil operasi SimpleQuery untuk mengkueri file yang memenuhi kondisi tertentu dan menampilkan metadata berdasarkan field dalam urutan pengurutan tertentu.

Anda juga dapat menggunakan nesting untuk melakukan kueri kompleks dan melakukan operasi agregasi untuk mengumpulkan statistik serta menganalisis nilai dari berbagai field. Untuk daftar field dan operator yang didukung, lihat Field dan operator yang didukung.

Lakukan pencarian fuzzy

Panggil operasi FuzzyQuery untuk mengkueri file yang sesuai dengan string tertentu dan menampilkan metadata file tersebut.

IMM mencari string yang ditentukan dalam field metadata yang diekstraksi, seperti nama file, label, path, atau label kustom. Jika salah satu nilai field metadata file sesuai dengan string yang ditentukan, semua metadata file tersebut akan dikembalikan.

Lakukan pencarian kata kunci bahasa alami

Panggil operasi SemanticQuery untuk mengkueri metadata dalam suatu dataset berdasarkan kata kunci bahasa alami.

Operasi ini mendukung pencarian semantik berdasarkan field Labels, ProduceTime, dan AddressLine. Sebagai contoh, untuk mengkueri metadata file yang secara semantik terkait dengan 'langit di atas Hangzhou', Anda dapat menentukan 'Query=sky over Hangzhou' sebagai kondisi kueri.

Kueri metadata file tunggal

Contoh ini mengkueri metadata untuk file oss://test-bucket/test-object.jpg dari dataset test-dataset dalam proyek test-project.

  • Contoh permintaan

    {
        "ProjectName": "test-project",
        "URI": "oss://test-bucket/test-object.jpg",
        "DatasetName": "test-dataset"
    }
                            
  • Contoh respons

    {
        "RequestId": "645FB6D9-5EA0-02C9-B253-****",
        "Files": [
            {
                "ProduceTime": "2020-08-19T17:11:11+08:00",
                "ObjectACL": "default",
                "ContentType": "image/jpeg",
                "ProjectName": "test-project",
                "Size": 22868,
                "URI": "oss://test-bucket/test-object.jpg",
                "Addresses": [
                    {
                        "Language": "zh-Hans",
                        "Township": "Tanggou Town",
                        "AddressLine": "Chenlongzhuang, Tanggou Town, Shuyang County, Suqian City, Jiangsu Province",
                        "Country": "China",
                        "City": "Suqian",
                        "District": "Shuyang",
                        "Province": "Jiangsu"
                    }
                ],
                "ObjectType": "file",
                "CustomLabels": {
                    "category": "Persons"
                },
                "OwnerId": "****",
                "FileModifiedTime": "2021-05-13T10:22:44+08:00",
                "ImageWidth": 270,
                "OSSStorageClass": "Standard",
                "MediaType": "image",
                "ObjectId": "****",
                "CreateTime": "2022-07-06T07:10:18.497753661+08:00",
                "Filename": "1.jpg",
                "Labels": [
                    {
                        "CentricScore": 0.921999990940094,
                        "Language": "zh-Hans",
                        "LabelConfidence": 1,
                        "LabelName": "Hairstyle",
                        "LabelLevel": 2,
                        "ParentLabelName": "Daily behavior"
                    },
                    ...
                ],
                "Orientation": 1,
                "Figures": [
                    {
                        "Beard": "none",
                        "MaskConfidence": 0.6959999799728394,
                        "Gender": "female",
                        "Boundary": {
                            "Left": 70,
                            "Top": 75,
                            "Height": 134,
                            "Width": 101
                        },
                        ...
                    }
                ],
                "EXIF": "...",
                "ContentMd5": "HZwoCnxPZ/fvhz4oRJ****",
                "ImageHeight": 270,
                "ImageScore": {
                    "OverallQualityScore": 0.6140000224113464
                },
                "ETag": "\"1D9C280A7C4F67F7EF873E28449D****\"",
                "DatasetName": "test-dataset",
                "FileHash": "\"1D9C280A7C4F67F7EF873E2****\"",
                "UpdateTime": "2022-07-06T07:10:18.497753661+08:00",
                "OSSCRC64": "5634447745650079669",
                "OSSTaggingCount": 0,
                "LatLong": "34.000000,119.000000",
                "OSSObjectType": "Normal"
            }
        ]
    }
  • Kode contoh lengkap (IMM SDK untuk 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 client. 
            @param access_key_id:
            @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 endpoint. 
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey Akun Alibaba Cloud memiliki izin atas semua operasi API. Menggunakan kredensial ini untuk melakukan operasi merupakan operasi berisiko tinggi. Kami menyarankan agar Anda menggunakan RAM user untuk memanggil operasi API atau melakukan O&M rutin. 
            # Untuk alasan keamanan, kami menyarankan agar Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek. 
            # 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_file_meta_request = imm_20200930_models.GetFileMetaRequest(
                project_name='test-project',
                dataset_name='test-dataset',
                uri='oss://test-bucket/test-object.jpg'
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Cetak respons operasi API. 
                response = client.get_file_meta_with_options(get_file_meta_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan error jika diperlukan. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()

Kueri metadata beberapa file

Contoh ini mengkueri metadata untuk file oss://test-bucket/test-object1.jpg dan oss://test-bucket/test-object2.jpg dari dataset test-dataset dalam proyek test-project.

  • Contoh permintaan

    {
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "URIs": "[\"oss://test-bucket/test-object.jpg\", \"oss://test-bucket/test-object2.jpg\"]"
    }
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

  • Kode contoh lengkap (IMM SDK untuk 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 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 endpoint. 
            config.endpoint = f'imm.cn-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey Akun Alibaba Cloud memiliki izin atas semua operasi API. Menggunakan kredensial ini untuk melakukan operasi merupakan operasi berisiko tinggi. Kami menyarankan agar Anda menggunakan RAM user untuk memanggil operasi API atau melakukan O&M rutin. 
            # Untuk alasan keamanan, kami menyarankan agar Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek. 
            # 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)
            batch_get_file_meta_request = imm_20200930_models.BatchGetFileMetaRequest(
                project_name='test-project',
                dataset_name='test-dataset',
                uris=[
                    'oss://test-bucket/test-object1.jpg',
                    'oss://test-bucket/test-object2.jpg'
                ]
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Cetak respons operasi API. 
                response = client.batch_get_file_meta_with_options(batch_get_file_meta_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan error jika diperlukan. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()

Lakukan kueri sederhana

Contoh 1

Konten berikut menyediakan kondisi kueri:

  • Nama proyek: test-project

  • Nama dataset: test-dataset

  • Jenis file: image

  • Pengurutan hasil kueri: dalam urutan ukuran file menaik

  • Jumlah maksimum hasil kueri yang dikembalikan: 100

Konten berikut menyediakan contoh:

  • Contoh permintaan

    {
        "Query": "{\"Field\": \"ContentType\", \"Operation\": \"prefix\", \"Value\": \"image\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset"
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

  • Kode contoh lengkap (IMM SDK untuk 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 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-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey Akun Alibaba Cloud memiliki izin atas semua operasi API. Menggunakan kredensial ini untuk melakukan operasi merupakan operasi berisiko tinggi. Kami menyarankan agar Anda menggunakan RAM user untuk memanggil operasi API atau melakukan O&M rutin. 
            # Untuk alasan keamanan, kami menyarankan agar Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek. 
            # 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)
            request = imm_20200930_models.SimpleQueryRequest()
            params = {
                # Tentukan kondisi kueri 
                "Query": {"SubQueries": [{"Field": "ContentType", "Operation": "eq", "Value": "image/jpeg"}, {"Field": "Size", "Operation": "gt", "Value": "10485760"}, {"Field": "CustomLabels.category", "Operation": "eq", "Value": "Persons"}], "Operation": "and"},
                # Tentukan nama proyek IMM.
                "ProjectName": "test-project",
                # Tentukan nama dataset.
                "DatasetName": "test-dataset",
                # Tentukan field pengurutan. 
                "Sort": "Size",
                # Tentukan urutan pengurutan. 
                "Order": "asc",
                # Tetapkan jumlah maksimum hasil kueri menjadi 100. 
                "MaxResults": 100
            }
            request.from_map(params)
            runtime = util_models.RuntimeOptions()
            try:
                # Cetak respons operasi API. 
                response = client.simple_query_with_options(request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan error jika diperlukan. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()

Contoh 2

Konten berikut menyediakan kondisi kueri:

  • Nama proyek: test-project

  • Nama dataset: test-dataset

  • Jenis file: image

  • Ukuran file: lebih besar dari 10 MB

  • Label kustom (CustomLabels.category): Orang

  • Pengurutan hasil kueri: dalam urutan ukuran file menaik

  • Jumlah maksimum hasil kueri yang dikembalikan: 100

Konten berikut menyediakan contoh:

  • Contoh permintaan

    {
        "Query": "{\"SubQueries\": [{\"Field\": \"ContentType\", \"Operation\": \"prefix\", \"Value\": \"image\"}, {\"Field\": \"Size\", \"Operation\": \"gt\", \"Value\": \"10485760\"}, {\"Field\": \"CustomLabels.category\", \"Operation\": \"eq\", \"Value\": \"Persons\"}], \"Operation\": \"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }                       
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

Contoh 3

Konten berikut menyediakan kondisi kueri:

  • Nama proyek: test-project

  • Nama dataset: test-dataset

  • Path file: oss://test-bucket/

  • Ukuran file: lebih besar dari 10 MB

  • Label (Labels.LabelName): "TV" atau "Stereo"

  • Pengurutan hasil kueri: dalam urutan ukuran file menaik

  • Jumlah maksimum hasil kueri yang dikembalikan: 100

Konten berikut menyediakan contoh:

  • Contoh permintaan

    {
        "Query": "{\"SubQueries\":[{\"Field\":\"URI\",\"Value\":\"oss://test-bucket/\",\"Operation\":\"prefix\"},{\"Field\":\"Size\",\"Value\":\"10485760\",\"Operation\":\"gt\"},{\"SubQueries\":[{\"Field\":\"Labels.LabelName\",\"Value\":\"TV\",\"Operation\":\"eq\"},{\"Field\":\"Labels.LabelName\",\"Value\":\"Stereo\",\"Operation\":\"eq\"}],\"Operation\":\"or\"}],\"Operation\":\"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

Contoh 4

Konten berikut menyediakan kondisi kueri:

  • Nama proyek: test-project

  • Nama dataset: test-dataset

  • Jenis file: image

  • Ukuran file: lebih besar dari 10 MB

  • Label kustom (CustomLabels.category): Persons

  • Hasil yang dikembalikan: ukuran total file yang sesuai

Konten berikut menyediakan contoh:

  • Contoh permintaan

    {
        "Query": "{\"SubQueries\": [{\"Field\": \"ContentType\", \"Operation\": \"eq\", \"Value\": \"image/jpeg\"}, {\"Field\": \"Size\", \"Operation\": \"gt\", \"Value\": \"10485760\"}, {\"Field\": \"CustomLabels.category\", \"Operation\": \"eq\", \"Value\": \"Persons\"}], \"Operation\": \"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Aggregations": "[{\"Field\":\"Size\",\"Operation\":\"sum\"}]"
    }
  • Contoh respons

    {
        "RequestId": "0FB9BA35-E16B-0DFE-BD52-****",
        "Aggregations": [
            {
                "Field": "Size",
                "Value": 10485760,
                "Operation": "sum"
            }
        ]
    }

Contoh 5

Konten berikut menyediakan kondisi kueri:

  • Nama proyek: test-project

  • Nama dataset: test-dataset

  • Ukuran file: lebih besar dari 10 MB

  • Wajah (Figures.Age dan Figures.Gender): usia dan jenis kelamin

  • Pengurutan hasil kueri: dalam urutan ukuran file menaik

  • Jumlah maksimum hasil kueri yang dikembalikan: 100

Konten berikut menyediakan contoh:

  • Contoh permintaan

    {
        "Query": "{\"Operation\":\"not\",\"SubQueries\":[{\"Operation\":\"nested\",\"SubQueries\":[{\"Operation\":\"and\",\"SubQueries\":[{\"Field\":\"Figures.Age\",\"Operation\":\"gt\",\"Value\":\"36\"},{\"Field\":\"Figures.Gender\",\"Operation\":\"eq\",\"Value\":\"male\"},{\"Field\":\"Size\",\"Operation\":\"gt\",\"Value\":\"10485760\"}]}]}]}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Sort": "Size",
        "Order": "asc",
        "MaxResults": 100
    }
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

Contoh 6

Konten berikut menyediakan kondisi kueri:

  • Nama proyek: test-project

  • Nama dataset: test-dataset

  • Jenis file: image

  • Ukuran file: lebih besar dari 10 MB

  • Label kustom (CustomLabels.category): keberadaan

  • Hasil yang dikembalikan: ukuran total file yang sesuai

Konten berikut menyediakan contoh:

  • Contoh permintaan

    {
        "Query": "{\"SubQueries\": [{\"Field\": \"ContentType\", \"Operation\": \"eq\", \"Value\": \"image/jpeg\"}, {\"Field\": \"Size\", \"Operation\": \"gt\", \"Value\": \"10485760\"}, {\"Field\": \"CustomLabels.category\", \"Operation\": \"exist\"}], \"Operation\": \"and\"}",
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Aggregations": "[{\"Field\":\"Size\",\"Operation\":\"sum\"}]"
    }
  • Contoh respons

    {
        "RequestId": "0FB9BA35-E16B-0DFE-BD52-****",
        "Aggregations": [
            {
                "Field": "Size",
                "Value": 10485760,
                "Operation": "sum"
            }
        ]
    }

Lakukan pencarian fuzzy

Contoh ini mencari file yang sesuai dengan string jpg dalam dataset test-dataset dari proyek test-project.

  • Contoh permintaan

    {
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Query": "jpg"
    }
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

  • Kode contoh lengkap (IMM SDK untuk 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 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-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey Akun Alibaba Cloud memiliki izin atas semua operasi API. Menggunakan kredensial ini untuk melakukan operasi merupakan operasi berisiko tinggi. Kami menyarankan agar Anda menggunakan RAM user untuk memanggil operasi API atau melakukan O&M rutin. 
            # Untuk alasan keamanan, kami menyarankan agar Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek. 
            # 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)
            fuzzy_query_request = imm_20200930_models.FuzzyQueryRequest(
                # Tentukan nama proyek IMM. 
                project_name='test-project',
                # Tentukan nama dataset. 
                dataset_name='test-dataset',
                # Tentukan kata kunci. 
                query='jpg'
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Cetak respons operasi API. 
                response = client.fuzzy_query_with_options(fuzzy_query_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan error jika diperlukan. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()

Lakukan pencarian kata kunci bahasa alami

Contoh ini mencari file yang terkait dengan pandas in Chengdu in July 2020 dalam set data test-dataset dari Proyek test-project.

  • Contoh permintaan

    {
        "ProjectName": "test-project",
        "DatasetName": "test-dataset",
        "Query": "Pandas in Chengdu in July 2020"
        "MaxResults": 100
    }
  • Contoh respons (Lihat contoh respons di bagian Kueri metadata file tunggal)

  • Kode contoh lengkap (IMM SDK untuk 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 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-beijing.aliyuncs.com'
            return imm20200930Client(config)
    
        @staticmethod
        def main() -> None:
            # Pasangan AccessKey Akun Alibaba Cloud memiliki izin atas semua operasi API. Menggunakan kredensial ini untuk melakukan operasi merupakan operasi berisiko tinggi. Kami menyarankan agar Anda menggunakan RAM user untuk memanggil operasi API atau melakukan O&M rutin. 
            # Untuk alasan keamanan, kami menyarankan agar Anda tidak menyematkan pasangan AccessKey Anda dalam kode proyek. 
            # 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)
            semantic_query_request = imm_20200930_models.SemanticQueryRequest(
                query='Pandas in Chengdu in July 2020',
                project_name='test-project',
                dataset_name='test-dataset',
                max_results=100
            )
            runtime = util_models.RuntimeOptions()
            try:
                # Cetak respons operasi API. 
                response = client.semantic_query_with_options(semantic_query_request, runtime)
                print(response.body.to_map())
            except Exception as error:
                # Cetak pesan error jika diperlukan. 
                UtilClient.assert_as_string(error.message)
                print(error)
    
    
    if __name__ == '__main__':
        Sample.main()