Image Search propose une fonctionnalité d'opérations par lot. Elle vous permet d'importer plusieurs images depuis Object Storage Service (OSS) vers Image Search et de supprimer plusieurs images d'Image Search en une seule fois. Cette fonctionnalité offre une grande stabilité, une haute efficacité et une simplicité d'utilisation. Elle est adaptée aux scénarios nécessitant la gestion d'un grand nombre d'images via une tâche unique. Cette rubrique explique comment importer et supprimer plusieurs images simultanément.
Procédure
Activer OSS
Si OSS n'est pas activé, activez OSS. Une fois OSS activé, vous devez créer un bucket.
La facturation d'OSS est distincte. Pour plus d'informations sur les méthodes de facturation, consultez la section Billing overview.
Votre bucket OSS et votre instance Image Search doivent se trouver dans la même région. Sinon, la fonctionnalité d'opérations par lot ne peut pas être utilisée.
Importer des images dans OSS
Pour plus d'informations sur l'importation d'images dans OSS, consultez la section Télécharger des fichiers.
Vous pouvez spécifier un chemin personnalisé lors de la création d'une tâche par lot pour stocker les images importées dans le bucket OSS.
Créer un fichier increment.meta
Créez un fichier increment.meta dans le bucket OSS contenant les images. Ce fichier sert à stocker les détails des images à traiter dans une tâche par lot.
Le fichier increment.meta et les images spécifiées dans le fichier increment.meta doivent être stockés dans le même bucket. Sinon, l'opération par lot échouera.
Le nom du fichier increment.meta est fixe. Image Search lit les détails des images à traiter dans une tâche par lot en se basant sur ce nom de fichier. Ne modifiez pas le nom du fichier, sous peine d'échec de l'opération par lot.
Image Search vous permet d'effectuer des opérations par lot sur des images stockées dans différents chemins d'accès au sein du même bucket. Par exemple, si le fichier increment.meta est stocké dans le répertoire racine d'un bucket nommé imagesearch, et qu'une image nommée girl_cloth8.jpg est stockée dans un répertoire nommé girlCloth dans ce bucket, le paramètre PicName pour l'image doit être spécifié comme suit dans le fichier increment.meta :
"PicName":"girlCloth/girl_cloth8.jpg". Notez qu'aucune barre oblique (/) ne doit être ajoutée avant girlCloth ou après girl_cloth8.jpg. Cette logique s'applique également aux répertoires à plusieurs niveaux.Vous devez ajouter une extension de fichier aux noms des images stockées dans OSS. Par exemple, si une image est nommée girl_cloth10.jpg, vous devez spécifier le paramètre PicName comme « PicName »:« girl_cloth10.jpg » et non « PicName »:« girl_cloth10 ». Sinon, l'opération par lot échouera.
Dans le fichier increment.meta, vous ne pouvez spécifier qu'une seule image par ligne. Si vous spécifiez plusieurs images sur une seule ligne, l'opération par lot échouera.
Voici un exemple de fichier JSON à titre de référence :
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth1.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value1","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1000","PicName": "girl_cloth2.jpg","CategoryId": 0,"IntAttr": 0,"StrAttr": "value2","CustomContent": "k1:v1,k2:v2,k3:v3","Region": "20,40,60,80"}
{"OperationType": "ADD","ProductId": "1001","PicName": "girl_cloth3.jpg","CategoryId": 1,"CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1002","PicName": "girl_cloth4.jpg","CategoryId": 0,"CustomContent": "k1:v1,k2:v2,k3:v3","Crop": false}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth7.jpg","CustomContent": "https://www.aliyun.com/imagesearch/girl_cloth7.jpg"}
{"OperationType": "ADD","ProductId": "1003","PicName": "girl_cloth6.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "ADD","ProductId": "1006","PicName": "girlCloth/girl_cloth10.jpg","CustomContent": "k1:v1,k2:v2,k3:v3"}
{"OperationType": "DELETE","ProductId": "1004","PicName": "fengyi.jpg"}
{"OperationType": "DELETE","ProductId": "1005"}
Voici un exemple de fichier CSV à titre de référence :
Le tableau suivant décrit les paramètres du fichier.
Parameter | Type | Required | Description |
OperationType | String | Yes | Le type d'opération.
|
ProductId | String | Yes | L'ID unique de l'image. L'ID peut contenir jusqu'à 256 caractères. |
PicName | String | Yes | Le nom de l'image stockée dans le bucket OSS. Le nom peut contenir jusqu'à 256 caractères. Important
|
CategoryId | Integer | No | La catégorie de l'image. Pour plus d'informations sur les catégories, consultez la section Category reference.
|
CustomContent | String | Yes | Le contenu défini par l'utilisateur. La valeur peut contenir jusqu'à 4 096 caractères. Remarque
Les résultats de recherche incluent cette valeur. Vous pouvez utiliser ce champ pour stocker une URL d'image ou d'autres informations supplémentaires afin de lier l'image à vos données métier. |
IntAttr | Integer | No | Un attribut de type entier. Cet attribut est utilisé pour filtrer les images lors de la recherche d'images. Remarque
Utilisez des attributs entiers dans une condition de filtre pour filtrer les résultats de recherche. Le champ |
IntAttr2 | |||
IntAttr3 | |||
IntAttr4 | |||
StrAttr | String | No | Un attribut de type chaîne. La valeur peut contenir jusqu'à 128 caractères. Cet attribut est utilisé pour filtrer les images lors de la recherche d'images. Remarque
|
StrAttr2 | |||
StrAttr3 | |||
StrAttr4 | |||
Crop | Boolean | No | Spécifie s'il faut identifier le sujet dans l'image et rechercher des images en fonction du sujet identifié. Valeur par défaut : true. Valeurs possibles :
|
Region | String | No | La zone du sujet de l'image. La zone du sujet est affichée au format Remarque Si vous spécifiez ce paramètre, la valeur de ce paramètre prévaut sur le paramètre Crop. |
Autoriser un compte Image Search à accéder à OSS
Pour mettre en œuvre la fonctionnalité d'opérations par lot dans Image Search, vous devez utiliser Image Search conjointement avec OSS. La première fois que vous utilisez la fonctionnalité d'opérations par lot, autorisez votre compte Image Search à accéder à OSS. Si votre compte est déjà autorisé, ignorez cette étape.
Connectez-vous à la console Image Search.
Sélectionnez le type de service et cliquez sur le nom de l'instance Image Search que vous souhaitez gérer.
-
Cliquez sur l'onglet Batch Operation.

-
Cliquez sur Create Batch Task. Dans le message qui s'affiche, cliquez sur Confirm the authorization.
-
Sur la page Cloud Resource Access Authorization, cliquez sur Confirm Authorization Policy.
Créer une tâche par lot
Connectez-vous à la console Image Search.
Sélectionnez le type de service et cliquez sur le nom de l'instance Image Search que vous souhaitez gérer.
-
Cliquez sur l'onglet Batch Operation.

-
Cliquez sur Create Batch Task.

-
Configurez les paramètres suivants pour la tâche par lot :
-
Region
Ce paramètre spécifie la région dans laquelle réside l'instance Image Search.
-
Bucket Name
Ce paramètre spécifie le nom du bucket que vous avez créé dans OSS.
ImportantAssurez-vous que votre bucket OSS et votre instance Image Search se trouvent dans la même région.
-
Path
Ce paramètre spécifie le chemin dans lequel les images et le fichier increment.meta sont stockés.

-
META files
Ce paramètre spécifie le fichier utilisé pour stocker les détails des images à traiter. Le fichier est nommé increment.meta. Vous pouvez cliquer sur l'icône Actualiser à droite du champ pour vérifier si le fichier existe.
-
Call backs after the operation completes
Ce paramètre spécifie l'URL de rappel. L'URL doit commencer par HTTP ou HTTPS.
{ "finishTime": "2021-05-19 17:50:00", "instanceId": "imagesearch-cn-xxxx", "instanceName": "instanceName", "message": "success", "processResultUrl": "https://image-search-task-info.oss-cn-shanghai.aliyuncs.com/yyyyyyyyyy", "status": "NORMAL", "taskId": 111 }Parameter
Description
finishTime
L'heure à laquelle la tâche par lot est terminée. L'heure est précise à la seconde près.
instanceName
Le nom de l'instance Image Search.
instanceId
L'ID de l'instance Image Search.
status
Le résultat de la tâche par lot. Une valeur NORMAL indique que la tâche par lot est terminée. Une valeur FAIL indique que la tâche par lot a échoué.
taskId
L'ID de la tâche par lot.
message
La description du résultat de la tâche. Une valeur success indique que la tâche est terminée.
processResultUrl
L'URL utilisée pour télécharger les informations d'échec.
-
Annuler une tâche par lot
Pour annuler une tâche par lot en cours de traitement, cliquez sur Cancel.

Lisez le contenu de la fenêtre contextuelle, puis cliquez sur OK pour commencer à arrêter les tâches par lot.

Une fois la tâche par lot annulée, les parties terminées seront conservées et le statut de la tâche passera à Stop. Cliquez sur Download Results pour afficher les détails d'exécution spécifiques.

Étapes suivantes
Sur l'onglet Batch Operation de la page Instance Details, vous pouvez consulter les détails de toutes les tâches par lot créées dans l'instance Image Search. La progression des tâches par lot en cours sera affichée. Si une tâche par lot est à l'état Imported, vous pouvez consulter la description du résultat de la tâche par lot dans la colonne Error Message.
Vous pouvez filtrer les tâches par lot par bucket name ou path.
Si le message Some of the images cannot be processed and are isolated. apparaît dans la colonne Error Message pour une tâche par lot, cela signifie que certaines images n'ont pas pu être traitées lors de la tâche incrémentielle. Vous pouvez cliquer sur Download Report pour consulter les raisons de l'échec.