某些文件的 AWS PHP SDK PutObject 操作失败

问题描述

我们的应用程序是在 Laraval 中开发的,它使用 AWS PHP SDK 将一些文件上传到 S3 存储桶。但是我们面临一个奇怪的问题,我们的一些文件已成功上传到 S3,但有时由于访问被拒绝错误而失败。

production.ERROR: Error executing "PutObject" on "https://bucket_name.s3.ap-south-1.amazonaws.com/previews/FWkgqAqYnUmyfPt.gif"; 
AWS HTTP error: Client error: `PUT https://bcuket_name.s3.ap-south-1.amazonaws.com/previews/FWkgqAqYnUmyfPt.gif` resulted in a `403 Forbidden` response:
<?xml version="1.0" encoding="UTF-8"?>
    <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>6255EE 
   (truncated...)
   AccessDenied (client): Access Denied - 
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>
..... at /var/www/product-backend/vendor/aws/aws-sdk-PHP/src/WrappedHttpHandler.PHP:195)
[stacktrace]

对于某些文件,它工作得非常好并且成功上传文件。这是我们与此用户相关的政策

{
"Version": "2012-10-17","Statement": [
    {
        "Effect": "Allow","Action": [
            "s3:*"
        ],"Resource": [
            "arn:aws:s3:::bucket_name","arn:aws:s3:::bucket_name/*"
        ]
    }
]
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)