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.
GetObject (API SOAP)
Note
Les SOAP API pour Amazon S3 ne sont pas disponibles pour les nouveaux clients. Leur fin de vie est prévue le 31 août 2025. Nous vous recommandons d'utiliser l'API REST ou les AWS SDK.
L'GetObjectopération renvoie la version actuelle d'un objet. Si vous essayez d'GetObjectutiliser un objet dont la version actuelle comporte un marqueur de suppression, S3 renvoie une erreur 404. Vous ne pouvez pas utiliser l'API SOAP pour récupérer une version spécifiée d'un objet. Pour ce faire, utilisez l'API REST. Pour plus d'informations, consultez la section Gestion des versions. Pour plus d'options, utilisez l'GetObjectExtended (API SOAP)opération.
Note
Les noms de clé d’objet contenant la valeur « soap » ne sont pas pris en charge pour les demandes de type hébergement virtuel. Pour les noms de clé d’objet contenant la valeur « soap », une URL de type chemin d’accès doit être utilisée à la place.
Exemple
Cet exemple extrait l'objet « Nelson » du compartiment « quotes ».
Sample Request
<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>
Sample Response
<GetObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <Data>aGEtaGE=</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> </GetObjectResponse> </GetObjectResponse>
Eléments
-
Bucket:Le seau dans lequel récupérer l'objet. -
Key:La clé qui identifie l'objet. -
GetMetadata:Les métadonnées sont renvoyées avec l'objet si cela est vrai. -
GetData:Les données de l'objet sont renvoyées si cela est vrai. -
InlineData:Si cela est vrai, les données sont renvoyées, codées en base 64, dans le corps SOAP de la réponse. Si la valeur est fausse, les données sont renvoyées sous forme de pièce jointe SOAP. L' InlineData option n'est pas adaptée à une utilisation avec de gros objets. Le système limite cette opération à l'utilisation de 1 Mo de données ou moins. Une GetObject demande dont l' InlineData indicateur est défini échouera avec le code d'InlineDataTooLargeErrorétat si le paramètre Data résultant aurait encodé plus de 1 Mo. Pour télécharger des objets volumineux, pensez à appeler GetObject sans définir d' InlineData indicateur, ou utilisez plutôt l'API REST.
Éléments retournés
-
Metadata:Métadonnées associées nom-valeur stockées avec l'objet. -
Data:Si la requête InlineData était vraie, cela contient les données d'objet codées en base 64. -
LastModified:Heure à laquelle l'objet a été stocké dans Amazon S3. -
ETag:L'étiquette d'entité de l'objet. Il s'agit d'un hachage de l'objet qui peut être utilisé pour effectuer des requêtes conditionnelles. L'ETag reflète uniquement les modifications apportées au contenu d'un objet, pas à ses métadonnées.
Contrôle d’accès
Vous ne pouvez lire un objet que si vous avez obtenu READ l'autorisation d'y accéder.
Téléchargements tronqués et reprenant le format SOAP
Pour GET plus de flexibilité, Amazon S3 prend en charge les téléchargements fragmentés et pouvant être repris.
Sélectionnez l'une des options suivantes :
-
Pour les téléchargements d'objets volumineux, vous souhaiterez peut-être les diviser en petits morceaux. Pour de plus amples informations, consultez Gamme GETS.
-
Pour les
GETopérations qui échouent, vous pouvez concevoir votre application de manière à télécharger le reste du fichier au lieu de télécharger l'intégralité du fichier. Pour de plus amples informations, consultez Récupération d'erreurs REST GET.
Gamme GETS
Pour certains clients, vous souhaiterez peut-être diviser les gros téléchargements en téléchargements plus petits. Pour diviser un GET en unités plus petites, utilisez Range.
Avant de pouvoir diviser un GET en unités plus petites, vous devez déterminer sa taille. Par exemple, la requête suivante permet d'obtenir la taille de l'objet bigfile.
<ListBucket xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>bigbucket</Bucket> <Prefix>bigfile</Prefix> <MaxKeys>1</MaxKeys> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </ListBucket>
Amazon S3 renvoie la réponse suivante.
<ListBucketResult xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <Name>quotes</Name> <Prefix>N</Prefix> <MaxKeys>1</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>bigfile</Key> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> <Size>2023276</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>bcaf1ffd86f41161ca5fb16fd081034f</ID> <DisplayName>bigfile</DisplayName> </Owner> </Contents> </ListBucketResult>
Voici une requête qui télécharge le premier mégaoctet depuis l'objet bigfile.
<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>bigbucket</Bucket> <Key>bigfile</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <ByteRangeStart>0</ByteRangeStart> <ByteRangeEnd>1048576</ByteRangeEnd> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>
Amazon S3 renvoie le premier mégaoctet du fichier et l'Etag du fichier.
<GetObjectResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <Data>--first megabyte of bigfile--</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> </GetObjectResponse> </GetObjectResponse>
Pour vous assurer que le fichier n'a pas été modifié depuis le téléchargement de la partie précédente, spécifiez l' IfMatch élément. Bien que l' IfMatch élément ne soit pas obligatoire, il est recommandé pour le contenu susceptible de changer.
La requête suivante permet d'obtenir le reste du fichier à l'aide de l'en-tête de la IfMatch demande.
<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>bigbucket</Bucket> <Key>bigfile</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <ByteRangeStart>10485761</ByteRangeStart> <ByteRangeEnd>2023276</ByteRangeEnd> <IfMatch>"828ef3fdfa96f00ad9f27c383fc9ac7f"</IfMatch> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>
Amazon S3 renvoie la réponse suivante et le reste du fichier.
<GetObjectResponse xmlns="http://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>>Muntz</Value> </Metadata> <Data>--remainder of bigfile--</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> </GetObjectResponse> </GetObjectResponse>
Versionné GetObject
La requête suivante renvoie la version spécifiée de l'objet dans le compartiment.
<GetObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <GetMetadata>true</GetMetadata> <GetData>true</GetData> <InlineData>true</InlineData> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </GetObject>
Exemple de réponse
<GetObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <GetObjectResponse> <Status> <Code>200</Code> <Description>OK</Description> </Status> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <Data>aGEtaGE=</Data> <LastModified>2006-01-01T12:00:00.000Z</LastModified> <ETag>"828ef3fdfa96f00ad9f27c383fc9ac7f"</ETag> </GetObjectResponse> </GetObjectResponse>
Récupération d'erreurs REST GET
Si un objet GET échoue, vous pouvez obtenir le reste du fichier en spécifiant la plage à télécharger. Pour ce faire, vous devez obtenir la taille de l'objet en utilisant ListBucket et effectuer une plage GET sur le reste du fichier. Pour de plus amples informations, veuillez consulter GetObjectExtended (API SOAP).
Ressources connexes
Opérations sur les objets (API SOAP)