AWS S3服务使用
AWS S3是亚马逊的一种文件存储服务使用方便。
一、配置服务
public static class AWS_S3ClientInfo
{
private static readonly string awsAccessKey = "AKIAJOXFZDXXXXX"; private static readonly string awsSecretKey = "6s2AGbNYmhF4xeXXXXXXXXX/"; public static readonly string bucketName = "test"; //提供最基本的一个配置
public static AmazonS3Config config = new AmazonS3Config()
{
//这个地址是固定的,可以不写
//ServiceURL = "http://s3.amazonaws.com", //因为aws服务器是分地区的,这里如果不配置区域会一直报错,还找不到头绪。
RegionEndpoint = RegionEndpoint.APSoutheast1, }; public static IAmazonS3 GetS3ClientInfo()
{
return new AmazonS3Client(awsAccessKey, awsSecretKey, config);
} }
二、调用上传服务
public void UpLoadFile()
{
try
{
using (IAmazonS3 s3Client = AWS_S3ClientInfo.GetS3ClientInfo())
{
var bt = File.ReadAllBytes(AppDomain.CurrentDomain.BaseDirectory + "../../img/a.txt");
var mm= new MemoryStream(bt);
PutObjectRequest putObjectRequest = new PutObjectRequest();
putObjectRequest.InputStream = mm;
//可以上传string类型
//putObjectRequest.ContentBody = "你好!";
putObjectRequest.BucketName = AWS_S3ClientInfo.bucketName;
putObjectRequest.ContentType = "application/octet-stream";
putObjectRequest.Metadata.Add("Access-Control-Allow-Origin", "*");
//文件的路径
putObjectRequest.Key = $"img/test-6.jpg";
//文件权限
putObjectRequest.CannedACL = S3CannedACL.PublicRead; PutObjectResponse putObjectResponse = s3Client.PutObject(putObjectRequest); mm.Dispose();
Console.WriteLine("结果=" + putObjectResponse.HttpStatusCode); }
}
catch (Exception e)
{
Console.WriteLine("Exception message: {0}", e.Message);
}
}
三、下载服务
using (IAmazonS3 s3Client = AWS_S3ClientInfo.GetS3ClientInfo())
{
GetObjectRequest request = new GetObjectRequest()
{
BucketName = AWS_S3ClientInfo.bucketName,
Key = "s3.txt"
};
//下载
GetObjectResponse response = s3Client.GetObject(request);
response.WriteResponseStreamToFile(AppDomain.CurrentDomain.BaseDirectory + "1.txt");
}
四、删除服务
using (IAmazonS3 s3Client = AWS_S3ClientInfo.GetS3ClientInfo())
{
GetObjectRequest request = new GetObjectRequest()
{
BucketName = AWS_S3ClientInfo.bucketName,
Key = "s3.txt"
}; //删除
s3Client.DeleteObject(request.BucketName, request.Key); }
这个服务在Windows平台上没问题,在linux平台上上传不了,需要添加忽略证书
//忽略验证ssl/tls证书
ServicePointManager.ServerCertificateValidationCallback =(sender, certificate, chain, errors) => true;
AWS S3服务使用的更多相关文章
- Swift是一个提供RESTful HTTP接口的对象存储系统,目的是为了提供一个和AWS S3竞争的服务
Swift是一个提供RESTful HTTP接口的对象存储系统,最初起源于Rackspace的Cloud Files,目的是为了提供一个和AWS S3竞争的服务. Swift于2010年开源,是Ope ...
- AWS S3 对象存储服务
虽然亚马逊云非常牛逼,虽然亚马逊云财大气粗,虽然亚马逊用的人也非常多,可是这个文档我简直无法接受,特别是客服,令人发指的回复速度,瞬间让人无语,可是毕竟牛逼.忍了,躺一次坑而已 1.图片上传 1.1 ...
- AWS专线服务总结和疑问
1.AWS专线服务的入口, 从介绍页上可以看到,有如下功能: (1)专线可以连接AWS云主机和传统的数据中心或者分支机构. (2)专线可以连接AWS云主机和托管区的主机. 连接要素: (1)需要使用V ...
- Aws云服务EMR使用
Aws云服务EMR使用 创建表结构 创建abc库下的abc_user_i表字段s3://abc-server/abc-emr/shell/ABC_USER_HIVE.q: EXTERNAL 指定为外部 ...
- storj白皮书v3最全面解读,Docker创始人的加入能否扳倒AWS S3
Storj新发了白皮书v3,地址是:https://storj.io/storjv3.pdf. 这次白皮书一共有90页,看完还真要费不少时间.如果你没有时间看,可以看一下我这篇快速技术解读. 上次St ...
- 使用curl进行s3服务操作
最近使用curl对s3进行接口测试,本想写个总结文档,但没想到已有前辈写了,就直接搬过来做个记录吧,原文见: http://blog.csdn.net/ganggexiongqi/article/de ...
- Amazon AWS S3 操作手册
Install the SDK The recommended way to use the AWS SDK for Java in your project is to consume it fro ...
- Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传
背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...
- [转帖]通俗解释 AWS 云服务每个组件的作用
你有听说过 ContainerCache,ElastiCast 和 QR72 这些 AWS 的新服务吗? 没有就对了,这些都是我编的:) 不过,AWS 有 50 多个服务,从名称也不能看出这些服务是做 ...
随机推荐
- python在windows(双版本)及linux环境下安装
python下载 下载地址:https://www.python.org/downloads/ 可以下载需要的版本,这里选择2.7.12和3.6.2 下面第一个是linux版本,第二个是windows ...
- 利用反射将IDataReader读取到实体类中效率低下的解决办法
最开始使用反射一个类型的各个属性,对气进行赋值的代码如下: public static List<T> ToList<T>(IDataReader reader) { //实例 ...
- SaltStack配置管理和YAML
配置管理和YAML 配置管理 所谓的配置管理,也称为状态管理,就是可以通过编写文件,文件的内容为安装什么功能.开启什么服务,执行什么任务等信息,然后通过salt的配置管理,指定minion来执行这些操 ...
- About me & 留言板
本人名字首字母gzy,就读于gryz,是高二在读生,也是一名oier. 老婆:远近渔. 爱好: 各种体育类项目,(但是不精通,不会打台球),喜欢摄影作品,喜欢听rap和摇滚,也喜欢一些描述生活英文歌曲 ...
- Lending Club贷款数据分析
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- Linux记录-sftp上传大文件
1.Alt +P 进入sftp会话 2.pwd显示linux目录 lpwd显示windows目录 3.lcd切换windows目录 cd切换linux目录 4.put上传 5.get下载 6.help ...
- 快速掌握Nginx(三) —— Nginx+Systemd托管netcore应用
以前dotnet web应用程序开发完成后,我们都是使用IIS部署在Windows Server上,如今netcore技术发展迅速,因为其跨平台的特性,将dotnet web应用程序部署在更方便部署和 ...
- Python 中使用 matplotlib 绘图中文字符显示异常的问题
最近在使用 Python matplotlib 绘制图表时发现中文字符不能正确显示:比如在绘制折线图时,中文全部显示成▢▢▢的格式,虽然将数据改成英文就没什么问题,但是所有数据都这么做时不可行的,于是 ...
- 原生JS实现banner图的滚动与跳转
HTML部分: <div id="banner"> <!--4张滚动的图片--> <div id="inside"> < ...
- pandas.read_csv() 报错 OSError: Initializing from file failed,报错原因分析和解决方法
今天调用pandas读取csv文件时,突然报错“ OSError: Initializing from file failed ”,我是有点奇怪的,以前用的好好的,read_csv(path)方法不是 ...