阿里云oss存储简介和如何使用

简介: 阿里云OSS存储服务是一种安全、稳定、高效的云存储服务,适用于各种规模的应用和业务场景。它具备出色的持久性和可用性,可以为用户提供高可靠、低成本的存储解决方案。阿里云OSS存储具有广泛的应用场景

 

目录

一,阿里云OSS简介

二,准备工作

三,阿里云OSS特点

四,如何使用PHP代码接入阿里云OSS

1,获取AccessKeyId和AccessKeySecret

2,PHP创建存储空间

3,PHP删除存储空间

4,PHP简单上传文件

5,PHP下载到本地文件

6,PHP删除文件

7,PHP下载到本地内存


一,阿里云OSS简介

阿里云OSS存储服务是一种安全、稳定、高效的云存储服务,适用于各种规模的应用和业务场景。它具备出色的持久性和可用性,可以为用户提供高可靠、低成本的存储解决方案。阿里云OSS存储具有广泛的应用场景,例如:


1. 图片存储:阿里云OSS可以存储海量图片,支持图片的缩略图和原图存储,保证图片的高可用性和低成本。

2. 视频存储:阿里云OSS可以存储海量视频文件,支持视频的多种格式和协议,保证视频的安全性和可用性。

3. 数据库备份:阿里云OSS可以作为数据库备份的理想选择,支持多种数据库类型和版本,保证备份数据的安全性和可用性。

4. 数据归档:阿里云OSS可以作为数据归档的理想选择,支持多种文件格式和协议,保证数据的可用性和持久性。

二,准备工作

在使用阿里云OSS之前,

你需要注册一个阿里云账号,点击:注册阿里云账号


注册好了,然后到个人中心

做一下,实名认证,建议选择企业实名,这里建议不要选择个人实名,因为个人实名,阿里云是不会开具企业发票的。

三,阿里云OSS特点

1. 安全稳定:阿里云OSS存储服务通过了多个安全认证和标准,保证了数据的安全性和稳定性。同时,阿里云OSS还具备多种数据备份和恢复策略,保证了数据的可用性和持久性。

2. 高可用性:阿里云OSS存储服务具备高可用性和低延迟的特点,用户可以根据实际需要进行扩展和缩减资源,保证了业务的高效性和成本效益。

3. 多种访问方式:阿里云OSS存储服务支持多种访问方式,包括HTTP/HTTPS和FTP等协议,以及RESTful API接口,方便用户进行数据上传和管理。同时,阿里云OSS还支持多种开发语言和框架,方便用户进行二次开发和扩展。

总之,阿里云OSS存储服务是一种安全、稳定、高效的云存储服务,适用于各种规模的应用和业务场景。它为用户提供了高可靠、低成本的存储解决方案,并具备广泛的应用场景和特点。

四,如何使用PHP代码接入阿里云OSS

1,获取AccessKeyId和AccessKeySecret

阿里云AccessKey管理板块,获取或者创建AccessKey。

image.gif

2,PHP创建存储空间

