Skip to content

S3 对象存储 HOSTKEY

在这篇文章中

服务描述

什么是 HOSTKEY S3 对象存储

HOSTKEY S3 对象存储是一种用于存储非结构化数据的可扩展解决方案。该服务完全兼容 Amazon Simple Storage Service (S3) 规范,允许您在不修改代码的情况下使用现有的 S3 兼容工具、应用程序和工作流。

主要功能

  • 创建独立存储 - 在 Free Beta 1 计划的免费测试期间,用户最多可以创建 3 个独立的 S3 存储桶;
  • 独立于 VPS/VDS - S3 存储自主运行,无需租用 HOSTKEY 服务器;
  • 创建存储桶 - 创建存储时,会自动创建一个具有唯一名称的初始存储桶。创建存储桶:在测试期间,用户可以在每个 S3 存储中创建最多 10 个存储桶;
  • S3 兼容访问 - 完全支持标准 Amazon S3 协议以进行所有数据操作;
  • 支持任何 S3 客户端 - 使用 S3 Browser、Cyberduck、boto3 和其他 S3 兼容工具;
  • 安全访问 - 通过 HTTPS 协议使用 Access Key 和 Secret Key 进行授权;
  • 简单的凭证管理 - 通过账户 Web 界面生成和查看访问密钥;
  • 现成的计划 - 选择具有固定存储量和带宽的计划。

技术参数

  • Endpoint URL: https://s3-nl.hostkey.com;
  • 协议: HTTPS (SSL/TLS);
  • 授权: AWS Signature Version 4.

定价

S3 存储按付费方式提供。您可以在此处查看当前的定价计划。您还可以增加存储和流量量,并按“按需付费”方式支付。额外使用的成本按天计算。

在服务订购时,将根据所选定价计划的条款从您的账户余额中扣除一个月的实际使用费用。随后的月度付款以及超出资源限制的收费也将从您的账户余额中扣除。

注意

如果在续费时或超出资源使用限制时,您的账户余额不足以支付服务费,将向您在账户注册时指定的电子邮件地址发送充值发票。服务提供将暂停。如果发票未在 3 个日历日内支付,服务将被删除,并且在债务付清之前将无法订购新服务。

账单文件在计费月份次月的 2 日 UTC 时间 05:00 生成。您可以在 InvapiBilling 部分查看账单文件。账单文件中的金额涵盖日历月,包括服务使用成本以及超出资源限制的所有额外费用。

注意

免费的 "Free Beta" 计划不再对新订单开放。如果您已经在使用 "Free Beta" 计划,您可以继续按照当前条款使用。将来,所有现有的 "Free Beta" 用户将迁移到付费的 "Standard Storage" 计划。我们将提前通知您迁移的时间表和条款。

备注

如果您想扩展 "Free Beta" 计划的限制并使用可扩展的 S3 对象存储,您可以通过 HOSTKEY 个人账户订购付费的 "Standard Storage" 计划来手动切换。

创建 S3 存储

  1. 登录您的账户 Invapi

  2. 进入 S3 Storage 部分;

  3. 创建新存储:

    • Region: 选择 Region(默认 NL - 荷兰);
    • Bucket name: 输入 Bucket name(例如,bde347688-testbucket):
      • 名称必须唯一;
      • 最多 63 个字符;
      • 仅允许小写字母、数字和连字符;
      • 必须以字母或数字开头和结尾。
    • Plan: 选择 Plan(例如,Standart)。要选择,请单击计划名称;
    • 点击 Create S3 Storage

创建存储后,系统将提示您支付订单费用

Invapi 中的 S3 存储控制面板

支付成功后,您将被重定向到 Your Independent Storages 面板(或通过顶部菜单选择 S3 Storage),在那里您可以:

  1. 查看您的付费存储及其费率
  2. 创建新的独立 S3 存储
  3. 从列表中选择特定存储以查看其详细信息
  4. 查看存储量和流量使用情况的统计信息
  5. 查看连接存储的凭证
  6. 向当前存储添加新存储桶
  7. 查看已添加存储桶的列表及其统计信息
  8. 对存储桶执行操作

在 Invapi 中获取 S3 存储凭证

  1. 在您的存储列表中,找到创建的存储并进入 Credentials 选项卡:

  2. 复制凭证:

    您需要:

    • Host Name (Endpoint URL): https://s3-nl.hostkey.com;
    • S3 User ID: (例如,oab56UivbdcUURCTrMCrcB86YWzyy1hB);
    • Access Key: 点击 以显示密钥;
    • Secret Key: 点击 以显示密钥。

    Save this data - 连接时需要。

