我可以通过JavaScript API限制放入S3的对象的大小吗?

时间:2015-07-14 16:29:50

标签: javascript amazon-web-services amazon-s3

可以使用JavaScript API将对象上传到S3,并且可以使用IAM策略进行细粒度授权。例如,请参阅此政策:



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




受到tutorial的启发,允许将对象放入存储桶YOUR_BUCKET_NAME。但是我不清楚是否可以限制对象的数量和可以上传的每个对象的大小。我已查看contitions列表,但我没有找到任何有用的内容。

2 个答案:

答案 0 :(得分:3)

我认为这是3个问题:

  1. 是否可以使用JavaScript API将对象上传到S3? (是)
  2. 是否可以使用IAM策略进行细粒度授权? (是)
  3. 是否可以限制对象的数量和可以上传的每个对象的大小。 (不,至少没有通过任何类型的存储桶策略或没有将此类限制编码到您的JS客户端或代理上传的服务器中)
  4. 请参阅JS examplesdiscussion of policies以及restricting object size的一个潜在选项。

答案 1 :(得分:1)

回答标题“我可以限制通过JavaScript API放入S3的对象的大小吗?”

可以。但是,不要使用IAM,而要使用createPresignedPost。在 events { worker_connections 1024; } http { sendfile on; upstream nifi { server analytics-test-Nifi-a:8080; } server { listen 443 ssl; server_name nifi-nginx.np.analytics.io; ssl_certificate /etc/nginx/nginx.crt; ssl_certificate_key /etc/nginx/nginx.key; #ssl_client_certificate /etc/nginx/nifi-cert.pem; #ssl_verify_client on; #proxy_ssl_certificate /etc/nginx/nginx.crt; #proxy_ssl_certificate_key /etc/nginx/nginx.key; #proxy_ssl_trusted_certificate /etc/nginx/nifi-cert.pem; location / { proxy_pass http://nifi; proxy_set_header X-ProxyScheme http; proxy_set_header X-ProxyHost nifi-nginx.np.analytics.io; proxy_set_header X-ProxyPort 443; proxy_set_header X-ProxyContextPath /; } } 中指定最大值content-length-range