国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

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

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

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

在這里插入圖片描述

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

本文同步于個人公眾號:【云計算洞察

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

本系列已更新博文:

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

文章目錄

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

一、前言

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

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

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

二、所需 Maven 依賴

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

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

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

三、先決必要的幾個條件信息

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

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

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

首先,我們需要創(chuàng)建一個客戶端連接來訪問 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 存儲桶操作

5.1. 創(chuàng)建桶

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

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

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

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

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)建存儲桶之前,我們必須使用doesBucketExist()方法檢查存儲桶名稱是否可用。如果名稱可用,那么我們將構(gòu)建一個CreateBucketRequest 并提供存儲桶名稱。最后一步是將bucketRequest傳遞給 S3Client 的CreateBucketRequest createBucketRequestcreateBucket

5.2. 列出桶

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

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)境中存在的所有存儲桶:

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

5.3. 刪除桶

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

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

另請注意,只有存儲桶的所有者才能刪除它,無論其權(quá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 對象操作

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

6.1. 上傳對象

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

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

6.2. 列出對象

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

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 存儲桶中的對象,我們需要創(chuàng)建一個ListObjectsV2Request實例并指定存儲桶名稱。然后,我們在 s3Client 對象上調(diào)用 listObjectsV2方法,并將請求作為參數(shù)傳遞。此方法返回一個ListObjectsV2Response,其中包含有關(guān)存儲桶中對象的信息。

6.3. 下載對象

要下載對象,我們首先創(chuàng)建一個GetObjectRequest實例并將存儲桶名稱和密鑰作為輸入?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ù)制、重命名和移動對象

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

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

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

6.5. 刪除對象

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

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

6.6. 刪除多個對象

要一次刪除多個對象,我們首先創(chuàng)建DeleteObjectsRequest對象并傳遞存儲桶。然后我們將傳遞一個包含所有要刪除的對象鍵的 ArrayList。

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

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é)

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

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

相關(guān)文章:

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