在 Invapi 中管理 S3 存储桶

直接在 Invapi 的 S3 存储界面中,可以执行以下存储桶操作:

  1. 查看存储桶在存储中占用的空间及其中的对象数量;
  2. 删除存储桶;
  3. 通过单击其名称所在的行查看存储桶内容;
  4. 查看存储桶中文件的大小和创建日期信息;
  5. 在存储桶中搜索文件;
  6. 从存储桶中删除单个文件。

通过 S3 Browser 使用

  1. 下载 S3 Browser 的免费版本:https://s3browser.com

  2. 添加新账户:

    • 打开 S3 Browser;
    • 点击 Accounts >> Add New Account
  3. 填写表单:

    • Display name: HOSTKEY S3(任何方便的名字);
    • Account type: S3 Compatible Storage(不是 Amazon S3 Storage!);
    • API endpoint: s3-nl.hostkey.com(不带 https://);
    • Access Key ID: 粘贴来自 HOSTKEY 面板的 Access Key;
    • Secret Access Key: 粘贴来自 HOSTKEY 面板的 Secret Key;
    • Use secure transfer (SSL/TLS): 保持复选框处于活动状态。
  4. 点击 Add new account

  5. 处理文件:

    成功连接后,您将看到:

    • 左侧的 Bucket list
    • 右侧的 Files in bucket
    • 管理按钮:UploadDownloadDeleteNew FolderRefresh

    可用操作:

    • Upload - 上传文件;
    • Download - 下载文件;
    • Delete - 删除文件;
    • New Folder - 创建文件夹;
    • Refresh - 刷新列表。

基本文件操作

通过 S3 兼容客户端连接到 S3 存储后,可以执行以下操作:

上传文件

  1. 通过 S3 Browser

    • 在左侧面板中选择存储桶;
    • 点击 Upload 按钮或 Upload folder(s)
    • 从计算机中选择文件;
    • 确认上传:

  2. 通过拖放

    • 只需将文件从资源管理器拖到 S3 Browser 窗口中。

下载文件

  1. 在存储桶中选择一个文件;
  2. 点击 Download 按钮或右键单击并选择 Download

  3. 指定在计算机上保存文件的文件夹。

删除文件和文件夹

  1. 选择文件或文件夹;
  2. 点击 Delete 按钮或按键盘上的 Delete 键:

  3. 确认删除。

注意

文件删除是不可逆的。确保您有重要数据的备份。

创建文件夹结构

  1. 选择存储桶或文件夹;
  2. 点击 New Folder

  3. 输入文件夹名称:

  4. 点击 Create new folder

复制和移动文件

  • 复制:选择文件 > 右键单击 > Copy > 进入目标文件夹 > 右键单击 > Paste
  • 移动:按住鼠标按钮将文件拖到所需文件夹。

重命名文件

  1. 右键单击文件;
  2. 选择 Rename

  3. 输入新名称;

  4. 按键盘上的 Enter

管理访问权限 (ACL)

  1. 右键单击文件或存储桶;
  2. 在上下文菜单中,选择 Edit Permissions (ACL)

  3. 在打开的窗口中,为用户配置访问权限:

    • Owner - 对对象的完全控制;
    • Any AWS Users - 任何 AWS 用户的访问权限;
    • All Users - 所有人的公共访问权限。
  4. 对于每个用户类别,您可以设置:

    • Full Control - 完全控制;
    • Read - 读取对象;
    • Write - 写入/修改对象;
    • Read Permissions - 读取访问权限;
    • Write Permissions - 修改访问权限:

  5. 为了快速配置,使用按钮:

    • Make public - 使文件公开;
    • Make private - 使文件私有。
  6. 配置后,点击 Apply changes 保存。

安全

对公共访问要小心。不要使机密数据公开。默认情况下,建议仅对所有者 (Owner) 保留完全控制。

生成 Web 链接

要在 S3 对象存储中创建文件或文件夹的公共链接:

  1. 右键单击文件;
  2. 在上下文菜单中,选择 Generate Web URL

  3. 在打开的窗口 Web URL Generator 中,配置链接生成参数:

  4. Use secure transfer (HTTPS) - 使用安全连接(建议用于机密数据);

  5. Expiration - 选择链接过期时间;
  6. Hostname - 主机名选择:

    • Use default host name - 使用默认地址(例如,https://s3-nl.hostkey.com/bfcc62b88-testbucket/);
    • 或指定您自己的域名;
  7. 配置参数后,系统将生成文件的完整链接,例如:

   https://s3-nl.hostkey.com/bfcc62b88-testbucket/dedicated-server-architecture.drawio

缩短链接:

  1. 要创建短链接,点击 Shorten 按钮并选择服务:

    • Shorten with Bitly - 使用 Bitly 缩短;
    • Shorten with TinyURL - 使用 TinyURL 缩短;
    • Configure... - 配置缩短服务;

  2. 成功缩短后,您将收到一个短链接(例如,https://tinyurl.com/2dhcsk8y);

  3. 使用按钮:

    • Copy - 将链接复制到剪贴板;
    • Close - 关闭生成器窗口。

注意

要通过 Web 链接公共访问文件,必须通过 ACL 将文件设置为公开。访问短链接时将自动下载文件。

备注

有关使用 S3 Browser 的详细信息,请参阅 开发者文档

备注

有关使用 Amazon S3 的详细信息,请参阅 官方 AWS 文档

通过 AWS CLI 使用 HOSTKEY S3

安装 AWS CLI

AWS CLI 可以通过两种方式安装。选择其中一种:

方法 1:通过 pip 安装(通用)

优点:

  • 使用单个命令简单安装;
  • 易于更新;
  • 适用于所有平台(Windows、Linux、macOS)。

缺点:

  • 需要安装 Python;
  • 在某些终端中可能会显示警告。

安装:

pip install awscli boto3

验证安装:

aws --version
pip show awscli boto3

更新:

pip install --upgrade awscli boto3

方法 2:Windows 的 MSI 安装程序(推荐)

优点:

  • 不需要 Python;
  • 终端中没有警告;
  • 系统安装干净。

缺点:

  • 仅限 Windows;
  • 更新必须手动下载。

通过终端安装:

curl -o AWSCLIV2.msi https://awscli.amazonaws.com/AWSCLIV2.msi
msiexec /i AWSCLIV2.msi /quiet /norestart

安装后:

  1. 重启终端;
  2. 验证安装。
    aws --version
    
    where aws
    

预期结果:

aws-cli/2.x.x Python/3.x.x Windows/10 exe/AMD64
C:\Program Files\Amazon\AWSCLIV2\aws.exe

替代安装方法:

注意

如果您同时安装了两个版本(pipMSI),可能会导致冲突。最好只使用一种方法。

检查冲突:

where aws

如果显示多个路径,请删除其中一个版本:

pip uninstall awscli -y
wmic product where "name like 'AWS Command Line Interface%'" call uninstall

配置连接到 HOSTKEY S3

1. 从 HOSTKEY 面板获取凭证

  1. 登录您的账户 Invapi
  2. 进入 S3 Storage 部分;
  3. 打开 "Credentials" 选项卡;
  4. 复制以下数据:

    对于 S3 用户标识符 (Access Key ID):

    • 点击眼睛图标以显示密钥;
    • 手动或通过 Copy 按钮复制显示的值。

    对于秘密密钥 (Secret Access Key):

    • 点击眼睛图标以显示密钥;
    • 手动或通过 Copy 按钮复制显示的值。

    注意

    您必须首先点击 图标以显示真实的密钥值;只有在那之后才能正确复制。

  5. 您还需要:

  6. Host name: https://s3-nl.hostkey.com
  7. Region: 在面板中显示(例如,荷兰的 nl)。

2. 设置配置文件

aws configure --profile hostkey

当提示时,输入:

AWS Access Key ID [None]: your_access_key_id
AWS Secret Access Key [None]: your_secret_access_key
Default region name [None]: nl
Default output format [None]: json

示例:

AWS Access Key ID [None]: s3uid_XXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Default region name [None]: nl
Default output format [None]: json

3. 验证配置

aws configure list --profile hostkey

预期输出:

NAME       : VALUE                    : TYPE             : LOCATION
profile    : hostkey                  : manual           : --profile
access_key : ****************xxxx     : shared-credentials-file :
secret_key : ****************xxxx     : shared-credentials-file :
region     : nl                       : config-file      : ~/.aws/config

4. 验证连接

aws s3 ls --profile hostkey --endpoint-url https://s3-nl.hostkey.com

预期结果(您的存储桶列表):

2025-11-26 13:54:16 your-bucket-name

基本文件操作

查看存储桶内容

aws s3 ls s3://bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

示例:

aws s3 ls s3://your-bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

结果:

2025-11-28 12:14:28         21 test.txt
2025-11-28 14:52:11         19 test_new.txt

上传文件

创建测试文件:

echo Hello HOSTKEY S3 > test.txt

将文件上传到存储桶:

aws s3 cp test.txt s3://bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

示例:

aws s3 cp test_new.txt s3://your-bucket-name/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

结果:

upload: .\test_new.txt to s3://your-bucket-name/test_new.txt

下载文件

aws s3 cp s3://bucket-name/file.txt ./local-file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

示例:

aws s3 cp s3://your-bucket-name/test.txt ./downloaded.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

结果:

download: s3://your-bucket-name/test.txt to .\downloaded.txt

检查下载的文件 (Windows):

type downloaded.txt

检查下载的文件 (Linux/macOS):

cat downloaded.txt

删除文件

aws s3 rm s3://bucket-name/file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

示例:

aws s3 rm s3://your-bucket-name/test.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

结果:

delete: s3://your-bucket-name/test.txt

同步文件夹

将文件夹上传到存储桶:

aws s3 sync path/to/local/folder s3://bucket-name/path-in-bucket/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

示例:

aws s3 sync C:\Users\User\Documents\Test s3://your-bucket-name/remote-folder/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

结果:

upload: Documents\Test\file1.txt to s3://your-bucket-name/remote-folder/file1.txt
upload: Documents\Test\file2.docx to s3://your-bucket-name/remote-folder/file2.docx

从存储桶下载文件夹:

aws s3 sync s3://bucket-name/path-in-bucket/ path/to/local/folder --profile hostkey --endpoint-url https://s3-nl.hostkey.com

显示进度:

aws s3 sync C:\Users\User\Documents\Test s3://your-bucket-name/backup/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com --progress

注意

如果路径包含空格,请务必使用引号。

正确:

aws s3 sync "C:\Users\Name\My Documents" s3://bucket/docs/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

错误(将导致错误):

aws s3 sync C:\Users\Name\My Documents s3://bucket/docs/ --profile hostkey --endpoint-url https://s3-nl.hostkey.com

附加命令

创建存储桶

aws s3 mb s3://new-bucket-name --profile hostkey --endpoint-url https://s3-nl.hostkey.com

删除空存储桶

aws s3 rb s3://bucket-name --profile hostkey --endpoint-url https://s3-nl.hostkey.com

删除包含所有内容的存储桶

aws s3 rb s3://bucket-name --force --profile hostkey --endpoint-url https://s3-nl.hostkey.com

在存储桶之间复制

aws s3 cp s3://source-bucket/file.txt s3://dest-bucket/file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

移动文件

aws s3 mv s3://bucket-name/old-file.txt s3://bucket-name/new-file.txt --profile hostkey --endpoint-url https://s3-nl.hostkey.com

故障排除

错误:“aws”不是命令

原因: 未安装 AWS CLI 或未添加到 PATH。

解决方案:

  1. 安装后重启终端;
  2. 使用命令 where aws 验证安装(应显示路径);
  3. 如果不起作用,请重新安装 AWS CLI。

错误:无效的存储桶名称

原因: 存储桶名称不正确。

解决方案: 使用 HOSTKEY 面板中的确切存储桶名称(例如,prefix-testbucket)。

错误:AccessDenied

原因: 凭证不正确或权限不足。

解决方案:

  1. 检查 HOSTKEY 面板中的 Access Key 和 Secret Key;
  2. 重新创建配置文件。
    aws configure --profile hostkey
    

pip 和 MSI 版本之间的冲突

症状: 命令 where aws 显示两个路径。

解决方案: 删除其中一个版本(参见“不要混合安装方法”部分)。

重置配置

Windows:

rmdir /S /Q %USERPROFILE%\.aws

Linux/macOS:

rm -rf ~/.aws

重新设置:

aws configure --profile hostkey

配置文件位置

Windows:

C:\Users\USER_NAME\.aws\credentials
C:\Users\USER_NAME\.aws\config

Linux/macOS:

~/.aws/credentials
~/.aws/config

文件内容:

  • credentials - Access Key 和 Secret Key;
  • config - 区域和输出格式设置。

用于验证的有用命令

AWS CLI 版本:

aws --version

可执行文件位置:

where aws

配置文件信息:

aws configure list --profile hostkey

包信息(对于 pip 版本):

pip show awscli boto3

更新(对于 pip 版本):

pip install --upgrade awscli boto3

备注

有关使用 AWS CLI 的详细信息,请参阅 官方 AWS 文档

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×