Dans Object Storage Service (OSS), un objet constitue l'unité de base du stockage de données et s'apparente à un fichier. Tout fichier, qu'il s'agisse d'un document, d'une image ou d'une vidéo, est stocké sous forme d'objet dans un bucket pour en faciliter la gestion.
Composants d'un objet
Key : nom de l'objet. Il sert à interroger l'objet et doit être unique.
Data : données réelles de l'objet. Elles se présentent sous la forme d'une séquence d'octets.
Object Meta : métadonnées de l'objet. Les métadonnées forment un ensemble de paires clé-valeur décrivant les propriétés de l'objet, telles que sa dernière date de modification et sa taille. Vous pouvez également utiliser les métadonnées pour stocker des informations personnalisées.
Version ID : si vous activez la fonctionnalité de versioning, vous pouvez conserver plusieurs versions d'un objet. Chaque fois que vous téléchargez un objet portant un nom déjà existant, OSS crée une nouvelle version et lui attribue un identifiant de version unique. Cet identifiant permet d'accéder à des versions spécifiques de l'objet et de les gérer.
Dénomination des objets (Key)
Chaque objet possède un nom unique, appelé Key. Par exemple, la clé « exampledir/example.jpg » représente le fichier example.jpg situé dans le dossier exampledir.
Dans la documentation du SDK, la clé Key est également désignée par les termes ObjectKey, ObjectName ou object name. Ces expressions ont la même signification.
Conventions de dénomination
Utilisez l'encodage UTF-8.
La longueur doit être comprise entre 1 et 1 023 octets.
Ne commencez pas par une barre oblique (/) ou une barre oblique inverse (\).
Les clés sont sensibles à la casse.
Recommandations en matière de dénomination
Utilisez des noms explicites, tels que des noms de fichiers, des dates ou des identifiants utilisateur, pour faciliter la recherche et la compréhension des objets.
Organisez les données à l'aide de préfixes. Vous pouvez créer une hiérarchie en utilisant des préfixes basés sur des dates, des identifiants utilisateur ou des régions.
Garantissez l'unicité des noms. Vous pouvez inclure des nombres aléatoires ou des UUID dans les noms d'objets pour éviter les conflits.
Exemples de dénomination
|
Emplacement de l'objet dans le bucket |
Représentation de la clé |
|
Un objet nommé exampleobject.txt est stocké dans le répertoire racine du bucket examplebucket. |
exampleobject.txt |
|
Un objet nommé exampleobject.jpg est stocké dans le répertoire destdir, situé dans le répertoire racine du bucket examplebucket. |
destdir/exampleobject.jpg |
Affichage des répertoires OSS
Dans OSS, les concepts traditionnels de système de fichiers, tels que les fichiers et les dossiers, n'existent pas. Pour améliorer l'expérience utilisateur, des barres obliques (/) sont utilisées dans les clés d'objet afin de simuler une structure de dossiers, comme dans exampledir/example.jpg. L'exemple donné simule exampledir en tant que dossier et example.jpg en tant que fichier au sein de exampledir. Cette structure semblable à un dossier est visible dans la console OSS et dans les outils graphiques tels qu'ossbrowser. Toutefois, la clé de l'objet reste exampledir/example.jpg. Pour plus d'informations, consultez la rubrique Gérer les répertoires.
Types d'objets
Les objets peuvent être classés en quatre catégories selon leurs méthodes de création. Le tableau suivant décrit ces quatre types.
Il est impossible de convertir un objet d'un type vers un autre. Par exemple, un objet Normal ne peut pas être converti en objet Multipart ou Appendable.
|
Type |
Définition |
Description |
|
Normal |
Les objets de ce type sont créés via un téléchargement simple. |
|
|
Multipart |
Les objets de ce type sont créés via un téléchargement multipartie. |
|
|
Appendable |
Les objets de ce type sont créés via un téléchargement par ajout. |
Lorsque des données sont ajoutées à un objet Appendable, OSS ne crée pas de nouvelle version de l'objet, quel que soit l'état du versioning. Les données sont directement ajoutées à l'objet d'origine. |
|
Symlink |
Les objets de ce type sont créés à l'aide de liens symboliques générés par l'appel de l'opération PutSymlink. |
Vous pouvez utiliser des liens symboliques pour accéder aux objets fréquemment consultés. |
Marqueurs de suppression
OSS utilise un type spécial de marqueur d'objet appelé marqueur de suppression. Lorsque vous appelez l'opération DeleteObject pour supprimer un objet dans un bucket avec versioning activé ou suspendu, OSS génère un marqueur de suppression pour cet objet. Si aucun identifiant de version n'est spécifié lors de la suppression, OSS attribue le marqueur de suppression en tant que dernière version de l'objet. Cela garantit que les données de l'objet sont préservées et peuvent être restaurées même après la suppression. Toutefois, si un identifiant de version est spécifié, OSS supprime la version spécifique et ne génère pas de marqueur de suppression.
Fonctionnalités
Télécharger des objets
|
Procédure |
Description |
|
Utilisez l'opération API PutObject pour télécharger un seul fichier de moins de 5 Go. Cette méthode convient aux téléchargements réalisables en une seule requête HTTP. |
|
|
Divisez un fichier en plusieurs parties et téléchargez-les séparément. Une fois toutes les parties téléchargées, appelez l'opération API CompleteMultipartUpload pour combiner les parties en un seul objet. |
|
|
Spécifiez un point de contrôle dans un fichier de point de contrôle. Si un téléchargement échoue en raison d'une erreur réseau ou d'un plantage du programme, le téléchargement reprend à partir du point de contrôle enregistré pour transférer les parties restantes. |
|
|
OSS peut envoyer un rappel à un serveur d'application une fois le téléchargement d'un fichier terminé. Pour mettre en œuvre un rappel, incluez les paramètres de rappel correspondants dans la requête envoyée à OSS. |
|
|
Téléchargez des fichiers directement depuis un client vers OSS. Cette méthode évite de faire transiter les fichiers par votre serveur d'application, ce qui améliore la vitesse de téléchargement et économise les ressources du serveur. |
|
|
Utilisez l'opération API PostObject pour télécharger un fichier depuis un formulaire HTML. La taille du fichier téléchargé ne peut pas dépasser 5 Go. |
|
|
Ajoutez du contenu directement à la fin d'un objet Appendable existant. |
|
|
Vous pouvez utiliser le protocole Real-Time Messaging Protocol (RTMP) pour ingérer des flux vidéo encodés en H.264 et des flux audio encodés en AAC dans OSS. Les données audio et vidéo téléchargées peuvent être lues à la demande ou utilisées pour la diffusion en direct dans des scénarios où la latence n'est pas un facteur critique. |
Télécharger des objets
|
Procédure |
Description |
|
Utilisez l'opération API GetObject pour télécharger un fichier précédemment uploadé. Cette méthode convient aux téléchargements réalisables en une seule requête HTTP. |
|
|
Téléchargez un fichier à partir d'une position spécifiée. Lors du téléchargement de fichiers volumineux, vous pouvez les télécharger en plusieurs parties. Si le téléchargement est interrompu, vous pouvez le reprendre là où il s'était arrêté. |
|
|
Une fois un fichier téléchargé dans un bucket, vous pouvez partager son URL avec des tiers pour prévisualisation ou téléchargement. |
|
|
Les objets sont téléchargés uniquement si leur contenu a changé, déterminé par la dernière date de modification ou l'ETag. Cette fonctionnalité garantit que les téléchargements ne sont déclenchés qu'en cas de mise à jour, évitant ainsi des téléchargements répétés inutiles. |
Gérer les objets
|
Procédure |
Description |
|
Par défaut, les objets d'un bucket sont listés par ordre alphabétique. Vous pouvez lister tous les objets du bucket actuel, les objets avec un préfixe spécifique ou un nombre défini d'objets, selon vos besoins. |
|
|
Copiez un fichier d'un bucket source vers un bucket de destination dans la même région sans modifier le contenu du fichier. |
|
|
Vous pouvez renommer un objet dans un bucket. |
|
|
Lorsqu'un bucket contient de nombreux objets, OSS permet de rechercher et de localiser rapidement un fichier cible en spécifiant un préfixe de nom de fichier. |
|
|
Avant d'accéder à un objet stocké en Cold Archive ou Deep Cold Archive, vous devez initier un processus de restauration pour cet objet. |
|
|
Supprimez les objets que vous ne souhaitez plus conserver dans un bucket en utilisant diverses méthodes. |
|
|
OSS permet d'utiliser des tags pour classifier les objets d'un bucket. Vous pouvez définir des règles de cycle de vie et des autorisations d'accès pour les objets partageant le même tag. |
|
|
La fonctionnalité de lien symbolique permet un accès rapide aux objets fréquemment utilisés dans un bucket. Après avoir configuré un lien symbolique, vous pouvez ouvrir l'objet rapidement à l'aide du fichier de lien symbolique. |
|
|
Les métadonnées d'un objet décrivent les propriétés d'un fichier. Elles incluent des en-têtes HTTP standard et des métadonnées définies par l'utilisateur (User Meta). Vous pouvez configurer les en-têtes HTTP du fichier pour personnaliser les politiques de requête HTTP, telles que les politiques de mise en cache et les politiques de téléchargement forcé. Vous pouvez également définir des métadonnées personnalisées pour identifier l'objectif ou les propriétés d'un objet. |
|
|
Lorsqu'un client accède aux fichiers dans OSS, il peut consommer une grande quantité de bande passante, ce qui peut affecter d'autres applications. Vous pouvez utiliser la fonctionnalité de limitation de la bande passante par connexion unique fournie par OSS pour contrôler le trafic lors d'opérations telles que le téléchargement et le téléversement de fichiers. Cela garantit une bande passante réseau suffisante pour les autres applications. |
|
|
Utilisez SelectObject pour exécuter une instruction SQL sur un fichier cible et renvoyer le résultat de l'exécution. |
|
|
Lors d'un téléchargement multipartie, si certaines parties ne sont plus nécessaires, vous pouvez appeler l'opération API AbortMultipartUpload pour supprimer ces parties incomplètes. |
|
|
Pour permettre à plusieurs utilisateurs d'accéder aux ressources d'un bucket OSS depuis différents emplacements et appareils, vous pouvez utiliser Cloud Storage Gateway (CSG) pour mapper le bucket OSS à un système de stockage de fichiers partagé. Cela permet aux utilisateurs d'effectuer des opérations sur les ressources OSS comme ils le feraient avec des fichiers et des disques locaux. |