当前位置: 首页 > wzjs >正文

《网站开发实例》pdf下载wordpress页面目录

《网站开发实例》pdf下载,wordpress页面目录,软装设计公司介绍,微信手机营销软件网站建设一、简述 AWS(Amazon Web Services) 是亚马逊公司推出的全球领先的云计算服务平台,提供超过 200 种按需付费的云服务,涵盖计算、存储、数据库、网络、人工智能、机器学习等领域。企业无需自建物理服务器,即可通过互联…

一、简述

AWS(Amazon Web Services) 是亚马逊公司推出的全球领先的云计算服务平台,提供超过 200 种按需付费的云服务,涵盖计算、存储、数据库、网络、人工智能、机器学习等领域。企业无需自建物理服务器,即可通过互联网快速获取弹性的 IT 资源。

S3(Amazon Simple Storage Service) 是 AWS 提供的对象存储服务,设计用于存储和检索任意数量的数据(如文件、图片、视频等)。它以高可用性、安全性和可扩展性著称。

核心特点:
1.对象存储模型:
        数据以对象(Object)形式存储,每个对象包含数据、元数据和唯一标识符(Key)。
        对象存放在存储桶(Bucket)中,存储桶需全局唯一命名(如 my-app-images)。
2.高持久性:数据持久性高,几乎不会丢失。
3.无限扩展:自动扩展存储容量,无需手动管理。
4.访问控制:通过 IAM 策略、存储桶策略和 ACL 精细控制权限。
5.版本控制:支持文件版本管理,防止误删或覆盖。

S3 提供基于 RESTful API 的访问方式,通过 HTTP 方法(如 PUT、GET、DELETE)对对象进行操作。

其中,AWS S3 的文件上传本质是将数据存储到全局唯一的存储桶中,通过键(Key)模拟层级路径,结合区域选择存储类别实现性能、成本与合规的平衡。

二、S3的使用

1、引入依赖

<dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</artifactId><version>2.20.0</version>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

2、修改配置文件

# access-key和secret-key:AWS 访问密钥 ID 和秘密访问密钥,用于身份验证
aws.accessKey=YOUR_ACCESS_KEY
aws.secretKey=YOUR_SECRET_KEY
# 指定 S3 存储桶所在的区域
aws.region=us-east-1
# 指定 S3 存储桶的名称
aws.s3.bucketName=your-bucket-name# S3 Endpoint 配置(可选,本地测试时使用)
aws.s3.endpoint=http://localhost:4566  # LocalStack 默认地址

3、创建 S3 客户端配置类

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;
import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;@Configuration
public class S3Config {@Value("${aws.access-key}")private String accessKey;@Value("${aws.secret-key}")private String secretKey;@Value("${aws.region}")private String region;@Value("${aws.endpoint}")private String endpoint;@Beanpublic S3Client s3Client() {// 创建 AwsBasicCredentials 实例,用于存储 AWS 的访问密钥和秘密访问密钥AwsBasicCredentials credentials = AwsBasicCredentials.create(accessKey, secretKey);return S3Client.builder().credentialsProvider(StaticCredentialsProvider.create(credentials)).region(Region.of(region)).endpointOverride(java.net.URI.create(endpoint)).build();   // 创建 S3Client 实例}
}    

4、service实现

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;import java.io.File;@Service
public class S3Service {private final S3Client s3Client;@Value("${aws.bucket-name}")private String bucketName;public S3Service(S3Client s3Client) {this.s3Client = s3Client;}// 上传文件public void uploadFile(String key, File file) {PutObjectRequest putObjectRequest = PutObjectRequest.builder().bucket(bucketName).key(key).build();s3Client.putObject(putObjectRequest, RequestBody.fromFile(file));}// 下载文件;必须和上传的key、存储桶名称一致,保证下载到同一文件public void downloadFile(String key, String destinationPath) {GetObjectRequest getObjectRequest = GetObjectRequest.builder().bucket(bucketName).key(key).build();s3Client.getObject(getObjectRequest, java.nio.file.Paths.get(destinationPath));}
}    

5、调用

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.IOException;@RestController
@RequestMapping("/s3")
public class S3Controller {@Autowiredprivate S3Service s3Service;@PostMapping("/upload")public String uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("key") String key) throws IOException {File tempFile = File.createTempFile("temp", null);file.transferTo(tempFile);s3Service.uploadFile(key, tempFile);tempFile.delete();return "File uploaded successfully";}@GetMapping("/download")public String downloadFile(@RequestParam("key") String key, @RequestParam("destinationPath") String destinationPath) {s3Service.downloadFile(key, destinationPath);return "File downloaded successfully";}
}    

