问题标签 [digital-ocean-spaces]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
83 浏览

google-cloud-platform - 如何从 Digital Ocean Spaces 下载/迁移多个文件到 GCP Cloud Storage?

我在 Digital Ocean 上有很多空间,其中有多个文件夹,其中包含 100 甚至 1000 多个文件。我需要将它们全部迁移到 GCP 云存储,但手动执行此操作几乎是不可能的。有什么办法可以直接将Digital Ocean Spaces的所有数据迁移到Cloud Storage?还是先下载到本地再上传到云存储?

0 投票
0 回答
32 浏览

docker - 上传到 DigitalOcean Space 返回“无法访问的主机:‘443 端口’

我正在尝试使用将几个文件上传到 DO Space,aws-sdk并且该应用程序正在 docker 容器内运行。当我使用 运行服务器时docker-compose,上传过程有效,但使用docker run.

使用 docker-compose 运行:

使用 docker 运行:

第一种情况完美无缺,不会触发任何错误。

第二种情况确实触发:

为什么会这样?为什么它适用于 docker-compose 而不是 docker run?

0 投票
1 回答
22 浏览

amazon-s3 - DigitalOcean Spaces 调用 list_buckets 不返回任何内容

我已经看到很多人在网上遇到这个问题,现在我自己也遇到了这个问题。我正在尝试在 DigitalOcean Spaces 中使用 boto3 来列出存储桶。它返回 200 状态代码,但是里面没有列出存储桶。奇怪的是,我可以通过代码创建一个桶,但我不能列出它。

人们报告说,当他们使用不同的端点 URL 时取得了成功。我使用了以下内容:

  • https://<space_name>.nyc3.digitaloceanspaces.com
  • https://nyc3.digitaloceanspaces.com

他们中的任何一个都没有运气。

list_buckets返回以下响应。

{'ResponseMetadata': {'RequestId': 'tx00000000000010c9ce0be-0061b571d4-1800930a-nyc3c', 'HostId': '', 'HTTPStatusCode': 200, 'HTTPHeaders': {'transfer-encoding': 'chunked', 'x-amz-request-id': 'tx00000000000010c9ce0be-0061b571d4-1800930a-nyc3c', 'content-type': 'application/xml', 'date': 'Sun, 12 Dec 2021 03:51:48 GMT', 'strict-transport-security': 'max-age=15552000; includeSubDomains; preload'}, 'RetryAttempts': 0}}

0 投票
1 回答
56 浏览

digital-ocean-spaces - DigitalOcean > SPACES : 交付 Rails 应用的静态资产

我整天都在尝试使用空间来交付静态资产。

使用 Cloudfront 的教程 1

使用 Cloudfront 的教程 2

我只用了 5 分钟就让它在 Cloudfront 上运行,除了域名...(l)之外没有任何配置。这是 Cloudfront 上的配置文件。

调试

curl -H "origin: https://supersite.com" -v "https://supersite-cnd.sfo3.digitaloceanspaces.com/assets/about/about-1-b4e60057ce55fa40b823e6403edc2b3cd1d1b2703fbebb4090eef64e3c09a64b.png"

输出 :

在 Cloudfront 上的成功尝试:

由于存在相同的文件并且适用于 Cloudfront ...这不是配置问题(在 Nginx 或 Puma 上)。我认为 DigitalOcean 上存在 CORS 问题,但我不知道如何找到它......

任何的想法?帮助。

0 投票
0 回答
43 浏览

go - 如何将适用于 Go 的 AWS 开发工具包 v2 与 DigitalOcean Spaces 一起使用?

我正在尝试使用 AWS v2 SDK for Go 列出DigitalOcean Spaces上给定存储桶中的所有对象。他们的文档提供了如何使用 v1 SDK 执行此操作的示例,但我的应用程序使用 v2。我知道我可以在技术上使用两者,但如果可能的话我宁愿不使用。

这是我到目前为止所得到的:

这是我得到的错误:

该错误似乎表明我的请求有问题,但我不知道是什么。

0 投票
1 回答
10 浏览

ruby-on-rails - Rails 数字海洋托管应用程序“extract_credentials_provider”:缺少凭据

几周以来,我一直在游泳数字海洋管理应用程序。到目前为止,一切都完美无缺。今天,我使用以下配置在本地环境中成功实现了带 Spaces 的 Active Storage:

存储.yml

生产.rb / 开发.rb

credentials.ymldigital_ocean的配置看起来像这样(在被加密之前)通过EDITOR=VI rails credentials:edit

在本地,一切都像一个魅力,所以我假设它不是关于配置本身,而是更多关于 DO 托管应用程序中的部署阶段。

数字海洋部署:

由于整个 S3/Space 通过相同的 :access_key_id / :secret_access_key 机制在本地完美运行,并且我可以从 localhost 与空间进行交互,我假设这个问题发生在部署期间,因为 rails 无法解密credentials.yml.enc文件,所以我尝试了3件事没有成功:

  1. 在应用程序级别添加RAILS_MASTER_KEY环境变量
  2. 通过在 DO 设置中添加构建命令,在构建阶段添加 master.keyecho "${RAILS_MASTER_KEY}" > config/master.key
  3. 通过在运行命令前添加 master.key 在运行阶段,例如echo "${RAILS_MASTER_KEY}" > config/master.key && rails server -p $PORT -e ${RAILS_ENV:-production}

我已经浏览互联网几个小时了,即使我按照所有步骤操作,我也无法理解为什么它会出错。我注意到的是RAILS_MASTER_KEYEnv var 似乎不可用,因为当我echo $RAILS_MASTER_KEY在控制台中运行时它没有出现,即使它似乎是在 App Spec env vars 中设置的:

任何输入都无限感激

0 投票
0 回答
9 浏览

amazon-web-services - @aws-sdk/client-s3 --> 请求的资源上不存在“Access-Control-Allow-Origin”标头

我正在尝试从本地主机上传到数字海洋空间。

为此,我使用 npm 包。但我收到下面给出的错误。我应该在这个包中添加什么代码,以免出现错误。

CORS 策略已阻止从源“http://localhost:3000”访问“https://****.fra1.digitaloceanspaces.com/directory/aaa.txt?x-id=PutObject”获取:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。

我的代码:

const handleFileUpload = 异步文件 => {

const bucketParams = { Bucket:“bucketname”,Key:“directory/aaa.txt”,ACL:“public-read”,Body:“xxxxxxxxxxxxxx”,

};

常量命令 = 新的 AbortMultipartUploadCommand(bucketParams);

};

/// 连接代码

从“@aws-sdk/client-s3”导入 { S3 };

export const s3Client = new S3({端点:“https://fra1.digitaloceanspaces.com”,区域:“us-east-1”,凭证:{accessKeyId:“xxxxxx”,secretAccessKey:“xxxx”,}}) ;