private static void UnmarshallResult(XmlUnmarshallerContext context,GetObjectMetadataResponse response) { IWebResponseData responseData = context.ResponseData; if (responseData.IsHeaderPresent("x-amz-delete-marker")) response.DeleteMarker = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-delete-marker")); if (responseData.IsHeaderPresent("accept-ranges")) response.AcceptRanges = S3Transforms.ToString(responseData.GetHeaderValue("accept-ranges")); if (responseData.IsHeaderPresent("x-amz-expiration")) response.Expiration = new Expiration(responseData.GetHeaderValue("x-amz-expiration")); if (responseData.IsHeaderPresent("x-amz-restore")) { bool restoreInProgress; DateTime? restoreExpiration; AmazonS3Util.ParseAmzRestoreHeader(responseData.GetHeaderValue("x-amz-restore"), out restoreInProgress, out restoreExpiration); response.RestoreInProgress = restoreInProgress; response.RestoreExpiration = restoreExpiration; } if (responseData.IsHeaderPresent("Last-Modified")) response.LastModified = S3Transforms.ToDateTime(responseData.GetHeaderValue("Last-Modified")); if (responseData.IsHeaderPresent("ETag")) response.ETag = S3Transforms.ToString(responseData.GetHeaderValue("ETag")); if (responseData.IsHeaderPresent("x-amz-missing-meta")) response.MissingMeta = S3Transforms.ToInt(responseData.GetHeaderValue("x-amz-missing-meta")); if (responseData.IsHeaderPresent("x-amz-version-id")) response.VersionId = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-version-id")); if (responseData.IsHeaderPresent("Cache-Control")) response.Headers.CacheControl = S3Transforms.ToString(responseData.GetHeaderValue("Cache-Control")); if (responseData.IsHeaderPresent("Content-Disposition")) response.Headers.ContentDisposition = S3Transforms.ToString(responseData.GetHeaderValue("Content-Disposition")); if (responseData.IsHeaderPresent("Content-Encoding")) response.Headers.ContentEncoding = S3Transforms.ToString(responseData.GetHeaderValue("Content-Encoding")); if (responseData.IsHeaderPresent("Content-Length")) response.Headers.ContentLength = long.Parse(responseData.GetHeaderValue("Content-Length"), CultureInfo.InvariantCulture); if (responseData.IsHeaderPresent("Content-Type")) response.Headers.ContentType = S3Transforms.ToString(responseData.GetHeaderValue("Content-Type")); if (responseData.IsHeaderPresent("Expires")) response.Expires = S3Transforms.ToDateTime(responseData.GetHeaderValue("Expires")); if (responseData.IsHeaderPresent("x-amz-website-redirect-location")) response.WebsiteRedirectLocation = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-website-redirect-location")); if (responseData.IsHeaderPresent("x-amz-server-side-encryption")) response.ServerSideEncryptionMethod = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-server-side-encryption")); if (responseData.IsHeaderPresent("x-amz-server-side-encryption-customer-algorithm")) response.ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.FindValue(responseData.GetHeaderValue("x-amz-server-side-encryption-customer-algorithm")); if (responseData.IsHeaderPresent(HeaderKeys.XAmzServerSideEncryptionAwsKmsKeyIdHeader)) response.ServerSideEncryptionKeyManagementServiceKeyId = S3Transforms.ToString(responseData.GetHeaderValue(HeaderKeys.XAmzServerSideEncryptionAwsKmsKeyIdHeader)); if (responseData.IsHeaderPresent("x-amz-replication-status")) response.ReplicationStatus = S3Transforms.ToString(responseData.GetHeaderValue("x-amz-replication-status")); foreach (var name in responseData.GetHeaderNames()) { if (name.StartsWith("x-amz-meta-", StringComparison.OrdinalIgnoreCase)) response.Metadata[name] = responseData.GetHeaderValue(name); } return; }
public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context) { GetObjectMetadataResponse response = new GetObjectMetadataResponse(); UnmarshallResult(context,response); return response; }
/// <summary> /// Constructs an S3 resource. /// </summary> /// <param name="service">The <see cref="S3ContentResourceService"/>.</param> /// <param name="metadata">The <see cref="GetObjectMetadataResponse"/> describing the data.</param> /// <param name="path">The <see cref="IResourcePath"/> of the resource.</param> public S3Resource(S3ContentResourceService service, GetObjectMetadataResponse metadata, IResourcePath path) { // validate arguments if (service == null) throw new ArgumentNullException("service"); if (path == null) throw new ArgumentNullException("path"); // set values this.service = service; this.metadata = metadata; this.path = path; }
public void exists(string bucket, string key) { GetObjectMetadataRequest req = new GetObjectMetadataRequest(); req.BucketName = bucket; req.Key = key; GetObjectMetadataResponse res = new GetObjectMetadataResponse(); try { res = s3Client.GetObjectMetadata(req); Console.WriteLine("true"); } catch (Exception) { Console.WriteLine("false"); } }
// md5 s3 checksum private string GetS3Checksum(string bucket, string key) { GetObjectMetadataRequest req = new GetObjectMetadataRequest(); req.BucketName = bucket; req.Key = key; GetObjectMetadataResponse res = new GetObjectMetadataResponse(); res = s3Client.GetObjectMetadata(req); return res.ETag.ToUpper().Replace("\"", ""); }