View a markdown version of this page

GetObject (API SOAP) - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

GetObject (API SOAP)

Nota

Le API SOAP per Amazon S3 non sono disponibili per i nuovi clienti, con la fine del ciclo di vita prevista per il 31 agosto 2025. Ti consigliamo di utilizzare l'API REST o gli AWS SDK.

L'GetObjectoperazione restituisce la versione corrente di un oggetto. Se si tenta di utilizzare GetObject un oggetto con un indicatore di eliminazione come versione corrente, S3 restituisce un errore 404. Non è possibile utilizzare l'API SOAP per recuperare una versione specificata di un oggetto. Per farlo, usa l'API REST. Per ulteriori informazioni, vedere Controllo delle versioni. Per ulteriori opzioni, utilizzare l'GetObjectExtended (API SOAP)operazione.

Nota

I nomi delle chiavi dell'oggetto con il valore "soap" non sono supportati per richieste in stile hosting virtuale. Per i valori dei nomi delle chiavi dell'oggetto in cui viene utilizzato "soap", deve invece essere usato un URL in stile percorso.

Esempio

Questo esempio ottiene l'oggetto «Nelson» dal bucket «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>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> </GetObjectResponse> </GetObjectResponse>

Elementi

  • Bucket:Il bucket da cui recuperare l'oggetto.

  • Key:La chiave che identifica l'oggetto.

  • GetMetadata:I metadati vengono restituiti con l'oggetto se ciò è vero.

  • GetData:I dati dell'oggetto vengono restituiti se questo è vero.

  • InlineData:Se questo è vero, i dati vengono restituiti, con codifica in base 64, come parte del corpo SOAP della risposta. Se false, i dati vengono restituiti come allegato SOAP. L' InlineData opzione non è adatta all'uso con oggetti di grandi dimensioni. Il sistema limita questa operazione a lavorare con 1 MB di dati o meno. Una GetObject richiesta con il InlineData flag impostato avrà esito negativo con il codice di InlineDataTooLargeError stato se il parametro Data risultante è stato codificato per più di 1 MB. Per scaricare oggetti di grandi dimensioni, valuta la possibilità di chiamare GetObject senza impostare il InlineData flag o di utilizzare invece l'API REST.

Elementi restituiti

  • Metadata:I metadati associati nome-valore memorizzati con l'oggetto.

  • Data:Se InlineData era vero nella richiesta, contiene i dati dell'oggetto codificati in base 64.

  • LastModified:L'ora in cui l'oggetto è stato archiviato in Amazon S3.

  • ETag:Il tag di entità dell'oggetto. Si tratta di un hash dell'oggetto che può essere utilizzato per eseguire risultati condizionali. L'ETag riflette solo le modifiche al contenuto di un oggetto, non i suoi metadati.

Controllo degli accessi

Puoi leggere un oggetto solo se ti è stato concesso READ l'accesso all'oggetto.

Download SOAP suddivisi in blocchi e ripristinabili

Per offrire GET flessibilità, Amazon S3 supporta download in blocchi e ripristinabili.

Seleziona tra le seguenti opzioni:

  • Per i download di oggetti di grandi dimensioni, potresti volerli suddividere in blocchi più piccoli. Per ulteriori informazioni, consulta Intervallo GET

  • Per GET le operazioni che falliscono, puoi progettare l'applicazione in modo che scarichi il resto anziché l'intero file. Per ulteriori informazioni, consulta Ripristino degli errori REST GET

Intervallo GET

Per alcuni clienti, potresti voler suddividere i download di grandi dimensioni in download più piccoli. Per suddividere un GET in unità più piccole, usa Range.

Prima di poter suddividere un GET in unità più piccole, è necessario determinarne le dimensioni. Ad esempio, la richiesta seguente ottiene la dimensione dell'oggetto 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 restituisce la seguente risposta.

<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>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> <Size>2023276</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>bcaf1ffd86f41161ca5fb16fd081034f</ID> <DisplayName>bigfile</DisplayName> </Owner> </Contents> </ListBucketResult>

Segue una richiesta che scarica il primo megabyte dall'oggetto 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 restituisce il primo megabyte del file e l'Etag del file.

<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>

Per assicurarti che il file non sia cambiato dopo il download della parte precedente, specifica l'elemento. IfMatch Sebbene l' IfMatch elemento non sia obbligatorio, è consigliato per contenuti suscettibili di modifiche.

Quella che segue è una richiesta che ottiene il resto del file, utilizzando l'intestazione della IfMatch richiesta.

<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 restituisce la seguente risposta e il resto del file.

<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>

Con versione GetObject

La seguente richiesta restituisce la versione specificata dell'oggetto nel bucket.

<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>

Risposta di esempio

<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>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> </GetObjectResponse> </GetObjectResponse>

Ripristino degli errori REST GET

Se un oggetto GET fallisce, puoi recuperare il resto del file specificando l'intervallo da scaricare. A tale scopo, è necessario ottenere la dimensione dell'oggetto utilizzando ListBucket ed eseguire un intervallo GET sul resto del file. Per ulteriori informazioni, consulta GetObjectExtended (API SOAP).

Risorse correlate

Operazioni sugli oggetti (API SOAP)