【问题标题】:Write Metadata to S3 Object via Put operation通过 Put 操作将元数据写入 S3 对象
【发布时间】:2021-04-15 13:49:06
【问题描述】:

我正在尝试通过 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()
    )

【问题讨论】:

    标签: kotlin amazon-s3 metadata aws-java-sdk


    【解决方案1】:

    你创建了一个ObjectMetadata的实例

    val metaData = ObjectMetadata()
    metaData.userMetadata = metaList
    

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

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

    您应该将您的metaData 传递给s3client.putObject

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

    【讨论】:

    • 啊...不知道为什么我之前看不到。谢谢!
    猜你喜欢
    • 2018-04-27
    • 2021-06-06
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2019-06-26
    • 2015-12-24
    • 1970-01-01
    相关资源
    最近更新 更多