【问题标题】:Access Custom S3 Metadata After Completing Multipart Upload完成分段上传后访问自定义 S3 元数据
【发布时间】:2021-09-07 04:55:09
【问题描述】:

我想在触发 completeMultipartUpload 方法后访问通过 S3 分段上传上传的对象的自定义元数据。


我使用一些添加的自定义元数据启动分段 S3 上传,如下所示:

$response = $this->client->createMultipartUpload([
    'Bucket'        => $this->bucket,
    'Key'           => $key,
    'ContentType'   => $type,
    'Expires'       => 60,
    'Metadata'   => [
        'file-guid' => $fileGuid,
    ],
]);

当我完成分段上传时,我想访问 file-guid 元数据并将其传递给我的响应。

$result = $this->client->completeMultipartUpload([
    'Bucket'          => $this->bucket,
    'Key'             => $key,
    'UploadId'        => $uploadId,
    'MultipartUpload' => [
        'Parts' => $parts,
    ],
]);

$fileGuid = $result['?'] // Couldn't find the metadata in the result.

return response()->json(['file-guid' => $fileGuid]);

我在上传后检查了 S3 对象,它显示了自定义元数据,但我不知道如何访问它。我以为它会是 completeMultipartUpload 响应的一部分,但我没有看到它。

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: amazon-s3 metadata multipartfile


    【解决方案1】:

    我找到了一个解决方案,但它涉及一个额外的请求。如果有人知道在不发出其他请求的情况下访问元数据的方法,那就更好了。

    $headObject = $this->client->headObject([
        'Bucket' => $this->bucket,
        'Key' => $key,
    ]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-04
      • 2011-06-14
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-20
      • 1970-01-01
      相关资源
      最近更新 更多