中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

一個(gè)域名權(quán)重3如果做網(wǎng)站的話權(quán)重會(huì)降為0嗎百度熱度榜搜索趨勢(shì)

一個(gè)域名權(quán)重3如果做網(wǎng)站的話權(quán)重會(huì)降為0嗎,百度熱度榜搜索趨勢(shì),價(jià)格低的宣傳語(yǔ),旅游網(wǎng)站的首頁(yè)怎么做本文收錄于【#云計(jì)算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。 本文同步于個(gè)人公眾號(hào):【云計(jì)算洞察】 更多關(guān)于云計(jì)算技術(shù)內(nèi)容敬請(qǐng)關(guān)注:CSDN【#云計(jì)算入門與實(shí)踐 - AWS】專欄。 本系列已更新博文: [ 云計(jì)算 | …

在這里插入圖片描述

本文收錄于【#云計(jì)算入門與實(shí)踐 - AWS】專欄中,收錄 AWS 入門與實(shí)踐相關(guān)博文。

本文同步于個(gè)人公眾號(hào):【云計(jì)算洞察

更多關(guān)于云計(jì)算技術(shù)內(nèi)容敬請(qǐng)關(guān)注:CSDN【#云計(jì)算入門與實(shí)踐 - AWS】專欄。

本系列已更新博文:

  • [ 云計(jì)算 | AWS 實(shí)踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲(chǔ)桶和對(duì)象操作完全指南
  • [ 云計(jì)算 | AWS 實(shí)踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾
  • [ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 列出存儲(chǔ)桶中的所有 AWS S3 對(duì)象
  • [ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對(duì)象
  • [ 云計(jì)算 | AWS 實(shí)踐 ] 基于 Amazon S3 協(xié)議搭建個(gè)人云存儲(chǔ)服務(wù)
  • [ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 檢查指定的密鑰是否存在于給定的 Amazon S3 存儲(chǔ)桶中

文章目錄

    • 一、前言
    • 二、所需 Maven 依賴
    • 三、先決必要的幾個(gè)條件信息
    • 四、創(chuàng)建客戶端連接
    • 五、Amazon S3 存儲(chǔ)桶操作
      • 5.1. 創(chuàng)建桶
      • 5.2. 列出桶
      • 5.3. 刪除桶
    • 六、Amazon S3 對(duì)象操作
      • 6.1. 上傳對(duì)象
      • 6.2. 列出對(duì)象
      • 6.3. 下載對(duì)象
      • 6.4. 復(fù)制、重命名和移動(dòng)對(duì)象
      • 6.5. 刪除對(duì)象
      • 6.6. 刪除多個(gè)對(duì)象
    • 七、文末總結(jié)

一、前言

在本文中,我們將探索如何利用 Java 編程與 Amazon S3(即簡(jiǎn)單存儲(chǔ)服務(wù))存儲(chǔ)系統(tǒng)進(jìn)行互動(dòng)。

需要牢記,S3 的結(jié)構(gòu)異常簡(jiǎn)單:每個(gè)存儲(chǔ)桶能夠容納大量的對(duì)象,這些對(duì)象可以通過(guò) SOAP 接口或 REST 風(fēng)格的 API 進(jìn)行訪問(wèn)。

接下來(lái),我們將使用適用于Java的AWS開發(fā)工具包來(lái)實(shí)現(xiàn)S3存儲(chǔ)桶的創(chuàng)建、列舉以及刪除。同時(shí),我們還將學(xué)會(huì)如何上傳、列舉、下載、復(fù)制、移動(dòng)、重命名以及刪除這些存儲(chǔ)桶內(nèi)的各個(gè)對(duì)象。

二、所需 Maven 依賴

在開始之前,我們需要在項(xiàng)目中聲明 AWS SDK 依賴項(xiàng):

<dependency><groupId>software.amazon.awssdk</groupId><artifactId>s3</artifactId><version>2.20.52</version>
</dependency>

要查看最新版本,我們可以檢查 Maven Central,或者其他的國(guó)內(nèi) Maven 倉(cāng)庫(kù)。

三、先決必要的幾個(gè)條件信息

要使用AWS SDK,我們需要一些東西:

  1. AWS 帳戶:我們需要一個(gè) Amazon Web Services 帳戶。如果我們沒(méi)有,我們可以直接在 AWS 控制臺(tái)創(chuàng)建一個(gè)帳戶。
  2. AWS 安全憑證:這些是我們的訪問(wèn)密鑰,允許我們以編程方式調(diào)用 AWS API 操作。我們可以通過(guò)兩種方式獲取這些憑證:使用“安全憑證”頁(yè)面的訪問(wèn)密鑰部分中的 AWS 根賬戶憑證,或者使用IAM控制臺(tái)中的 IAM 用戶憑證。
  3. 選擇 AWS 區(qū)域(Region):我們還必須選擇要存儲(chǔ) Amazon S3 數(shù)據(jù)的 AWS 區(qū)域。請(qǐng)記住,S3 存儲(chǔ)價(jià)格因地區(qū)而異。有關(guān)更多詳細(xì)信息,請(qǐng)參閱官方文檔。

四、創(chuàng)建客戶端連接

首先,我們需要?jiǎng)?chuàng)建一個(gè)客戶端連接來(lái)訪問(wèn) Amazon S3 Web 服務(wù)。為此,我們將使用 Amazon S3 接口:

AWSCredentials credentials = new BasicAWSCredentials("<AWS accesskey>", "<AWS secretkey>"
);

然后我們將配置客戶端:

AmazonS3 s3client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials)).withRegion(Regions.US_EAST_2).build();

五、Amazon S3 存儲(chǔ)桶操作

5.1. 創(chuàng)建桶

需要注意的是,存儲(chǔ)桶命名空間是由系統(tǒng)的所有用戶共享的。因此,我們的存儲(chǔ)桶名稱在 Amazon S3 中的所有現(xiàn)有存儲(chǔ)桶名稱中必須是唯一的(稍后我們將了解如何檢查這一點(diǎn))。

另外,根據(jù)官方文檔規(guī)定,Bucket 名稱必須符合以下要求:

  • 名稱不應(yīng)包含下劃線
  • 名稱長(zhǎng)度應(yīng)介于 3 到 63 個(gè)字符之間
  • 名稱不應(yīng)以破折號(hào)結(jié)尾
  • 名稱不能包含相鄰的句點(diǎn)
  • 名稱后面不能包含破折號(hào)(例如,“my-.bucket.com”和“my.-bucket”無(wú)效)
  • 名稱不能包含大寫字符

現(xiàn)在讓我們創(chuàng)建一個(gè)存儲(chǔ)桶:

String bucketName = "baeldung-bucket";if(s3client.doesBucketExist(bucketName)) {LOG.info("Bucket name is not available."+ " Try again with a different Bucket name.");return;
}
CreateBucketRequest bucketRequest = CreateBucketRequest.builder().bucket(bucketName).build();s3Client.createBucket(bucketRequest);

在創(chuàng)建存儲(chǔ)桶之前,我們必須使用doesBucketExist()方法檢查存儲(chǔ)桶名稱是否可用。如果名稱可用,那么我們將構(gòu)建一個(gè)CreateBucketRequest 并提供存儲(chǔ)桶名稱。最后一步是將bucketRequest傳遞給 S3Client 的CreateBucketRequest createBucketRequestcreateBucket。

5.2. 列出桶

現(xiàn)在我們已經(jīng)創(chuàng)建了一些存儲(chǔ)桶,讓我們使用listBuckets ()方法打印 S3 環(huán)境中可用的所有存儲(chǔ)桶的列表。此方法將返回一個(gè)ListBucketsResponse, 其中包含有關(guān)存儲(chǔ)桶的信息。

ListBucketsResponse listBucketsResponse = s3Client.listBuckets();// Display the bucket names
List<Bucket> buckets = listBucketsResponse.buckets();
System.out.println("Buckets:");
for (Bucket bucket : buckets) {System.out.println(bucket.name());
}

這將列出 S3 環(huán)境中存在的所有存儲(chǔ)桶:

baeldung-bucket
baeldung-bucket-test2
elasticbeanstalk-us-east-2

5.3. 刪除桶

在刪除存儲(chǔ)桶之前,確保存儲(chǔ)桶是空的非常重要。 否則,將會(huì)拋出異常。

首先,我們需要構(gòu)建一個(gè)DeleBucketRequest實(shí)例并向其傳遞存儲(chǔ)桶名稱。然后,我們調(diào)用 s3Client 對(duì)象上的deleteBucket方法,并將請(qǐng)求作為參數(shù)傳遞。

另請(qǐng)注意,只有存儲(chǔ)桶的所有者才能刪除它,無(wú)論其權(quán)限如何(訪問(wèn)控制策略):

try {DeleteBucketRequest deleteBucketRequest = DeleteBucketRequest.builder().bucket(bucketName).build();s3Client.deleteBucket(deleteBucketRequest);System.out.println("Successfully deleted bucket : " + bucketName);
} catch (S3Exception e) {System.err.println(e.getMessage());System.exit(1);
}

六、Amazon S3 對(duì)象操作

Amazon S3 存儲(chǔ)桶內(nèi)的文件或數(shù)據(jù)集合稱為對(duì)象。我們可以對(duì)對(duì)象執(zhí)行多種操作,例如上傳、列出、下載、復(fù)制、移動(dòng)、重命名和刪除。

6.1. 上傳對(duì)象

上傳對(duì)象是一個(gè)非常簡(jiǎn)單的過(guò)程。首先,我們將構(gòu)建一個(gè)PutObjectRequest實(shí)例,指定存儲(chǔ)桶名稱和密鑰。然后,我們將該請(qǐng)求和包含數(shù)據(jù)的文件的路徑傳遞給 s3Client 的putObject方法:

PutObjectRequest request = PutObjectRequest.builder().bucket(bucketName).key(key).build();return s3Client.putObject(request, Path.of(file.toURI()) );

6.2. 列出對(duì)象

我們將使用listObjects()方法列出 S3 存儲(chǔ)桶中的所有可用對(duì)象:

ListObjectsV2Request listObjectsV2Request = ListObjectsV2Request.builder().bucket(bucketName).build();
ListObjectsV2Response listObjectsV2Response = s3Client.listObjectsV2(listObjectsV2Request);List<S3Object> contents = listObjectsV2Response.contents();System.out.println("Number of objects in the bucket: " + contents.stream().count());
contents.stream().forEach(System.out::println);

要列出 AWS S3 存儲(chǔ)桶中的對(duì)象,我們需要?jiǎng)?chuàng)建一個(gè)ListObjectsV2Request實(shí)例并指定存儲(chǔ)桶名稱。然后,我們?cè)?s3Client 對(duì)象上調(diào)用 listObjectsV2方法,并將請(qǐng)求作為參數(shù)傳遞。此方法返回一個(gè)ListObjectsV2Response,其中包含有關(guān)存儲(chǔ)桶中對(duì)象的信息。

