架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14849|回复: 0

[资料] .NET Core 将资料备份至 Amazon S3 Glacier 存储

[复制链接]
发表于 2021-9-12 20:50:27 | 显示全部楼层 |阅读模式
关于 Amazon S3 Glacier 的介绍:https://aws.amazon.com/cn/s3/glacier/

Amazon S3 Glacier 和 S3 Glacier Deep Archive 是安全、持久且成本极低的 Amazon S3 云存储类,适用于数据存档和长期备份。它们能够提供 99.999999999% 的持久性以及全面的安全与合规功能,可以帮助满足最严格的监管要求。客户能以每月每 TB 低至 1 USD 的价格存储数据,与本地解决方案相比,显著降低了成本。为了保持低廉成本,同时满足各种检索需求,Amazon S3 Glacier 提供了三种访问存档的选项,检索时间从数分钟到数小时不等;S3 Glacier Deep Archive 提供了两种访问选项,检索时间从 12 小时到 48 小时不等。

他的优势的价格非常便宜,适合存储长期不使用的资源,例如:数据库备份文件、档案资料、资料存档等。但是,如果如果检索下载数据,将要等待非常长的时间,除非购买加速服务。每个区域的价格也不同,以东京区域为例:100G 文件(一个月) = 0.5USD = 3.5元

定价:https://aws.amazon.com/cn/s3/pricing/?nc=sn&loc=4

一:创建访问密钥(访问密钥 ID 和秘密访问密钥)

地址:https://console.aws.amazon.com/iam/home#/security_credentials

在调用 aws api 接口的时候,会用到访问密钥(awsAccessKeyId、awsSecretAccessKey),根用户访问密钥允许对您的整个 AWS 账户进行无限制的访问。如下图:
QQ截图20210912200421.jpg

这里复制出创建的密钥,供后面使用。

二:创建 S3 Glacier 文件库

以东京区域为例,网址:https://ap-northeast-1.console.aws.amazon.com/glacier/ ,如下图:

QQ截图20210912201123.jpg QQ截图20210912201238.jpg

亚马逊区域的名称和代码:https://docs.aws.amazon.com/zh_cn/general/latest/gr/rande.html

区域名称
代码
美国东部 (俄亥俄)
us-east-2
US East (N. Virginia)
us-east-1
US West (N. California)
us-west-1
US West (Oregon)
us-west-2
非洲(开普敦)
af-south-1
亚太地区(香港)
ap-east-1
亚太地区 (孟买)
ap-south-1
亚太地区(大阪)
ap-northeast-3
亚太地区 (首尔)
ap-northeast-2
Asia Pacific (Singapore)
ap-southeast-1
Asia Pacific (Sydney)
ap-southeast-2
Asia Pacific (Tokyo)
ap-northeast-1
Canada (Central)
ca-central-1
China (Beijing)
cn-north-1
China (Ningxia)
cn-northwest-1
Europe (Frankfurt)
eu-central-1
Europe (Ireland)
eu-west-1
Europe (London)
eu-west-2
欧洲(米兰)
eu-south-1
欧洲(巴黎)
eu-west-3
欧洲(斯德哥尔摩)
eu-north-1
中东(巴林)
me-south-1
南美洲(圣保罗)
sa-east-1

三:新建 ASP.NET Core 程序

新建一个 ASP.NET Core 程序,调用 aws 的 SDK 将文件上传到 S3 Glacier 文件库中,需要使用 nuget 引用如下包:




上传文件

代码如下:

下载文件

从 S3 Glacier 存储检索下载文件,需要耐心等待一段时间(检索时间从数分钟到数小时不等,即使是刚上传的文件也需要等待这么久),我们通过开启 SDK 日志输出,可以看到,我们发送检索文件请求后,程序会通过消息队列获取结果,如下图:

QQ截图20210913073933.jpg

代码如下:



开启日志输出代码:



我开发了一个 S3 Glacier 备份服务,只需要调用控制器接口,即可实现将文件上传至 S3 Glacier,如下图:


QQ截图20210912204038.jpg

源码下载:https://down.itsvse.com/item/qaxazq.html




上一篇:推荐两款分析 Docker 镜像层的工具
下一篇:Git 恢复已经提交删除的文件
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-3-29 19:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表