gpt4 book ai didi

javascript - 用于视频文件的 AWS S3 和 Cloudfront CDN

转载 作者:行者123 更新时间:2023-11-30 06:16:51 24 4
gpt4 key购买 nike

我刚刚开始使用 AWS S3 和 Cloudfront 服务。到目前为止,我已经创建了一个 S3 实例和一个 Node.js 服务器,该服务器将文件从 S3 流式传输到到达服务器端点的用户。

const params = {
Bucket: BUCKET_NAME,
Key: KEY
};
const obj = s3.getObject(params);
const stream = obj.createReadStream()
stream.pipe(res); // RES is the result send back to user

据我了解,如果您启动 CloudFront 分配,您的文件将获得一个 CDN,因此我的下一步是将 Cloudfront 添加到我的 S3 存储桶中。

我的下一步是在代码中将端点添加到 S3 实例:

const s3 = new aws.S3({
endpoint: CLOUDFRONT_URL
})

但是现在,当人们到达终点时,我收到以下错误:

UnknownEndpoint: Inaccessible host: BUCKET_NAME.CLOUDFRONT_URL. This service may not be available in the `us-east-1' region.

从错误消息看来,Cloudfront 在美国东部地区不可用,这对我来说似乎很奇怪?我在想我只是在代码中配置它时犯了一个错误。有什么建议吗?

编辑:

我的用例如下:

我有一个允许下载视频内容的应用程序。这些视频存储在 AWS S3 上。由于来自世界各地的人们都在访问这些视频,我的想法是在存储桶上启用 Cloudfront,以便在离用户更近的服务器上提供下载,从而获得更快的下载速度。

目前,用户要求端点下载文件,Node.js 服务器将视频文件从 S3 流式传输给用户。

我可能误解了 Cloudfront 的用例。

最佳答案

这可以通过在给定的配置中进行一些更改来尝试,如下所示:

修改这段代码:

const s3 = new aws.S3({
endpoint: CLOUDFRONT_URL
})

const s3 = new aws.S3({
"accessKeyId": "Access_Key",
"secretAccessKey": "Secret_access_key",
"s3BucketEndpoint": "true",
"endpoint": "YourS3ENDPoint"
})

这应该有帮助!

关于javascript - 用于视频文件的 AWS S3 和 Cloudfront CDN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55616220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com