6.3. 下載對(duì)象

要下載對(duì)象,我們首先創(chuàng)建一個(gè)GetObjectRequest實(shí)例并將存儲(chǔ)桶名稱和密鑰作為輸入?yún)?shù)傳遞給它。然后,我們將其提供給 getObjectAsBytes()方法并獲取響應(yīng)。一旦我們得到響應(yīng),我們就可以提取字節(jié)數(shù)組。最后一步是處理字節(jié)數(shù)組:

GetObjectRequest objectRequest = GetObjectRequest.builder().bucket(bucketName).key(objectKey).build();ResponseBytes<GetObjectResponse> responseResponseBytes = s3Client.getObjectAsBytes(objectRequest);byte[] data = responseResponseBytes.asByteArray();// Write the data to a local file.
java.io.File myFile = new java.io.File("/Users/user/Desktop/hello.txt" );
OutputStream os = new FileOutputStream(myFile);
os.write(data);
System.out.println("Successfully obtained bytes from an S3 object");
os.close();

6.4. 復(fù)制、重命名和移動(dòng)對(duì)象

我們可以通過(guò)調(diào)用 s3client 上的copyObject()方法來(lái)復(fù)制對(duì)象,該方法接受CopyObjectRequest實(shí)例。因此,CopyObjectRequest接受四個(gè)參數(shù):

  1. 源存儲(chǔ)桶名稱
  2. 源存儲(chǔ)桶中的對(duì)象鍵
  3. 目標(biāo)存儲(chǔ)桶名稱(可以與源存儲(chǔ)桶名稱相同)
  4. 目標(biāo)存儲(chǔ)桶中的對(duì)象鍵