<?php if (is_file(__DIR__ . '/../autoload.php')) {  require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) {  require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 $accessKeyId = getenv("OSS_ACCESS_KEY_ID"); $accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET"); // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; // 填写Bucket名称,例如examplebucket。 $bucket= "examplebucket"; try {  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  // 设置Bucket的存储类型为低频访问类型,默认是标准类型。  $options = array(  OssClient::OSS_STORAGE => OssClient::OSS_STORAGE_IA  );  // 设置Bucket的读写权限为公共读,默认是私有读写。  $ossClient->createBucket($bucket, OssClient::OSS_ACL_TYPE_PUBLIC_READ, $options); } catch (OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print(__FUNCTION__ . ": OK" . "\n");

image.gif

3,PHP删除存储空间

<?php if (is_file(__DIR__ . '/../autoload.php')) {  require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) {  require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 $accessKeyId = getenv("OSS_ACCESS_KEY_ID"); $accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET"); // 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 $endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; // 填写Bucket名称,例如examplebucket。 $bucket= "examplebucket"; try{  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  $ossClient->deleteBucket($bucket); } catch(OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print(__FUNCTION__ . ": OK" . "\n");

image.gif

4,PHP简单上传文件

<?php if (is_file(__DIR__ . '/../autoload.php')) {  require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) {  require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 $accessKeyId = getenv("OSS_ACCESS_KEY_ID"); $accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET"); // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 $endpoint = "yourEndpoint"; // 填写Bucket名称,例如examplebucket。 $bucket= "examplebucket"; // 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。 $object = "exampledir/exampleobject.txt"; // 填写待上传的字符串。 $content = "Hello OSS"; try{  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  $ossClient->putObject($bucket, $object, $content); } catch(OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print(__FUNCTION__ . "OK" . "\n"); // 上传时可以设置相关的headers,例如设置访问权限为private、自定义元信息等。 $options = array(  OssClient::OSS_HEADERS => array(  'x-oss-object-acl' => 'private',  'x-oss-meta-info' => 'your info'  ), ); try{  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  $ossClient->putObject($bucket, $object, $content, $options); } catch(OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print(__FUNCTION__ . "OK" . "\n");

image.gif

5,PHP下载到本地文件

<?php if (is_file(__DIR__ . '/../autoload.php')) {  require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) {  require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 $accessKeyId = getenv("OSS_ACCESS_KEY_ID"); $accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET"); // 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 $endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; // 填写Bucket名称,例如examplebucket。 $bucket= "examplebucket"; // 填写不包含Bucket名称在内的Object完整路径,例如testfolder/exampleobject.txt。 $object = "testfolder/exampleobject.txt"; // 下载Object到本地文件examplefile.txt,并保存到指定的本地路径中(D:\\localpath)。如果指定的本地文件存在会覆盖,不存在则新建。 // 如果未指定本地路径,则下载后的文件默认保存到示例程序所属项目对应本地路径中。 $localfile = "D:\\localpath\\examplefile.txt"; $options = array(  OssClient::OSS_FILE_DOWNLOAD => $localfile  ); // 使用try catch捕获异常。如果捕获到异常,则说明下载失败;如果没有捕获到异常,则说明下载成功。 try{  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  $ossClient->getObject($bucket, $object, $options); } catch(OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print(__FUNCTION__ . ": OK, please check localfile: 'examplefile.txt'" . "\n");

image.gif

6,PHP删除文件

<?php if (is_file(__DIR__ . '/../autoload.php')) {  require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) {  require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; use OSS\Core\OssException; // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 $accessKeyId = getenv("OSS_ACCESS_KEY_ID"); $accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET"); // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 $endpoint = "yourEndpoint"; // 填写Bucket名称,例如examplebucket。 $bucket = "examplebucket"; // 填写文件完整路径,例如exampledir/exampleobject.txt。文档完整路径中不能包含Bucket名称。 $object = "exampledir/exampleobject.txt"; try{  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  $ossClient->deleteObject($bucket, $object); } catch(OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print(__FUNCTION__ . "OK" . "\n");

image.gif

7,PHP下载到本地内存

<?php if (is_file(__DIR__ . '/../autoload.php')) {  require_once __DIR__ . '/../autoload.php'; } if (is_file(__DIR__ . '/../vendor/autoload.php')) {  require_once __DIR__ . '/../vendor/autoload.php'; } use OSS\OssClient; // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。 $accessKeyId = getenv("OSS_ACCESS_KEY_ID"); $accessKeySecret = getenv("OSS_ACCESS_KEY_SECRET"); // Endpoint以杭州为例,其它Region请按实际情况填写。 $endpoint = "http://oss-cn-hangzhou.aliyuncs.com"; $bucket= "<yourBucketName>"; // 文件名称。 $object = "<yourObjectName>"; try{  $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);  $content = $ossClient->getObject($bucket, $object); } catch(OssException $e) {  printf(__FUNCTION__ . ": FAILED\n");  printf($e->getMessage() . "\n");  return; } print($content); print(__FUNCTION__ . ": OK" . "\n");

image.gif

8,更多请参考阿里云OSS官方API

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
15天前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
3月前
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。
|
6月前
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
3月前
|
存储 域名解析 前端开发
震惊!不买服务器,还可以用阿里云国际站 OSS 轻松搭建静态网站
在数字化时代,利用阿里云国际站OSS可低成本搭建静态网站。本文详解OSS优势及步骤:创建Bucket、上传文件、配置首页与404页面、绑定域名等,助你快速上线个人或小型业务网站,操作简单,成本低廉,适合初学者与中小企业。
|
7月前
|
存储 Kubernetes 对象存储
StrmVol存储卷:如何解锁K8s对象存储海量小文件访问性能新高度?
如何提升海量文件的数据读取速率,对于AI训练集管理、量化回测、时序日志分析等场景尤为重要。阿里云容器服务(ACK))支持StrmVol类型存储卷,基于底层虚拟块设备及内核态文件系统,显著降低海量小文件访问延迟。
|
3月前
|
存储 安全 API
某网盘不好用?有没有类似某网盘的存储软件?阿里云国际站 OSS:云存储的全能助手,你 get 了吗?
在数据爆炸时代,阿里云国际站OSS提供海量、安全、低成本的云存储服务,支持多种数据类型存储与灵活访问,助力企业与个人高效管理数据,降低存储成本。开通简便,操作友好,是理想的云端数据解决方案。
|
7月前
|
存储 Kubernetes 对象存储
StrmVol 存储卷:解锁 K8s 对象存储海量小文件访问性能新高度
本文介绍了阿里云容器服务(ACK)支持的StrmVol存储卷方案,旨在解决Kubernetes环境中海量小文件访问性能瓶颈问题。通过虚拟块设备与内核态文件系统(如EROFS)结合,StrmVol显著降低了小文件访问延迟,适用于AI训练集加载、时序日志分析等场景。其核心优化包括内存预取加速、减少I/O等待、内核态直接读取避免用户态切换开销,以及轻量索引快速初始化。示例中展示了基于Argo Workflows的工作流任务,模拟分布式图像数据集加载,测试结果显示平均处理时间为21秒。StrmVol适合只读场景且OSS端数据无需频繁更新的情况,详细使用方法可参考官方文档。
735 145
|
7月前
|
存储 弹性计算 数据管理
阿里云对象存储oss怎么收费?存储费用+流量收费标准
阿里云对象存储OSS收费标准包含存储费、流量费及请求费等,支持按量付费与包年包月两种模式。标准型本地冗余存储按量付费价格为0.09元/GB/月,包年包月500GB预留空间优惠价118元/年。流量费仅收取公网出方向费用,忙时0.50元/GB,闲时0.25元/GB。更多详情可参考官方页面。
1412 91
|
6月前
|
存储 人工智能 测试技术
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
OSSFS 2.0通过轻量化协议设计、协程化技术及FUSE3低级API重构,实现大文件顺序读写与小文件高并发加载的显著提升,在实际测试中表现出高达数十倍的吞吐量增长。适用于机器学习训练、推理等对高带宽低延迟要求严苛的场景,同时支持静态和动态挂载方式,方便用户在ACK集群中部署使用。
615 34
|
5月前
|
存储 关系型数据库 MySQL
成本直降30%!RDS MySQL存储自动分层实战:OSS冷热分离架构设计指南
在日均订单量超500万的场景下,MySQL数据年增200%,但访问集中在近7天(85%)。通过冷热数据分离,将历史数据迁移至OSS,实现存储成本下降48%,年省72万元。结合RDS、OSS与Redis构建分层架构,自动化管理数据生命周期,优化查询性能与资源利用率,支撑PB级数据扩展。
302 3
下一篇