1
我想創建的ObjectMetadata類的自定義頁眉和有下面的代碼爲它AWS S3響應頭
private String cust_header;
public String getcust_header() {
return cust_header;
}
public void setcust_header(String cust_header) {
cust_header = cust_header;
}
這是構造的樣子:
private ObjectMetadata(ObjectMetadata from) {
this.userMetadata = from.userMetadata == null
? null
: new TreeMap<String,String>(from.userMetadata);
// shallow clone the meata data
this.metadata = from.metadata == null
? null
: new TreeMap<String, Object>(from.metadata);
this.expirationTime = cloneDate(from.expirationTime);
this.expirationTimeRuleId = from.expirationTimeRuleId;
this.httpExpiresDate = cloneDate(from.httpExpiresDate);
this.ongoingRestore = from.ongoingRestore;
this.restoreExpirationTime = cloneDate(from.restoreExpirationTime);
this.cust_header = "custom header";
}
我想將文件上傳到s3實例並獲取響應頭。以下是我的代碼:
AmazonS3 conn = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
.withRegion(Regions.US_WEST_2).build();
Bucket bucket;
if (conn.doesBucketExist("xxx")) {
System.out.println("Bucket already exists");
}
bucket = conn.createBucket("xxx");
ByteArrayInputStream input = new ByteArrayInputStream("Hello World!".getBytes());
ObjectMetadata objectMetadata = new ObjectMetadata();
PutObjectRequest request = new PutObjectRequest(bucket.getName(), "hello.txt", input, objectMetadata);
PutObjectResult response = conn.putObject(request);
S3Object object = conn.getObject(new GetObjectRequest(bucket.getName(), "hello.txt"));
InputStream objectData = object.getObjectContent();
System.out.println("Content-Type: " + object.getObjectMetadata().getContentType() + " custom Header : "
+ object.getObjectMetadata().getcust_header());
我試圖打印所有標題。 但是我在嘗試打印所有標題時收到空值。有人能解釋我哪裏出錯了嗎?