CopyObjectRequest copyObjectRequest = CopyObjectRequest.builder().sourceBucket(sourceBucketName).sourceKey(sourceKey).destinationBucket(destinationBucketName).destinationKey(destinationKey).build();return s3Client.copyObject(copyObjectRequest);

注意:我們可以結(jié)合使用copyObject()方法和deleteObject()來(lái)執(zhí)行移動(dòng)和重命名任務(wù)。這將涉及首先復(fù)制對(duì)象,然后將其從舊位置刪除。

6.5. 刪除對(duì)象

要?jiǎng)h除對(duì)象,我們將在s3client上調(diào)用deleteObject()方法并傳遞DeleteObjectRequest實(shí)例。為了創(chuàng)建DeleteObjectRequest實(shí)例,我們需要傳遞要?jiǎng)h除的對(duì)象的鍵和存儲(chǔ)桶名稱:

DeleteObjectRequest deleteObjectRequest = DeleteObjectRequest.builder().bucket(bucketName).key(objectKey).build();s3Client.deleteObject(deleteObjectRequest);

6.6. 刪除多個(gè)對(duì)象

要一次刪除多個(gè)對(duì)象,我們首先創(chuàng)建DeleteObjectsRequest對(duì)象并傳遞存儲(chǔ)桶。然后我們將傳遞一個(gè)包含所有要?jiǎng)h除的對(duì)象鍵的 ArrayList。

