通过 Put 操作将元数据写入 S3 对象

Write Metadata to S3 Object via Put operation

我正在尝试通过 Kotlin 在 S3 存储桶中创建一个只有元数据的空对象,但它不起作用。对象已创建,但元数据不存在。这是我正在使用的代码:

    val metaList = mapOf("x-amz-website-redirect-location" to "https://someurl")
    val metaData = ObjectMetadata()
    metaData.userMetadata = metaList
    s3client.putObject(
        "somebucket",
        "somekey",
        InputStream.nullInputStream(),
        ObjectMetadata()
    )

您创建了 ObjectMetadata

的实例
val metaData = ObjectMetadata()
metaData.userMetadata = metaList

但是,那你就不用了。相反,您在调用期间创建了另一个实例:

s3client.putObject(
    "somebucket",
    "somekey",
    InputStream.nullInputStream(),
    ObjectMetadata()
)

您应该将 metaData 传递给 s3client.putObject

s3client.putObject(
    "somebucket",
    "somekey",
    InputStream.nullInputStream(),
    metaData
)