国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[ 云計算 | AWS 實踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾

這篇具有很好參考價值的文章主要介紹了[ 云計算 | AWS 實踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

[ 云計算 | AWS 實踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾,# 云計算入門與實踐 - AWS,# 云計算解決方案與架構(gòu)(FY23H2~FY24),云計算,aws,云平臺,java

本文收錄于【#云計算入門與實踐 - 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 存儲桶中

一、概述

在本博文中,我們將探討 如何使用 Java 重命名 Amazon S3 存儲桶中的對象(文件或文件夾)。

Amazon Simple Storage Service (Amazon S3)是一種流行的云存儲服務(wù)。它允許用戶在云中存儲和檢索具有高持久性、可用性和可擴展性的數(shù)據(jù)。我們將在接下來的章節(jié)中使用適用于 Java 的 AWS 開發(fā)工具包與其進(jìn)行交互。

二、前提條件

要重命名 S3 存儲桶中的對象,我們可以利用 AWS SDK for Java 提供的S3Client類。

2.1 配置 Maven 依賴項

首先,我們需要 在項目的pom.xml中聲明 AWS S3 SDK 依賴項:

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

2.2 配置 AWS 憑證

我們還需要設(shè)置一個 AWS 賬戶,安裝 AWS CLI ,并使用我們的 AWS 憑證(AWS_ACCESS_KEY_IDAWS_SECERET_ACCESS_KEY)對其進(jìn)行配置,以便能夠以編程方式訪問 AWS 資源。我們可以在 AWS 文檔中找到完成此操作的所有步驟 。

我們使用構(gòu)建器設(shè)計模式創(chuàng)建客戶端。這是一個創(chuàng)建設(shè)計模式(關(guān)于設(shè)計模式后續(xù)可能會更新博文,這里挖個坑先),它將幫助我們創(chuàng)建這些復(fù)雜的對象。在我們的示例中,我們將在US_EAST_1區(qū)域創(chuàng)建存儲桶。如果我們想要更改我們的首選區(qū)域,我們可以在官方文檔(點擊這里)中找到所有區(qū)域。

三、使用復(fù)制和刪除重命名對象

目前,使用 SDK 重命名對象的唯一方法是復(fù)制具有不同名稱的對象,然后刪除原始對象。我們還將在本節(jié)中舉例說明這一點,解釋每個步驟。

3.1 復(fù)制 S3 對象

在此步驟中,我們將使用上一點中創(chuàng)建的客戶端來調(diào)用 AWS API。

首先,我們將為請求定義參數(shù)。假設(shè)我們有一個名為baeldung-s3-bucket的存儲桶和一個名為simpleCSVFile.csv的 CSV 文件。我們想要將文件重命名為renamedFile.csv。讓我們首先概述復(fù)制請求的參數(shù):

String bucketName = "baeldung-s3-bucket";
String keyName = "simpleCSVFile.csv";
String destinationKeyName = "renamedFile.csv";

定義參數(shù)后,我們可以構(gòu)造將發(fā)送到 AWS API 的CopyObjectRequest

CopyObjectRequest copyObjRequest = CopyObjectRequest.builder()
  .sourceBucket(bucketName)
  .sourceKey(keyName)
  .destinationBucket(destinationKeyName)
  .destinationKey(bucketName)
  .build();

現(xiàn)在我們可以使用AmazonS3客戶端和請求復(fù)制對象 :

s3Client.copyObject(copyRequest);

如果我們在此停止并運行代碼,我們將看到現(xiàn)在有兩個文件,一個具有新的所需名稱,另一個具有原始名稱。

3.2 刪除 S3 對象

我們還需要在復(fù)制后刪除原始對象以完成重命名過程。我們將使用上一點中的參數(shù)定義 DeleteObjectRequest

DeleteObjectRequest deleteRequest = DeleteObjectRequest.builder()
  .bucket(bucketName)
  .key(keyName)
  .build();

我們將再次調(diào)用 S3 客戶端來刪除原始對象:

s3Client.deleteObject(deleteRequest);

四、重命名文件夾

上一點的方法僅適用于重命名簡單對象。但是當(dāng)我們必須重命名文件夾時,情況就會發(fā)生一些變化。重命名 Amazon S3 中的整個文件夾涉及迭代該文件夾中的所有對象并單獨重命名每個對象

4.1 列出源文件夾中的所有對象

讓我們首先列出給定文件夾中的所有對象:

ListObjectsV2Request listRequest = ListObjectsV2Request.builder()
  .bucket(bucketName)
  .prefix(sourceFolderKey)
  .build();

ListObjectsV2Response listResponse = s3Client.listObjectsV2(listRequest);
List<S3Object> objects = listResponse.contents();

我們使用存儲桶名稱和前綴初始化 ListObjectsV2Request 。文件夾中的對象實際上是所有以各自文件夾名稱為鍵前綴的對象。

4.2 重命名文件夾中的所有對象鍵

現(xiàn)在我們有了列出文件夾中所有對象的代碼,我們所要做的就是將它們?nèi)繌?fù)制到新目標(biāo)并刪除原始對象:

for (S3Object s3Object : objects) {
    String newKey = destinationFolderKey + s3Object.key().substring(sourceFolderKey.length());

    // Copy object to destination folder
    CopyObjectRequest copyRequest = CopyObjectRequest.builder()
      .sourceBucket(bucketName)
      .sourceKey(s3Object.key())
      .destinationBucket(bucketName)
      .destinationKey(newKey)
      .build();
    s3Client.copyObject(copyRequest);

    // Delete object from source folder
    DeleteObjectRequest deleteRequest = DeleteObjectRequest.builder()
      .bucket(bucketName)
      .key(s3Object.key())
      .build();
    s3Client.deleteObject(deleteRequest);
}

我們首先遍歷對象列表,對于每一項,我們將通過用所需的新名稱替換文件夾的舊名稱來生成一個新密鑰。獲得新密鑰后,我們所要做的就是將對象復(fù)制到新目的地并刪除原始對象。

文末總結(jié)

在本文中,我們探討了使用適用于 Java 的 AWS 開發(fā)工具包重命名 S3 存儲桶中的文件和文件夾的方法。我們探索了兩種不同的情況,它們使用相同的概念來重命名對象,用新名稱復(fù)制它們并刪除原始名稱。希望對你有所幫助。文章來源地址http://www.zghlxwxcb.cn/news/detail-713171.html

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

到了這里,關(guān)于[ 云計算 | AWS 實踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • [ 云計算 | AWS 實踐 ] 使用 Java 列出存儲桶中的所有 AWS S3 對象

    [ 云計算 | AWS 實踐 ] 使用 Java 列出存儲桶中的所有 AWS S3 對象

    本文收錄于【#云計算入門與實踐 - AWS】專欄中,收錄 AWS 入門與實踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月06日
    瀏覽(21)
  • [ 云計算 | AWS ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶和對象操作完全指南

    [ 云計算 | AWS ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶和對象操作完全指南

    本文收錄于【#云計算入門與實踐 - AWS】專欄中,收錄 AWS 入門與實踐相關(guān)博文。 本文同步于個人公眾號:【 云計算洞察 】 更多關(guān)于云計算技術(shù)內(nèi)容敬請關(guān)注:CSDN【#云計算入門與實踐 - AWS】專欄。 本系列已更新博文: [ 云計算 | AWS 實踐 ] Java 應(yīng)用中使用 Amazon S3 進(jìn)行存儲桶

    2024年02月11日
    瀏覽(47)
  • AWS——04篇(AWS之Amazon S3(云中可擴展存儲)-02——EC2訪問S3存儲桶)

    AWS——04篇(AWS之Amazon S3(云中可擴展存儲)-02——EC2訪問S3存儲桶)

    關(guān)于AWS的前幾篇入門文章,如下: AWS——01篇(AWS入門 以及 AWS之EC2實例及簡單使用). AWS——02篇(AWS之服務(wù)存儲EFS在Amazon EC2上的掛載——針對EC2進(jìn)行托管文件存儲). AWS——03篇(AWS之Amazon S3(云中可擴展存儲)-01入門). 我這里使用的都是前面創(chuàng)建好的,關(guān)于怎么創(chuàng)建,請

    2024年02月13日
    瀏覽(30)
  • AWS——03篇(AWS之Amazon S3(云中可擴展存儲)-01入門)

    AWS——03篇(AWS之Amazon S3(云中可擴展存儲)-01入門)

    關(guān)于AWS的其他入門,如下: AWS——01篇(AWS入門 以及 AWS之EC2實例及簡單使用). AWS——02篇(AWS之服務(wù)存儲EFS在Amazon EC2上的掛載——針對EC2進(jìn)行托管文件存儲). 2.1.1 簡述 Amazon S3:從任意位置存儲和檢索任意數(shù)量的數(shù)據(jù) Amazon S3 是一項對象存儲服務(wù),可提供業(yè)界領(lǐng)先的可擴展

    2024年02月14日
    瀏覽(35)
  • 【AWS】實操-保護(hù) Amazon S3 VPC 終端節(jié)點通信

    【AWS】實操-保護(hù) Amazon S3 VPC 終端節(jié)點通信

    數(shù)據(jù)安全至關(guān)重要。Amazon Web Services (AWS) 提供了多種解決方案和最佳實踐來幫助保護(hù)數(shù)據(jù)的安全。了解如何做出最佳決策來保護(hù)數(shù)據(jù)的安全,這項任務(wù)可能具有挑戰(zhàn)性。 在無路由指向互聯(lián)網(wǎng)的私有子網(wǎng)中運行應(yīng)用程序,可將攻擊面限制為僅限內(nèi)部流量,從而實現(xiàn)數(shù)據(jù)安全。

    2024年02月10日
    瀏覽(19)
  • Java AWS S3 文件上傳實現(xiàn)

    Java AWS S3 文件上傳實現(xiàn)

    Amazon S3(Simple Storage Service)是亞馬遜云計算平臺提供的一種對象存儲服務(wù),可以用于存儲和檢索任意類型的數(shù)據(jù)。在Java開發(fā)中,我們可以通過AWS SDK for Java來實現(xiàn)與Amazon S3的集成。 官方文檔 https://docs.aws.amazon.com/zh_cn/sdk-for-java/v1/developer-guide/examples-s3.html 1. 配置maven依賴 2. 配置

    2024年02月21日
    瀏覽(18)
  • 基于java的 aws s3文件上傳

    aws s3 文件上傳代碼 首先,確保您已經(jīng)在AWS上創(chuàng)建了一個S3存儲桶,并擁有相應(yīng)的訪問密鑰和密鑰ID。這些憑據(jù)將用于在Java代碼中進(jìn)行身份驗證。 接下來,需要在Java項目中添加AWS SDK的依賴??梢允褂肕aven或Gradle進(jìn)行依賴管理。以下是一個Maven的示例依賴項: 示例代碼: 在上述

    2024年01月17日
    瀏覽(17)
  • Amazon S3 的 java sdk簡單使用

    在開發(fā)過程中基本都需要使用到對象存儲技術(shù)。 對于一些國內(nèi)的項目來說,可以使用阿里云,七牛云,京東云等開發(fā)平臺進(jìn)行開發(fā)對接存儲對象。 而對于海外的項目,可能現(xiàn)有的國內(nèi)技術(shù)無法使用,這時候就遇到了amazon這個平臺了。在此只整理了其對接以及對象存儲和驗簽

    2024年02月02日
    瀏覽(18)
  • AWS第一個云計算服務(wù)—S3

    AWS第一個云計算服務(wù)—S3

    傳統(tǒng)方式處理靜態(tài)內(nèi)容(圖片、視頻、CSS、純HTML頁面等)是將其放到磁盤里,隨著訪問量增大,磁盤壓力就會增大,磁盤壓力大可能就會壞掉,所以我們需要一個 海量、高并發(fā)、可靠的存儲 ,這就是 AWS提供的第一個云計算服務(wù)——S3 。 S3(Simple Storage Service)是一個存儲服

    2024年02月11日
    瀏覽(25)
  • Filebeat ? Logstash 將日志文件輸出到 Elasticsearch 或 Amazon S3

    filebeat是什么 Filebeat 是一個開源的輕量級日志數(shù)據(jù)收集器,由 Elastic 公司開發(fā)。它主要用于實時收集、解析和傳輸日志數(shù)據(jù),將日志數(shù)據(jù)從不同的源頭(如文件、日志文件、系統(tǒng)日志等)傳輸?shù)侥繕?biāo)位置(如 Elasticsearch、Logstash 等),以便進(jìn)行存儲、分析和監(jiān)控。 Filebeat 的主

    2024年02月11日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包