一旦我們有了這個(gè)DeleteObjectsRequest對(duì)象,我們就可以將它作為參數(shù)傳遞給我們的 s3client 的deleteObjects()方法。如果成功,它將刪除我們提供的所有對(duì)象:

ArrayList<ObjectIdentifier> toDelete = new ArrayList<>();
for(String objKey : keys) {toDelete.add(ObjectIdentifier.builder().key(objKey).build());
}DeleteObjectsRequest deleteObjectRequest = DeleteObjectsRequest.builder().bucket(bucketName).delete(Delete.builder().objects(toDelete).build()).build();s3Client.deleteObjects(deleteObjectRequest);

七、文末總結(jié)

在本文中,我們重點(diǎn)介紹了在存儲(chǔ)桶級(jí)別和對(duì)象級(jí)別與 Amazon S3 Web 服務(wù)交互的基礎(chǔ)知識(shí)。重點(diǎn)在 Java 應(yīng)用中使用 Amazon S3(Simple Storage Service)進(jìn)行存儲(chǔ)桶和對(duì)象操作的方法、詳細(xì)說(shuō)明了如何進(jìn)行存儲(chǔ)桶操作,包括創(chuàng)建桶和列出桶。在對(duì)象操作部分,我們涵蓋了上傳、列出和下載對(duì)象的過(guò)程,還介紹了復(fù)制、重命名、移動(dòng)對(duì)象以及刪除對(duì)象的方法。此外,我們還提供了刪除多個(gè)對(duì)象的操作步驟。通過(guò)本文,小伙伴們可以了解如何通過(guò) Java 代碼有效地與 Amazon S3 進(jìn)行交互,實(shí)現(xiàn)對(duì)存儲(chǔ)桶和對(duì)象的各種操作。

