Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何生成永久的s3对象/文件url(不过期)?_Amazon Web Services_Url_Amazon S3_Aws Lambda - Fatal编程技术网

Amazon web services 如何生成永久的s3对象/文件url(不过期)?

Amazon web services 如何生成永久的s3对象/文件url(不过期)?,amazon-web-services,url,amazon-s3,aws-lambda,Amazon Web Services,Url,Amazon S3,Aws Lambda,我想生成没有过期的S3对象URL 我的S3存储桶和对象是私有的,因为我不想将其设置为公共的 我尝试使用lambda函数生成经过公关签名的url,但它只验证了7天 如果有人知道,请帮忙。 提前感谢。是的,最长可退出时间为604800秒(7天) 但是 如果您必须公开读取ACL,并且它将被提供非过期url obj = s3.bucket(ENV['S3_BUCKET_NAME']).object(object_name) obj.write(:file => image_location) ob

我想生成没有过期的S3对象URL

我的S3存储桶和对象是私有的,因为我不想将其设置为公共的

我尝试使用lambda函数生成经过公关签名的url,但它只验证了7天

如果有人知道,请帮忙。
提前感谢。

是的,最长可退出时间为604800秒(7天)

但是

如果您必须公开读取ACL,并且它将被提供非过期url

obj = s3.bucket(ENV['S3_BUCKET_NAME']).object(object_name)
obj.write(:file => image_location)
obj.acl = :public_read
obj.public_url.to_s
或者,您可以在cloud watch中使用调度程序,该调度程序将在604800秒或之前运行,并续订到期时间

用这个写一个lambda

url = s3.generate_presigned_url(
    ClientMethod='get_object',
    Params={
        'Bucket': 'bucket-name',
        'Key': 'key-name'
    },
    ExpiresIn=604800
)
并在7天(10080)或之前在cloud watch scheduler中运行


是的,到exipre的时间最长为604800秒(7天)

但是

如果您必须公开读取ACL,并且它将被提供非过期url

obj = s3.bucket(ENV['S3_BUCKET_NAME']).object(object_name)
obj.write(:file => image_location)
obj.acl = :public_read
obj.public_url.to_s
或者,您可以在cloud watch中使用调度程序,该调度程序将在604800秒或之前运行,并续订到期时间

用这个写一个lambda

url = s3.generate_presigned_url(
    ClientMethod='get_object',
    Params={
        'Bucket': 'bucket-name',
        'Key': 'key-name'
    },
    ExpiresIn=604800
)
并在7天(10080)或之前在cloud watch scheduler中运行


你所说的是矛盾的,因为一个URL没有过期的对象实际上与一个可公开访问的对象是一样的,因为一个URL不会过期的对象在实际应用中与一个公共可访问对象是一样的。