Accédez aux objets OSS comme à des objets fichier Python en lecture seule grâce à l'interface File-Like d'OSS SDK for Python 2.0.
Remarques
L'exemple de code utilise la région Chine (Hangzhou) (
cn-hangzhou) avec le point de terminaison public. Pour accéder à OSS depuis d'autres services Alibaba Cloud dans la même région, utilisez un point de terminaison interne. Régions et points de terminaison OSS.Les identifiants d'accès sont récupérés à partir des variables d'environnement. Pour savoir comment configurer les identifiants d'accès, consultez Configurer les identifiants d'accès.
Le téléchargement nécessite l'autorisation
oss:GetObject. Accorder des autorisations personnalisées à un utilisateur RAM.
Méthode
OSS SDK for Python 2.0 propose l'interface File-Like permettant un accès en lecture seule aux objets du bucket via la classe ReadOnlyFile.
ReadOnlyFile prend en charge les modes mono-flux et prélecture. Ajustez le nombre de tâches parallèles pour améliorer la vitesse de lecture.
La reconnexion intégrée gère les coupures de connexion sur les réseaux instables.
class ReadOnlyFile:
...
def open_file(self, bucket: str, key: str, version_id: Optional[str] = None, request_payer: Optional[str] = None, **kwargs) -> ReadOnlyFile:
...
Paramètres de requête
|
Paramètre |
Type |
Description |
|
bucket |
str |
Nom du bucket. |
|
key |
str |
Nom de l'objet. |
|
version_id |
str |
ID de version de l'objet. Valide uniquement si plusieurs versions existent. |
|
request_payer |
str |
Définissez sur |
|
**kwargs |
Any |
Arguments optionnels sous forme de mots-clés (dictionnaire). |
Options de kwargs
|
Option |
Type |
Description |
|
enable_prefetch |
bool |
Active le mode de prélecture. Désactivé par défaut. |
|
prefetch_num |
int |
Nombre de fragments de prélecture. Par défaut : 3. Effectif uniquement en mode de prélecture. |
|
chunk_size |
int |
Taille de chaque fragment de prélecture en MiB. Par défaut : 6. Effectif uniquement en mode de prélecture. |
|
prefetch_threshold |
int |
Seuil de lecture séquentielle avant activation de la prélecture, en MiB. Par défaut : 20. |
|
block_size |
int |
Taille d'un bloc. Valeur par défaut : None. |
Paramètres de réponse
|
Paramètre |
Type |
Description |
|
file |
ReadOnlyFile |
Instance ReadOnlyFile. |
Méthodes courantes de ReadOnlyFile
|
Méthode |
Description |
|
close(self) |
Ferme le fichier et libère les ressources, telles que la mémoire et les sockets actifs. |
|
read(self, n=None) |
Lit jusqu'à n octets depuis l'objet et renvoie les données lues. |
|
seek(self, pos, whence=0) |
Définit la position de lecture. Valeurs de whence : 0 (début), 1 (position actuelle), 2 (fin). |
|
Stat() (os.FileInfo, error) |
Récupère les informations de l'objet, y compris sa taille, sa date de dernière modification et ses métadonnées. |
Si plusieurs lectures désordonnées se produisent en mode de prélecture, le SDK revient automatiquement au mode mono-flux.
Exemples
Lire l'intégralité de l'objet en utilisant le mode mono-flux
Lire l'intégralité de l'objet en utilisant le mode de prélecture
Lire les données restantes à partir d'une position spécifique en utilisant la méthode Seek
Références
Documentation complète de référence de l'API : File-Like (GitHub).