2016-06-21 30 views
0

linux s3cmdを使用してAWS S3にファイルをアップロードしています。私はzipファイルを正常にアップロードすることができます。これは今何ヶ月も問題なく動作しています。私は今もjsonファイルをアップロードする必要があります。 jsonファイルを同じバケットにアップロードしようとすると、S3エラーが発生します。アクセスが拒否されました。私は理由を理解できません、助けてください。s3 put jsonファイルへのアクセスが拒否されました

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:ListBucket" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::mybucket" 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject", 
       "s3:PutObject", 
       "s3:DeleteObject" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::mybucket/*" 
      ] 
     } 
    ] 
} 

s3cmd --mime-type=application/zip put myfile.zip s3://mybucket 
SUCCESS 

s3cmd --mime-type=application/json put myfile.json s3://mybucket 
ERROR: S3 error: Access Denied 

答えて

0

これらの日、むしろs3cmdよりもAWS Command-Line Interface (CLI)を使用することをお勧めします。

aws s3 cpコマンドは、自動的にMIMEタイプを推測しようとします。したがって、例のように指定する必要はありません。これは物事を修正するかどうかを確認するために

あなたの心がs3cmdが動作しない理由は、アクセス権を開放しようと考え出すに設定されている場合(例えばs3:*許可)、その後、許可APIの狭いダウンリストはどちらを把握するために呼び出しますs3cmdが電話しています。

+0

お返事ありがとうございます。私は許可アクションをすべて変更してみましたが( "*")すでに変更はありません。 – user3720435

0

Minio client aka mcを使用することもできます。mc cpコマンドを使用することができます。

 
$ mc cp myfile.json s3alias/mybucket 

希望します。

免責事項:私はそれがs3cmdのバグだったMinio

0

のために働く、簡単な更新は、問題を解決しました。

関連する問題