Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Note
Pour vous aider à comprendre la mise en page des pages de paramètres ou à interpréter le tableau Support by AWS SDKs et outils ci-dessous, voirComprendre les pages de paramètres de ce guide.
Depuis un certain temps, AWS SDKs nous prenons en charge les contrôles d'intégrité des données lors du chargement de données vers ou du téléchargement de données depuis Amazon Simple Storage Service. Auparavant, ces vérifications étaient facultatives. Nous avons maintenant activé ces vérifications par défaut, en utilisant des algorithmes basés sur le CRC tels que NVME CRC32 . CRC64 Bien que chaque SDK ou outil possède un algorithme par défaut, vous pouvez en choisir un autre. Vous pouvez également continuer à fournir manuellement une somme de contrôle précalculée pour les téléchargements si vous le souhaitez. Un comportement cohérent entre les chargements, les chargements partitionnés, les téléchargements et les modes de chiffrement simplifie les contrôles d'intégrité côté client.
Les dernières versions de notre outil AWS SDKs calculent AWS CLI automatiquement une somme de contrôle basée sur le contrôle de redondance cyclique (CRC)
Pour en savoir plus sur les opérations de somme de contrôle, les téléchargements partitionnés ou la liste des algorithmes de somme de contrôle pris en charge, consultez la section Vérification de l'intégrité des objets dans Amazon S3 dans le guide de l'utilisateur d'Amazon Simple Storage Service.
Téléchargements partitionnés :
Amazon S3 fournit également aux développeurs des totaux d'objets complets cohérents pour les téléchargements partiels ou partitionnés.
Lorsque vous téléchargez des fichiers en plusieurs parties, les sommes de contrôle sont SDKs calculées pour chaque partie. Amazon S3 utilise ces sommes de contrôle pour vérifier l'intégrité de chaque partie par le biais de l'UploadPart
API. En outre, Amazon S3 valide la taille complète du fichier et la somme de contrôle lorsque vous appelez l'CompleteMultipartUpload
API.
Si votre SDK dispose d'un gestionnaire de transfert Amazon S3 pour faciliter les téléchargements partitionnés, les sommes de contrôle sont validées pour les parties à l'aide de l'algorithme par défaut spécifique au SDK figurant dans le tableau. Support par AWS SDKs et outils Vous pouvez opter pour une somme de contrôle complète de l'objet en réglant le paramètre checksum_type
sur FULL_OBJECT
ou en choisissant d'utiliser l'algorithme CRC64 NVME.
Si vous utilisez une ancienne version du SDK ou AWS CLI si vous :
Si votre application utilise une version antérieure à décembre 2024 du SDK ou de l'outil, Amazon S3 calcule toujours une somme de contrôle CRC64 NVME sur les nouveaux objets et la stocke dans les métadonnées des objets pour référence future. Vous pouvez ensuite comparer le CRC enregistré avec un CRC calculé de votre côté et vérifier que la transmission réseau était correcte. En outre, vous pouvez toujours étendre manuellement la protection de l'intégrité en fournissant vos propres sommes de contrôle précalculées avec vos UploadPart
demandes PutObject
OR, ce qui est la technique standard pour résoudre ce problème dans les anciennes versions.
Configurez cette fonctionnalité à l'aide des méthodes suivantes :
request_checksum_calculation
- réglage AWSconfig
du fichier partagéAWS_REQUEST_CHECKSUM_CALCULATION
- variable d'environnementaws.requestChecksumCalculation
- Propriété du système JVM : Java/Kotlin uniquement-
Par défaut, les utilisateurs sont autorisés à calculer la somme de contrôle d'une demande lors de l'envoi d'une demande. L'utilisateur peut choisir l'un des algorithmes de somme de contrôle disponibles dans le cadre de la création de la demande. Dans le cas contraire, un algorithme par défaut spécifique au SDK est utilisé. Consultez le Support par AWS SDKs et outils tableau de l'algorithme par défaut pour chaque SDK ou outil.
Valeur par défaut :
WHEN_SUPPORTED
Valeurs valides:
-
WHEN_SUPPORTED
— La validation de la somme de contrôle est effectuée sur toutes les charges utiles de réponse lorsqu'elles sont prises en charge par l'opération d'API, telles que les transferts de données vers Amazon S3. -
WHEN_REQUIRED
— La validation de la somme de contrôle est effectuée uniquement lorsque l'opération de l'API l'exige.
-
response_checksum_validation
- réglage AWSconfig
du fichier partagéAWS_RESPONSE_CHECKSUM_VALIDATION
- variable d'environnementaws.responseChecksumValidation
- Propriété du système JVM : Java/Kotlin uniquement-
Par défaut, les utilisateurs sont autorisés à valider la somme de contrôle des réponses lorsqu'ils envoient une demande. Une somme de contrôle est calculée pour la charge utile de réponse et comparée à l'en-tête de réponse de somme de contrôle. Si la validation de la somme de contrôle échoue, une erreur est signalée à l'utilisateur lors de la lecture de la charge utile.
L'en-tête de réponse à la somme de contrôle indique également l'algorithme de la somme de contrôle. Le client Amazon S3 tente de valider les sommes de contrôle des réponses pour toutes les opérations d'API Amazon S3 qui prennent en charge les sommes de contrôle. Toutefois, si le SDK n'a pas implémenté l'algorithme de somme de contrôle spécifié, cette validation est ignorée.
Valeur par défaut :
WHEN_SUPPORTED
Valeurs valides:
-
WHEN_SUPPORTED
— La validation de la somme de contrôle est effectuée sur toutes les charges utiles de réponse lorsqu'elles sont prises en charge par l'opération d'API, telles que les transferts de données vers Amazon S3. -
WHEN_REQUIRED
— La validation de la somme de contrôle n'est effectuée que si elle est prise en charge par l'opération d'API et si l'appelant a explicitement activé la somme de contrôle pour l'opération. Par exemple, lorsque l'GetObject
API Amazon S3 est appelée et que leChecksumMode
paramètre est défini sur Activé.
-
Support par AWS SDKs et outils
Les éléments suivants SDKs prennent en charge les fonctionnalités et les paramètres décrits dans cette rubrique. Toute exception partielle est notée. Tous les paramètres de propriété du système JVM sont pris en charge par le AWS SDK for Java et le Kit AWS SDK pour Kotlin seul.
Note
Dans le tableau suivant, « CRT » fait référence à AWS bibliothèques CRT (Common Runtime) et peut nécessiter l'ajout d'une dépendance supplémentaire à votre projet.
SDK | Pris en charge | Algorithme de somme de contrôle par défaut | Algorithmes de somme de contrôle compatibles | Remarques ou informations supplémentaires |
---|---|---|---|---|
AWS CLI v2 | Oui | CRC64NVME | CRC64NVME CRC32, CRC32 C, SHA1 SHA256 | Pour la AWS CLI version 1, l'algorithme par défaut et les algorithmes pris en charge seront identiques à ceux de Python (Boto3). |
SDK pour C++ | Oui | CRC64NVME | CRC64NVME CRC32, CRC32 C, SHA1 SHA256 | |
SDK pour Go V2 (1.x) |
Oui | CRC32 | CRC64NVME CRC32, CRC32 C, SHA1 SHA256 | |
SDK pour Go 1.x (V1) | Non | |||
SDK pour Java 2.x | Oui | CRC32 | CRC64NVME (via CRT uniquement), CRC32 C CRC32,, SHA1 SHA256 | |
SDK pour Java 1.x | Non | |||
SDK pour 3.x JavaScript | Oui | CRC32 | CRC32, CRC32 C SHA1, SHA256 | |
SDK pour 2.x JavaScript | Non | |||
SDK pour Kotlin | Oui | CRC32 | CRC32, CRC32 C SHA1, SHA256 | |
SDK pour .NET 3.x | Oui | CRC32 | CRC32, CRC32 C SHA1, SHA256 | |
SDK pour PHP 3.x | Oui | CRC32 | CRC32, CRC32 C (via CRT uniquement), SHA1 SHA256 | awscrt une extension est requise pour utiliser CRC32 C. |
SDK pour Python (Boto3) |
Oui | CRC32 | CRC64NVME (via CRT uniquement) CRC32, CRC32 C (via CRT uniquement), SHA1 SHA256 | |
SDK pour Ruby 3.x | Oui | CRC32 | CRC64NVME (via CRT uniquement) CRC32, CRC32 C (via CRT uniquement), SHA1 SHA256 | |
SDK pour Rust | Oui | CRC32 | CRC64NVME CRC32, CRC32 C, SHA1 SHA256 | |
SDK pour Swift | Oui | CRC32 | CRC64NVME CRC32, CRC32 C, SHA1 SHA256 | La dépendance au CRT est requise pour tous les algorithmes. |
Outils pour PowerShell | Oui | CRC32 | CRC32, CRC32 C SHA1, SHA256 |