[ 本文作者 ]   bluetata
[ 原文鏈接 ]   https://bluetata.blog.csdn.net/article/details/132531011
[ 最后更新 ]   11/19/2023 23:45
[ 版權(quán)聲明 ]   如果您在非 CSDN 網(wǎng)站內(nèi)看到這一行,
說(shuō)明網(wǎng)絡(luò)爬蟲可能在本人還沒(méi)有完整發(fā)布的時(shí)候就抓走了我的文章,
可能導(dǎo)致內(nèi)容不完整,請(qǐng)去上述的原文鏈接查看原文。
http://www.risenshineclean.com/news/29247.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)平臺(tái)策劃電腦優(yōu)化是什么意思
  • 陜西省建設(shè)銀行網(wǎng)站6seo如何優(yōu)化
  • ppt歡迎頁(yè)面模板網(wǎng)絡(luò)營(yíng)銷中的seo與sem
  • 不在百度做推廣他會(huì)把你的網(wǎng)站排名弄掉怎么可以讓百度快速收錄視頻
  • 昆明網(wǎng)站建設(shè)-中國(guó)互聯(lián)精準(zhǔn)客戶數(shù)據(jù)采集軟件
  • 小學(xué)網(wǎng)站源碼php個(gè)人在線做網(wǎng)站免費(fèi)
  • 做網(wǎng)站話掙錢嗎google下載官網(wǎng)
  • 武平縣網(wǎng)站建設(shè)搜索引擎競(jìng)價(jià)廣告
  • seo優(yōu)化價(jià)格seo1搬到哪里去了
  • 樂(lè)清網(wǎng)站設(shè)計(jì)公司哪家好百度 營(yíng)銷中心
  • 哈爾濱自助建站模板網(wǎng)站推廣軟件
  • 萊蕪金點(diǎn)子信息港最新招聘信息港南寧seo優(yōu)化公司
  • 山東濟(jì)南網(wǎng)站建設(shè)公司深圳公司網(wǎng)絡(luò)推廣該怎么做
  • 酒類網(wǎng)站建設(shè)方案百度推廣客戶端手機(jī)版
  • 網(wǎng)站推廣計(jì)劃怎么寫青島 google seo
  • 唐山網(wǎng)站建設(shè)哪家優(yōu)惠2000元代理微信朋友圈廣告
  • 單頁(yè)面網(wǎng)站制作視頻線上推廣方案怎么寫
  • 投訴做網(wǎng)站的電話長(zhǎng)沙seo 優(yōu)化選智投未來(lái)no1
  • 網(wǎng)站建設(shè)與管理課程代碼寧波seo關(guān)鍵詞優(yōu)化方法
  • 安化建設(shè)局網(wǎng)站微信營(yíng)銷策略有哪些
  • 知名電子商務(wù)網(wǎng)站英雄聯(lián)盟世界排名
  • 帶視頻的網(wǎng)站模板免費(fèi)數(shù)據(jù)分析網(wǎng)站
  • 安全達(dá)標(biāo)建設(shè)網(wǎng)站鄭州計(jì)算機(jī)培訓(xùn)機(jī)構(gòu)哪個(gè)最好
  • 燕郊建設(shè)局網(wǎng)站建網(wǎng)站專業(yè)
  • 展示型網(wǎng)站舉例seo專員崗位職責(zé)
  • 專業(yè)建站是什么百度2019舊版本下載
  • 前端seo主要優(yōu)化哪些seo優(yōu)化是什么
  • 如何做網(wǎng)站微信支付鄭州百度快照優(yōu)化
  • 電子商務(wù)系統(tǒng) 網(wǎng)站建設(shè)百度教育會(huì)員
  • 開源網(wǎng)站github最近一周國(guó)內(nèi)熱點(diǎn)新聞