AWS SDK Version 4 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Returns information about the GetObject response and response metadata.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceResponse
    Amazon.S3.Model.StreamResponse
      Amazon.S3.Model.GetObjectResponse

Namespace: Amazon.S3.Model
Assembly: AWSSDK.S3.dll
Version: 3.x.y.z

Syntax

C#
public class GetObjectResponse : StreamResponse
         IDisposable

The GetObjectResponse type exposes the following members

Constructors

NameDescription
Public Method GetObjectResponse()

Properties

NameTypeDescription
Public Property AcceptRanges System.String

Gets and sets the property AcceptRanges.

Indicates that a range of bytes was specified in the request.

Public Property BucketKeyEnabled System.Nullable<System.Boolean>

Gets and sets the property BucketKeyEnabled.

Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).

Public Property BucketName System.String

Gets and sets the BucketName property.

Public Property ChecksumCRC32 System.String

Gets and sets the property ChecksumCRC32.

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the object was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

Public Property ChecksumCRC32C System.String

Gets and sets the property ChecksumCRC32C.

The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

Public Property ChecksumCRC64NVME System.String

Gets and sets the property ChecksumCRC64NVME.

The Base64 encoded, 64-bit CRC64NVME checksum of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

Public Property ChecksumSHA1 System.String

Gets and sets the property ChecksumSHA1.

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

Public Property ChecksumSHA256 System.String

Gets and sets the property ChecksumSHA256.

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

Public Property ChecksumType Amazon.S3.ChecksumType

Gets and sets the property ChecksumType.

The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in the CreateMultipartUpload request. For more information, see Checking object integrity in the Amazon S3 User Guide.

Public Property ContentLanguage System.String

Gets and sets the property ContentLanguage.

The language the content is in.

Public Property ContentLength System.Int64 Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property ContentRange System.String

Gets and sets the property ContentRange.

The portion of the object returned in the response.

Public Property DeleteMarker System.String

Gets and sets the property DeleteMarker.

Indicates whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

  • If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

  • If the specified version in the request is a delete marker, the response returns a 405 Method Not Allowed error and the Last-Modified: timestamp response header.

Public Property ETag System.String

Gets and sets the property ETag.

An entity tag (ETag) is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.

Public Property Expiration Amazon.S3.Model.Expiration

Gets and sets the property Expiration.

If the object expiration is configured (see PutBucketLifecycleConfiguration), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL-encoded.

Object expiration information is not returned in directory buckets and this header returns the value "NotImplemented" in all responses for directory buckets.

Public Property ExpiresString System.String

The date and time at which the object is no longer cacheable.

Public Property Headers Amazon.S3.Model.HeadersCollection

The collection of headers for the request.

Public Property HttpStatusCode System.Net.HttpStatusCode Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property Key System.String

Gets and sets the Key property.

Public Property LastModified System.Nullable<System.DateTime>

Gets and sets the property LastModified.

Date and time when the object was last modified.

General purpose buckets - When you specify a versionId of the object in your request, if the specified version in the request is a delete marker, the response returns a 405 Method Not Allowed error and the Last-Modified: timestamp response header.

Public Property Metadata Amazon.S3.Model.MetadataCollection

The collection of meta data for the request.

Public Property MissingMeta System.Nullable<System.Int32>

Gets and sets the property MissingMeta.

This is set to the number of metadata entries not returned in the headers that are prefixed with x-amz-meta-. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

This functionality is not supported for directory buckets.

Public Property ObjectLockLegalHoldStatus Amazon.S3.ObjectLockLegalHoldStatus

Gets and sets the property ObjectLockLegalHoldStatus.

Indicates whether this object has an active legal hold. This field is only returned if you have permission to view an object's legal hold status.

This functionality is not supported for directory buckets.

Public Property ObjectLockMode Amazon.S3.ObjectLockMode

Gets and sets the property ObjectLockMode.

The Object Lock mode that's currently in place for this object.

This functionality is not supported for directory buckets.

Public Property ObjectLockRetainUntilDate System.Nullable<System.DateTime>

Gets and sets the property ObjectLockRetainUntilDate.

The date and time when this object's Object Lock will expire.

This functionality is not supported for directory buckets.

Public Property PartsCount System.Nullable<System.Int32>

Gets and sets the property PartsCount.

The count of parts this object has. This value is only returned if you specify partNumber in your request and the object was uploaded as a multipart upload.

Public Property ReplicationStatus Amazon.S3.ReplicationStatus

