AWS SDK Version 3 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 AcceptRanges.

Public Property BucketKeyEnabled System.Boolean

Gets and sets the property BucketKeyEnabled.

Indicates whether the object uses an S3 Bucket Key for server-side encryption with Amazon Web Services KMS (SSE-KMS).

This functionality is not supported for directory buckets.

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.

Public Property ChecksumCRC32C System.String

Gets and sets the property ChecksumCRC32C.

The base64-encoded, 32-bit CRC32C checksum of the object.

Public Property ChecksumSHA1 System.String

Gets and sets the property ChecksumSHA1.

The base64-encoded, 160-bit SHA-1 digest of the object.

Public Property ChecksumSHA256 System.String

Gets and sets the property ChecksumSHA256.

The base64-encoded, 256-bit SHA-256 digest of the object.

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

Gets and sets the ContentRange.

Public Property DeleteMarker System.String

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

Public Property ETag System.String

An 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 Expiration property. Specifies the expiration date for the object and the rule governing the expiration. Is null if expiration is not applicable.

This functionality is not supported for directory buckets.

Public Property Expires System.DateTime

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

Gets and sets the property LastModified.

Date and time when the object was last modified.

Public Property Metadata Amazon.S3.Model.MetadataCollection

The collection of meta data for the request.

Public Property MissingMeta 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.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>

The number of parts this oject has.

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

If present, indicates that the requester was successfully charged for the request.

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 RestoreExpiration property. RestoreExpiration will be set for objects that have been restored from Amazon Glacier. It indiciates for those objects how long the restored object will exist.

This functionality is not supported for directory buckets.

Public Property RestoreInProgress 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

The Server-side encryption algorithm to be used with the customer provided key.

This functionality is not supported for directory buckets.

Public Property ServerSideEncryptionKeyManagementServiceKeyId System.String

The id of the AWS Key Management Service key that Amazon S3 uses to encrypt and decrypt the object.

If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for the object.

This functionality is not supported for directory buckets.

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 (for example, AES256, aws:kms, aws:kms:dsse).

For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) is supported.

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 - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.

Public Property TagCount 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.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

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 = "SampleBucket",
    Key = "Item1"
};

// Issue request and remember to dispose of the response
using (GetObjectResponse response = client.GetObject(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 = "SampleBucket",
    Key = "Item1"
};

// Issue request and remember to dispose of the response
using (GetObjectResponse response = client.GetObject(request))
{
    // Save object to local file
    response.WriteResponseStreamToFile("Item1.txt");
}

                

Version Information

.NET Core App:
Supported in: 3.1

.NET Standard:
Supported in: 2.0

.NET Framework:
Supported in: 4.5, 4.0, 3.5