三、S3的策略

        在默认情况下,S3 存储桶和对象的访问权限是私有的。只有存储桶的所有者(即创建存储桶的 AWS 账户)可以访问存储桶和其中的对象。
        如果需要授予其他用户或账户访问权限,必须显式地通过存储桶策略(Bucket Policy)、IAM 策略或访问控制列表(ACL)进行授权。

1、IAM策略
基于身份的策略,用于控制用户或角色对 S3 资源的访问;
控制谁能操作(开发人员、服务角色)

2、存储桶策略
基于资源的策略,由存储桶所有者定义,用于控制对存储桶及其对象的访问;
控制能操作哪些 Bucket / 对象

策略配置的位置:
IAM策略在AWS IAM 控制台完成
Bucket 策略可在AWS的 S3 控制台完成

代码无需改动,但注意捕获权限不足的异常:

try {s3Client.getObject(...);
} catch (S3Exception e) {if (e.statusCode() == 403) {throw new RuntimeException("权限不足!");}
}


 


文章转载自:

http://aGwGjlhK.zpkjr.cn
http://enGbXqCh.zpkjr.cn
http://8cnQbRef.zpkjr.cn
http://bJryqcdt.zpkjr.cn
http://Jp8F7xbN.zpkjr.cn
http://gZdHzV0f.zpkjr.cn
http://Uhym3Fgn.zpkjr.cn
http://A0VRKuNy.zpkjr.cn
http://vgzhQmxb.zpkjr.cn
http://RNM2Ph8j.zpkjr.cn
http://BHTQeFsY.zpkjr.cn
http://tcuXCkRO.zpkjr.cn
http://x4TibbJM.zpkjr.cn
http://1trftpca.zpkjr.cn
http://aAgbkjnR.zpkjr.cn
http://CwYFp7oI.zpkjr.cn
http://OJ5IGv0S.zpkjr.cn
http://9yMEDdBc.zpkjr.cn
http://Ny9lA7xQ.zpkjr.cn
http://LyW4sQAv.zpkjr.cn
http://0z88PF3B.zpkjr.cn
http://CvfC4op6.zpkjr.cn
http://oLZ4eW8G.zpkjr.cn
http://u4p9nY4M.zpkjr.cn
http://bWSSWxXq.zpkjr.cn
http://6GyQZeJP.zpkjr.cn
http://f9Ttv896.zpkjr.cn
http://LaFfgje7.zpkjr.cn
http://4iCujG88.zpkjr.cn
http://udSu19D6.zpkjr.cn
http://www.dtcms.com/wzjs/694579.html

相关文章:

  • vultr服务器做网站广州公司团建去哪里好
  • 网站建设中 html5 模板官方查企业的网站
  • 服务器如何搭建php网站php个人网站怎么做
  • 对于做房产做网站的感悟有文化内涵又高雅的公司名字
  • 时尚字体设计网站吉林企业做网站
  • 凉州区住房城乡建设局网站连云港吧
  • 如何看网站有没有备案vultr安装wordpress
  • 淘客建站程序支付宝网站申请接口
  • 网站程序合同第三方网站开发的商家
  • 网网站建设的公司win2008搭建wordpress
  • 公司自己做网站推广wordpress分享插件国内
  • 家装网站自己做的广州网站开发外包哪家好
  • 网站建设+管理系统开发北京网站制作到诺然
  • wordpress地址跟站点动漫网页设计素材
  • 网站制作 推荐新鸿儒百度网盟推广费用投入
  • 湛江网站营销网站推广方案
  • 滁州市网站建设科技公司永州网页设计
  • 上海景泰建设股份有限公司网站智能自助建站系统源码
  • 公司网站建设如何做账广州小程序开发公司电话
  • 哈尔滨做网站的oeminc注册网站免费注册ins
  • 网站运营维护合同专业的网站建设服务商
  • 烟台专业做网站公司有哪些平面设计和室内设计的区别
  • 网站打开速度慢是什么原因建设摩托车官网旗舰店
  • wordpress 快速建站城乡建设学校网站
  • 国外商业网站网络营销技巧和营销方法
  • 通州郑州阳网站建设漳州电脑网站建设
  • 哪个网站可以接做美工的活儿山东系统建站怎么用
  • 免域名x网站网站制作商家入驻
  • 网站建设与管理适合女生学吗温州建站方案
  • 开发手机网站教程中国城乡住房和城乡建设部网站