Gets and sets the property ReplicationStatus.

Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule.

This functionality is not supported for directory buckets.

Public Property RequestCharged Amazon.S3.RequestCharged

Gets and sets the property RequestCharged.

Public Property ResponseMetadata Amazon.Runtime.ResponseMetadata Inherited from Amazon.Runtime.AmazonWebServiceResponse.
Public Property ResponseStream System.IO.Stream Inherited from Amazon.S3.Model.StreamResponse.
Public Property RestoreExpiration System.Nullable<System.DateTime>

Gets and sets the property RestoreExpiration.

Provides information about object restoration action and expiration time of the restored object copy.

This functionality is not supported for directory buckets. Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.

Public Property RestoreInProgress System.Nullable<System.Boolean>

Gets and sets the RestoreInProgress

Will be true when the object is in the process of being restored from Amazon Glacier.

This functionality is not supported for directory buckets. Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

Public Property ServerSideEncryptionCustomerMethod Amazon.S3.ServerSideEncryptionCustomerMethod

Gets and sets the property ServerSideEncryptionCustomerMethod.

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.

This functionality is not supported for directory buckets.

Public Property ServerSideEncryptionCustomerProvidedKeyMD5 System.String

Gets and sets the property ServerSideEncryptionCustomerProvidedKeyMD5.

If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.

This functionality is not supported for directory buckets.

Public Property ServerSideEncryptionKeyManagementServiceKeyId System.String

Gets and sets the property ServerSideEncryptionKeyManagementServiceKeyId.

If present, indicates the ID of the KMS key that was used for object encryption.

Public Property ServerSideEncryptionMethod Amazon.S3.ServerSideEncryptionMethod

Gets and sets the property ServerSideEncryptionMethod.

The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.

When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is aws:fsx.

Public Property StorageClass Amazon.S3.S3StorageClass

Gets and sets the property StorageClass.

Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

Directory buckets - Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.

Public Property TagCount System.Nullable<System.Int32>

Gets and sets the property TagCount.

The number of tags, if any, on the object, when you have the relevant permission to read object tags.

You can use GetObjectTagging to retrieve the tag set associated with an object.

This functionality is not supported for directory buckets.

Public Property VersionId System.String

Gets and sets the property VersionId.

Version ID of the object.

This functionality is not supported for directory buckets.

Public Property WebsiteRedirectLocation System.String

Gets and sets the property WebsiteRedirectLocation.

If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

This functionality is not supported for directory buckets.

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.7.2 or higher.

NameDescription
Public Method Dispose() Inherited from Amazon.S3.Model.StreamResponse.
Public Method WriteResponseStreamToFile(string)

Writes the content of the ResponseStream a file indicated by the filePath argument.

Public Method WriteResponseStreamToFile(string, bool)

Writes the content of the ResponseStream a file indicated by the filePath argument.

Public Method WriteResponseStreamToFileAsync(string, bool, CancellationToken)

Writes the content of the ResponseStream a file indicated by the filePath argument.

Events

NameDescription
Event WriteObjectProgressEvent

Examples

This example shows how to get an object.

GetObject sample


// Create a client
AmazonS3Client client = new AmazonS3Client();

// Create a GetObject request
GetObjectRequest request = new GetObjectRequest
{
    BucketName = "amzn-s3-demo-bucket",
    Key = "Item1"
};

// Issue request and remember to dispose of the response
using (GetObjectResponse response = await client.GetObjectAsync(request))
{
    using (StreamReader reader = new StreamReader(response.ResponseStream))
    {
        string contents = reader.ReadToEnd();
        Console.WriteLine("Object - " + response.Key);
        Console.WriteLine(" Version Id - " + response.VersionId);
        Console.WriteLine(" Contents - " + contents);
    }
}

                

This example shows how to get an object and write it to a local file.

GetObject WriteResponseStreamToFile Sample


// Create a client
AmazonS3Client client = new AmazonS3Client();

// Create a GetObject request
GetObjectRequest request = new GetObjectRequest
{
    BucketName = "amzn-s3-demo-bucket",
    Key = "Item1"
};

// Issue request and remember to dispose of the response
using (GetObjectResponse response = await client.GetObjectAsync(request))
{
    // Save object to local file
    await response.WriteResponseStreamToFileAsync("Item1.txt", false, cancellationToken);
}

                

Version Information

.NET:
Supported in: 8.0 and newer, Core 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.7.2 and newer