给定 https s3 url 将文件上传到 s3
Upload a file to s3 given a https s3 url
我正在尝试将一个对象从一个 s3 存储桶复制到我的 s3 存储桶,但我得到了这样一个文件的 http url;
如果我抛出 this is the browser 我得到一个 csv 根本不用担心(注意:我已经遮盖了真实 url 的部分所以它不适合你)。
我在具有以下参数的节点中使用 copyObject API:
var 参数 = {
桶:"me-buket",
复制来源:“https://not-my-bucket.s3.amazonaws.com/123456738160996-2019-03-23-eo_branch_cta_view-v2-cf5e81e668466de13406877ad681895f6fdd50f38ab7fdb48193d78210098b81-acZMLZ.csv.gz?Signature=12345678Hr3ght0cOPw7bLz%2FJWM%3D&AWSAccessKeyId=123456&Expires=1554017348”
, 关键: "data"
};
我一直收到错误消息:
"InvalidArgument: Unsupported copy source parameter."
我做错了什么??
以上错误表明您提供的 CopySource 参数不正确。 CopySource 参数的正确赋值方式如下:
var params = { Bucket: "your_bucket", CopySource: "/source_bucketname_url/sourceobjectkey"};
注意:源存储桶的名称和源对象的键名称必须用斜杠 (/) 分隔。
S3 不支持使用预签名 URL(或任何其他 URL)作为 CopySource
。您想要的值是 /${bucket}/${key}
,在本例中是 /not-my-bucket/1234567381...acZMLZ.csv.gz
(前导 https://
替换为前导斜线,.s3.amazonaws.com
已删除,?
和它后面的所有内容都被删除了)。
但是...这仍然不太可能起作用,除非调用 copyObject()
的用户有权直接读取源对象,这不太可能...否则第三方不会有给你预签名 URL.
"Fixing" 您的上述请求可能会将错误更改为 AccessDenied
。
没有直接读取对象的权限,不能使用copyObject()
。您需要下载该文件,然后分两步将其上传到您的存储桶。
我正在尝试将一个对象从一个 s3 存储桶复制到我的 s3 存储桶,但我得到了这样一个文件的 http url;
如果我抛出 this is the browser 我得到一个 csv 根本不用担心(注意:我已经遮盖了真实 url 的部分所以它不适合你)。
我在具有以下参数的节点中使用 copyObject API:
var 参数 = { 桶:"me-buket", 复制来源:“https://not-my-bucket.s3.amazonaws.com/123456738160996-2019-03-23-eo_branch_cta_view-v2-cf5e81e668466de13406877ad681895f6fdd50f38ab7fdb48193d78210098b81-acZMLZ.csv.gz?Signature=12345678Hr3ght0cOPw7bLz%2FJWM%3D&AWSAccessKeyId=123456&Expires=1554017348” , 关键: "data" };
我一直收到错误消息: "InvalidArgument: Unsupported copy source parameter."
我做错了什么??
以上错误表明您提供的 CopySource 参数不正确。 CopySource 参数的正确赋值方式如下:
var params = { Bucket: "your_bucket", CopySource: "/source_bucketname_url/sourceobjectkey"};
注意:源存储桶的名称和源对象的键名称必须用斜杠 (/) 分隔。
S3 不支持使用预签名 URL(或任何其他 URL)作为 CopySource
。您想要的值是 /${bucket}/${key}
,在本例中是 /not-my-bucket/1234567381...acZMLZ.csv.gz
(前导 https://
替换为前导斜线,.s3.amazonaws.com
已删除,?
和它后面的所有内容都被删除了)。
但是...这仍然不太可能起作用,除非调用 copyObject()
的用户有权直接读取源对象,这不太可能...否则第三方不会有给你预签名 URL.
"Fixing" 您的上述请求可能会将错误更改为 AccessDenied
。
没有直接读取对象的权限,不能使用copyObject()
。您需要下载该文件,然后分两步将其上传到您的存储桶。