Consulte et agrège les fichiers d'un jeu de données, et prend en charge les expressions logiques.
Description de l'opération
-
Avant d'appeler cette opération, assurez-vous de bien comprendre les méthodes de facturation et la tarification d'Intelligent Media Management.
-
Avant d'appeler cette opération, assurez-vous d'avoir indexé des fichiers dans un jeu de données en utilisant des liaisons (CreateBinding) ou une indexation active (IndexFileMeta ou BatchIndexFileMeta).
-
Les résultats renvoyés ne sont que des exemples. Selon la configuration du modèle de workflow, les catégories et le contenu des métadonnées de fichier obtenues peuvent différer des exemples. Si vous avez des questions, rejoignez le groupe DingTalk pour donner votre avis. Pour l'identifiant du groupe DingTalk, reportez-vous à Contactez-nous.
Limites
-
Chaque requête renvoie un maximum de 100 fichiers.
-
Chaque requête renvoie un maximum de 2 000 informations de statistiques d'agrégation.
-
Jusqu'à 100 conditions de sous-requête sont prises en charge.
-
Une profondeur d'imbrication maximale de 5 niveaux est prise en charge pour les sous-requêtes.
Exemples de conditions de requête
Pour rechercher des images JPEG d'une taille supérieure à 1 000 pixels, spécifiez le paramètre Query comme suit :
{
"SubQueries":[
{
"Field":"ContentType",
"Value": "image/jpeg",
"Operation":"eq"
},
{
"Field":"ImageWidth",
"Value":"1000",
"Operation":"gt"
}
],
"Operation":"and"
}
Pour rechercher tous les fichiers dans
oss://examplebucket/path/qui contiennent la baliseTVouSpeakeret dont la taille est supérieure à 10 Mo, spécifiez le paramètre Query comme suit :
Ici, TV et Speaker sont des balises différentes du même fichier et existent sous forme de deux objets indépendants dans le champ Labels. Notez la différence entre cet exemple et le suivant.
{
"SubQueries": [
{
"Field": "URI",
"Value": "oss://examplebucket/path/",
"Operation": "prefix"
},
{
"Field": "Size",
"Value": "1048576",
"Operation": "gt"
},
{
"SubQueries": [
{
"Field": "Labels.LabelName",
"Value": "TV",
"Operation": "eq"
},
{
"Field": "Labels.LabelName",
"Value": "Speaker",
"Operation": "eq"
}
],
"Operation": "or"
}
],
"Operation": "and"
}
Pour exclure les fichiers qui contiennent des informations sur le visage d'un homme de plus de 36 ans, spécifiez le paramètre Query comme suit :
Contrairement à l'exemple précédent, cela nécessite qu'un seul visage remplisse les deux conditions : avoir plus de 36 ans et être de sexe masculin. Cela diffère d'une exigence où une image contient plusieurs visages, dont l'un est masculin et l'autre a plus de 36 ans. Dans cette requête, vous devez utiliser une requête nested pour vous assurer que les conditions sont remplies au sein du même élément.
{
"Operation": "not",
"SubQueries": [{
"Operation": "nested",
"SubQueries": [{
"Operation": "and",
"SubQueries": [{
"Field": "Figures.Age",
"Operation": "gt",
"Value": "36"
}, {
"Field": "Figures.Gender",
"Operation": "eq",
"Value": "male"
}]
}]
}]
}
Pour rechercher des images JPEG qui possèdent à la fois des balises personnalisées et des balises système, spécifiez le paramètre Query comme suit :
{
"SubQueries":[
{
"Field":"ContentType",
"Value": "image/jpeg",
"Operation":"eq"
},
{
"Field":"CustomLabels.test",
"Operation":"exist"
},
{
"Field":"Labels.LabelName",
"Operation":"exist"
}
],
"Operation":"and"
}
Sur la base des conditions de recherche précédentes, vous pouvez également utiliser des opérations d'agrégation pour collecter des statistiques et analyser différentes données. Par exemple, vous pouvez calculer la taille totale, le nombre, la moyenne ou les valeurs extrêmes de tous les fichiers qui répondent aux conditions de recherche, ou collecter des statistiques sur la distribution de la taille de toutes les images qui répondent aux conditions de recherche.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
imm:SimpleQuery |
list |
*Jeu de données.
|
Aucune | Aucune |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| NextToken |
string |
Non |
Le jeton utilisé pour la pagination lorsque le nombre total de fichiers dépasse la valeur de MaxResults. La liste des fichiers est renvoyée par ordre lexicographique à partir de NextToken. Définissez ce paramètre sur vide lors du premier appel de cette opération. |
MTIzNDU2Nzg6aW1tdGVzdDpleGFtcGxlYnVja2V0OmRhdGFzZXQwMDE6b3NzOi8vZXhhbXBsZWJ1Y2tldC9zYW1wbGVvYmplY3QxLmpwZw== |
| MaxResults |
integer |
Non |
|
10 |
| ProjectName |
string |
Oui |
Le nom du projet. Pour plus d'informations sur la façon d'obtenir le nom du projet, consultez Créer un projet. |
test-project |
| DatasetName |
string |
Oui |
Le nom du jeu de données. Pour plus d'informations sur la façon d'obtenir le nom du jeu de données, consultez Créer un jeu de données. |
test-dataset |
| Query | SimpleQuery |
Non |
Les conditions de requête simple. Cliquez sur le lien à gauche pour afficher les détails. |
|
| Sort |
string |
Non |
La liste des champs de tri. Pour plus d'informations, consultez Champs et opérateurs pris en charge. Remarque
|
Size,Filename |
| Order |
string |
Non |
L'ordre de tri des champs de tri. Valeurs valides :
Remarque
|
asc,desc |
| Aggregations |
array<object> |
Non |
La liste des informations de champ d'agrégation. Important Lorsque vous utilisez une requête d'agrégation, seuls les résultats d'agrégation sont renvoyés, et la liste des métadonnées correspondantes n'est pas renvoyée. |
|
|
object |
Non |
La structure des informations de champ d'agrégation. |
||
| Field |
string |
Non |
Le nom du champ. Pour plus d'informations sur les champs pris en charge, consultez Champs et opérateurs pris en charge. |
Size |
| Operation |
string |
Non |
L'opérateur pour le champ d'agrégation. Valeurs valides :
|
sum |
| WithFields |
array |
Non |
Indique les champs spécifiques à renvoyer au lieu de tous les champs de métadonnées existants. Cela peut être utilisé pour réduire la taille de la structure renvoyée. Si vous ne spécifiez pas ce paramètre ou si vous le laissez vide, tous les champs sont renvoyés. |
|
|
string |
Non |
Le nom du champ à renvoyer. Pour plus d'informations sur les noms de champs pris en charge, consultez File. |
Filename |
|
| WithoutTotalHits |
boolean |
Non |
Indique si le nombre total d'enregistrements correspondants doit être renvoyé. Valeurs valides :
|
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
La structure de la réponse. |
||
| Aggregations |
array<object> |
La liste des informations de champ d'agrégation. Ce paramètre n'est renvoyé que lorsque Aggregations dans la requête n'est pas vide. |
|
|
array<object> |
La structure des informations de champ d'agrégation. |
||
| Field |
string |
Le nom du champ d'agrégation. |
Size |
| Groups |
array<object> |
La liste des résultats de regroupement et d'agrégation. Ce paramètre n'est renvoyé que lorsqu'une Operation de type group existe dans Aggregations de la requête. |
|
|
object |
Le résultat de regroupement et d'agrégation. |
||
| Count |
integer |
Le nombre total de regroupements et d'agrégations. |
5 |
| Value |
string |
La valeur du regroupement et de l'agrégation. |
100 |
| Operation |
string |
L'opération d'agrégation pour le champ d'agrégation. |
sum |
| Value |
number |
Le résultat statistique de l'agrégation. |
200 |
| Files |
array |
La liste des informations de fichier. Ce paramètre n'est renvoyé que lorsque Aggregations dans la requête est vide. |
|
| File |
La structure des informations de fichier. |
||
| NextToken |
string |
Le jeton utilisé pour la pagination lorsque le nombre total de fichiers dépasse la valeur de MaxResults. Lorsque vous listez les informations de fichier la prochaine fois, définissez NextToken sur cette valeur pour renvoyer les résultats restants. Ce paramètre n'a de valeur que lorsque tous les fichiers ne sont pas renvoyés. |
MTIzNDU2Nzg6aW1tdGVzdDpleGFtcGxlYnVja2V0OmRhdGFzZXQwMDE6b3NzOi8vZXhhbXBsZWJ1Y2tldC9zYW1wbGVvYmplY3QxLmpwZw== |
| RequestId |
string |
L'identifiant de la requête. |
2C5C1E0F-D8B8-4DA0-8127-EC32C771**** |
| TotalHits |
integer |
Le nombre d'enregistrements correspondants. |
10 |
Exemples
JSON format
{
"Aggregations": [
{
"Field": "Size",
"Groups": [
{
"Count": 5,
"Value": "100"
}
],
"Operation": "sum",
"Value": 200
}
],
"Files": [
{
"OwnerId": "102321002467****",
"ProjectName": "test-project",
"DatasetName": "test-dataset",
"ObjectType": "file",
"ObjectId": "75d5de2c50754e3dadd5c35dbca5f9949369e37eb342a73821f690c94c36c7f7",
"UpdateTime": "2021-06-29T14:50:13.011643661+08:00",
"CreateTime": "2021-06-29T14:50:13.011643661+08:00",
"URI": "oss://test-bucket/test-object.jpg",
"OSSURI": "oss://examplebucket/sampleobject.jpg",
"Filename": "sampleobject.jpg",
"MediaType": "image",
"ContentType": "image/jpeg",
"Size": 1000,
"FileHash": "1d9c280a7c4f67f7ef873e28449dbe17",
"FileModifiedTime": "2021-06-29T14:50:13.011643661+08:00",
"FileCreateTime": "2021-06-29T14:50:13.011643661+08:00",
"FileAccessTime": "2021-06-29T14:50:13.011643661+08:00",
"ProduceTime": "2021-06-29T14:50:13.011643661+08:00",
"LatLong": "30.134390,120.074997",
"Timezone": "\"\"",
"Addresses": [
{
"Language": "zh-Hans",
"AddressLine": "N° 969, Wenyi West Road, district de Yuhang, Hangzhou, Zhejiang, Chine",
"Country": "Chine",
"Province": "Zhejiang",
"City": "Hangzhou",
"District": "District de Yuhang",
"Township": "Wenyi West Road"
}
],
"TravelClusterId": "-",
"Orientation": 0,
"Figures": [
{
"FigureId": "868a9e74-cde5-4c7a-9013-28bb984****",
"FigureConfidence": 1,
"FigureClusterId": "Cluster-dbe72fec-b84c-4ab6-885b-3678e64****",
"FigureClusterConfidence": 1,
"FigureType": "face",
"Age": 29,
"AgeSD": 5,
"Gender": "female",
"GenderConfidence": 1,
"Emotion": "happiness",
"EmotionConfidence": 0.70784568786621,
"FaceQuality": 0.960875928401947,
"Boundary": {
"Width": 200,
"Height": 300,
"Left": 10,
"Top": 30,
"Polygon": [
{
"X": 10,
"Y": 10
}
]
},
"Mouth": "close",
"MouthConfidence": 1,
"Beard": "none",
"BeardConfidence": 1,
"Hat": "none",
"HatConfidence": 1,
"Mask": "none",
"MaskConfidence": 1,
"Glasses": "none",
"GlassesConfidence": 0.8,
"Sharpness": 0.7,
"Attractive": 0.96,
"HeadPose": {
"Pitch": 18.385589599609375,
"Roll": 4.204030513763428,
"Yaw": 2.4945924282073975
}
}
],
"FigureCount": 10,
"Labels": [
{
"Language": "zh-Hans",
"LabelName": "椅子",
"LabelLevel": 2,
"LabelConfidence": 0.95,
"ParentLabelName": "家具",
"CentricScore": 0.877,
"LabelAlias": "座椅",
"Clips": [
{
"TimeRange": [
100
]
}
]
}
],
"Title": "test",
"ImageWidth": 270,
"ImageHeight": 500,
"EXIF": "{\"Compression\":{\"value\":\"6\"},\"DateTime\":{\"value\":\"2020:08:19 17:11:11\"}}",
"ImageScore": {
"OverallQualityScore": 0.736
},
"CroppingSuggestions": [
{
"AspectRatio": "2:3",
"Confidence": 0.742,
"Boundary": {
"Width": 200,
"Height": 300,
"Left": 10,
"Top": 30,
"Polygon": [
{
"X": 10,
"Y": 10
}
]
}
}
],
"OCRContents": [
{
"Language": "zh-hans",
"Contents": "Bienvenue dans Intelligent Media Management",
"Confidence": 0.8254936695098877,
"Boundary": {
"Width": 200,
"Height": 300,
"Left": 10,
"Top": 30,
"Polygon": [
{
"X": 10,
"Y": 10
}
]
}
}
],
"VideoWidth": 1080,
"VideoHeight": 1920,
"VideoStreams": [
{
"Index": 0,
"Language": "en",
"CodecName": "h264",
"CodecLongName": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"Profile": "High",
"CodecTimeBase": "1373627/83160000",
"CodecTagString": "avc1",
"CodecTag": "0x31637661",
"Width": 1280,
"Height": 720,
"HasBFrames": 2,
"SampleAspectRatio": "1:1",
"DisplayAspectRatio": "16:9",
"PixelFormat": "yuv420p",
"Level": 40,
"FrameRate": "25/1",
"AverageFrameRate": "25/1",
"TimeBase": "1/12800",
"StartTime": 0,
"Duration": 22.88,
"Bitrate": 5407765,
"FrameCount": 572,
"Rotate": "90",
"BitDepth": 8,
"ColorSpace": "bt709",
"ColorRange": "tv",
"ColorTransfer": "bt709",
"ColorPrimaries": "bt709"
}
],
"Subtitles": [
{
"Index": 2,
"Language": "en",
"CodecName": "mov_text",
"CodecLongName": "MOV text",
"CodecTagString": "tx3g",
"CodecTag": "0x67337874",
"StartTime": 0,
"Duration": 71.378,
"Bitrate": 74,
"Content": "Bienvenue",
"Width": 600,
"Height": 30
}
],
"AudioStreams": [
{
"Index": 1,
"Language": "en",
"CodecName": "aac",
"CodecLongName": "AAC (Advanced Audio Coding)",
"CodecTimeBase": "1/44100",
"CodecTagString": "mp4a",
"CodecTag": "0x6134706d",
"TimeBase": "1/48000",
"StartTime": 0.0235,
"Duration": 3.690667,
"Bitrate": 320087,
"FrameCount": 173,
"Lyric": "test",
"SampleFormat": "fltp",
"SampleRate": 48000,
"Channels": 2,
"ChannelLayout": "stéréo"
}
],
"Artist": "Jane",
"AlbumArtist": "Jane",
"AudioCovers": [
{
"ImageWidth": 500,
"ImageHeight": 820,
"EXIF": "{\"FileSize\":{\"value\":\"29304\"},\"Format\":{\"value\":\"jpg\"}}",
"ImageScore": {
"OverallQualityScore": 0.736
},
"CroppingSuggestions": [
{
"AspectRatio": "2:3",
"Confidence": 0.742
}
],
"OCRContents": [
{
"Language": "zh-hans",
"Contents": "Bienvenue dans Intelligent Media Management",
"Confidence": 0.8254936695098877
}
]
}
],
"Composer": "Jane",
"Performer": "Jane",
"Language": "eng",
"Album": "FirstAlbum",
"PageCount": 5,
"ETag": "\"1D9C280A7C4F67F7EF873E28449****\"",
"CacheControl": "no-cache",
"ContentDisposition": "attachment; filename =test.jpg",
"ContentEncoding": "UTF-8",
"ContentLanguage": "zh-CN",
"AccessControlAllowOrigin": "https://aliyundoc.com",
"AccessControlRequestMethod": "PUT",
"ServerSideEncryptionCustomerAlgorithm": "SM4",
"ServerSideEncryption": "AES256",
"ServerSideDataEncryption": "SM4",
"ServerSideEncryptionKeyId": "9468da86-3509-4f8d-a61e-6eab1eac****",
"OSSStorageClass": "Standard",
"OSSCRC64": "559890638950338001",
"ObjectACL": "default",
"ContentMd5": "HZwoCnxPZ/fvhz4oRJ2+Fw==",
"OSSUserMeta": {
"key": "val"
},
"OSSTaggingCount": 2,
"OSSTagging": {
"key": "val"
},
"OSSExpiration": "2120-01-01T12:00:00.000Z",
"OSSVersionId": "CAEQNhiBgMDJgZCA0BYiIDc4MGZjZGI2OTBjOTRmNTE5NmU5NmFhZjhjYmY0****",
"OSSDeleteMarker": "CAEQMhiBgIDXiaaB0BYiIGQzYmRkZGUxMTM1ZDRjOTZhNjk4YjRjMTAyZjhl****",
"OSSObjectType": "Normal",
"CustomId": "\t\nmember-image-id-0001",
"CustomLabels": {
"test": "test",
"test2": 1
},
"StreamCount": 1,
"ProgramCount": 1,
"FormatName": "mov",
"FormatLongName": "QuickTime / MOV",
"StartTime": 0,
"Bitrate": 13091201,
"Duration": 15.263,
"SemanticTypes": [
"content"
],
"Elements": [
{
"ElementContents": [
{
"Type": "text",
"Content": "Fragment de texte",
"URL": "http://aliyun.com",
"TimeRange": [
500
]
}
],
"ObjectId": "id1",
"ElementType": "title - titre ; image - image ; table - tableau ; narrative-text - texte narratif",
"SemanticSimilarity": 0.8,
"ElementRelations": [
{
"Type": "child, parent",
"ObjectId": "id1"
}
]
}
],
"SceneElements": [
{
"TimeRange": [
100
],
"FrameTimes": [
30
],
"VideoStreamIndex": 0,
"Labels": [
{
"Language": "zh-Hans",
"LabelName": "椅子",
"LabelLevel": 2,
"LabelConfidence": 0.95,
"ParentLabelName": "家具",
"CentricScore": 0.877,
"LabelAlias": "座椅",
"Clips": [
{
"TimeRange": [
100
]
}
]
}
]
}
],
"OCRTexts": "阿里云IMM",
"Reason": "[InternalError] The request has been failed due to some unknown error. status: 500, requestId: CC5ACFBD-BB7A-496D-A9D6-****",
"ObjectStatus": "Indexed",
"Insights": {
"Video": {
"Description": "None",
"Caption": "La vidéo montre deux scènes différentes : l'une avec une assiette blanche immobile, un flacon noir et un verre transparent, et l'autre avec une main tenant un flacon de shampoing portant la mention \"YEZOLU\" se déplaçant lentement vers le haut dans une salle de bain"
},
"Image": {
"Caption": "Aucun",
"Description": "L'image représente une personne vêtue d'une veste de costume sombre et d'une chemise blanche. L'arrière-plan est un dégradé allant du bleu clair au gris"
}
}
}
],
"NextToken": "MTIzNDU2Nzg6aW1tdGVzdDpleGFtcGxlYnVja2V0OmRhdGFzZXQwMDE6b3NzOi8vZXhhbXBsZWJ1Y2tldC9zYW1wbGVvYmplY3QxLmpwZw==",
"RequestId": "2C5C1E0F-D8B8-4DA0-8127-EC32C771****",
"TotalHits": 10
}
Codes d'erreur
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.