Peut-être que c'est ce que vous cherchez? https://boto3.readthedocs.io/en/latest/reference/services/glacier.html#Glacier.Client.upload_multipart_part
Je vais ajouter quelques informations pertinentes à partir des docs.
upload_multipart_part (** kwargs)
Cette opération télécharge une partie d'une archive. Vous pouvez télécharger des pièces d'archives dans n'importe quel ordre. Vous pouvez également les télécharger en parallèle. Vous pouvez télécharger jusqu'à 10 000 pièces pour un téléchargement en plusieurs parties.
Amazon Glacier rejette votre part téléversement demande si l'une des conditions suivantes est remplie:
- SHA256 hachage arbre ne correspond pas à faire en sorte que les données de la pièce n'est pas corrompu dans la transmission, vous calculez un arbre SHA256 hash de la pièce et incluez-le dans votre demande. Lors de la réception des données de pièce, Amazon Glacier calcule également un hachage d'arbre SHA256. Si ces valeurs de hachage ne correspondent pas , l'opération échoue.
- La taille de la pièce ne correspond pas La taille de chaque pièce à l'exception de la dernière doit correspondre à la taille spécifiée dans la demande InitiateMultipartUpload correspondante. La taille de la dernière pièce doit être de la même taille ou inférieure à la taille spécifiée.
- La plage ne s'aligne pas La valeur de la plage d'octets dans la demande n'est pas alignée avec la taille de pièce spécifiée dans la demande d'initialisation correspondante . Par exemple, si vous spécifiez une taille de pièce de 4194304 octets (4 Mo), puis 0 à 4194303 octets (4 Mo - 1) et 4194304 (4 Mo) à 8388607 (8 Mo - 1) sont des plages de pièces valides. Toutefois, si vous définissez une valeur de plage de de 2 Mo à 6 Mo, la plage n'est pas alignée sur la taille de la pièce et le téléchargement échouera.
Voici le syntx demande
response = client.upload_multipart_part(
vaultName='string',
uploadId='string',
range='string',
body=b'bytes'|file
)
et les descriptions des paramètres
accountid (string)
La valeur AccountId est le compte AWS ID du compte qui possède le coffre-fort. Vous pouvez spécifier un ID de compte AWS ou éventuellement un seul '-' (trait d'union), auquel cas Amazon Glacier utilise l'ID de compte AWS associé aux informations d'identification utilisées pour signer la demande. Si vous utilisez un identifiant de compte, n'incluez aucun trait d'union ('-') dans l'ID.
VAULTNAME (string) [Obligatoire]
Le nom de la voûte.
uploadId (string) [Obligatoire]
L'ID de téléchargement du téléchargement multipart.
somme de contrôle (string)
Le hachage d'arbre de SHA256 des données en cours de téléchargement.
gamme (string)
identifie la plage d'octets dans les archives assemblé qui seront téléchargées dans cette partie. Amazon Glacier utilise ces informations pour assembler l'archive dans la séquence appropriée. Le format de cet en-tête est conforme à la RFC 2616. Un exemple d'en-tête est Content-Range: bytes 0-4194303/*.
corps (octets ou objet de type fichier adressable)
Les données à télécharger.
Veuillez rechercher le paramètre de configuration upload_file()/upload_fileobj() qui utilise s3transfer config http://boto3.readthedocs.io/en/latest/reference/customizations/s3.html#boto3.s3.transfer.TransferConfig – mootmoot
@mootmoot Je dois l'envoyer à AWS Glacier, pas à AWS S3. – lenrok258
Le module glacier n'utilise pas le transfert s3. Vous pouvez vous poser une question/demande ici: https://github.com/boto/boto3 Bien que vous pouvez utiliser S3 comme solution de rechange. i.e utilise le téléchargement s3 et définit le transit du cycle de vie vers Glacier en 1 jour. – mootmoot