【问题标题】:Set metadata using Amazon S3 Transfer Utility for iOS使用适用于 iOS 的 Amazon S3 Transfer Utility 设置元数据
【发布时间】:2018-11-15 15:37:48
【问题描述】:

我找不到使用此库设置元数据的方法:Amazon S3 Transfer Utility for iOS

有没有办法做到这一点?

【问题讨论】:

    标签: ios amazon-web-services amazon-s3 aws-sdk


    【解决方案1】:

    您可以将用户定义的元数据分配给对象。用户定义的元数据必须以前缀“x-amz-meta-”开头,否则 Amazon S3 不会按照您的定义设置键值对。您可以通过将您选择的名称添加到 x-amz-meta-key 来定义自定义元数据。这将创建一个自定义键。例如,如果您添加自定义名称 alt-name,则元数据键将为 x-amz-meta-alt-name。

    你可以参考这个链接:https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-object-metadata.html#add-object-metadata-user-defined

      var uploadCompletion: AWSS3TransferUtilityUploadCompletionHandlerBlock?
        uploadCompletion = { (uploadTask, error) in
            if error == nil {
                completion(nil)
            } else {
                completion(error)
            }
        }
    
        let expression = AWSS3TransferUtilityUploadExpression()
    //YOUR METADATA HERE
        expression.setValue("value", forRequestParameter: "x-amz-meta-yourkeyhere")
    
        let transferUtility = AWSS3TransferUtility.default()
        transferUtility.uploadData(data,
                                   bucket: s3BucketName,
                                   key: key,
                                   contentType: "image/png",
                                   expression: expression,
                                   completionHandler: uploadCompletion)
    

    【讨论】:

      【解决方案2】:

      您可以在AWSS3TransferUtilityExpression 上使用- setValue:forRequestParameter: 添加元数据。

      注意 Amazon S3 以小写形式存储用户定义的元数据。每个名称、值对必须符合 US-ASCII。

      【讨论】:

        猜你喜欢
        • 2017-12-23
        • 2022-06-11
        • 1970-01-01
        • 2013-09-25
        • 1970-01-01
        • 2016-10-18
        • 2017-03-24
        • 2015-09-06
        • 2013-08-17
        相关资源
        最近更新 更多