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

[ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對象

這篇具有很好參考價(jià)值的文章主要介紹了[ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對象。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

[ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對象,# 云計(jì)算入門與實(shí)踐 - AWS,云計(jì)算,云平臺(tái),aws,java

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

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

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

本系列已更新博文:

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

一、前言

Amazon Simple Storage Service(Amazon S3)是一種廣泛使用的存儲(chǔ)服務(wù),提供了可擴(kuò)展、安全和持久的對象存儲(chǔ)功能。在某些情況下,我們需要更新已存在于 Amazon S3 中的對象。在 S3 中,對象是不可變的,這意味著我們不能直接修改對象的內(nèi)容。但是,我們可以通過覆蓋對象內(nèi)容的方式來有效地“更新”它。

本篇文章將介紹如何使用 AWS Java SDK,將位于同一 AWS S3 路徑下的現(xiàn)有文件內(nèi)容替換為新內(nèi)容。

二、前期準(zhǔn)備

2.1 導(dǎo)入Maven 依賴

首先,我們需要確保AWS SDK Maven依賴包已合并到項(xiàng)目中,讓我們創(chuàng)建一個(gè)新的 Java 項(xiàng)目并將以下 Maven 依賴項(xiàng)添加到 pom.xml 文件中:

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

2.1 準(zhǔn)備幾個(gè)必要信息

要使用AWS SDK,我們需要以下幾個(gè)要素:

AWS 帳戶:首先,需要一個(gè)Amazon Web Services(AWS)帳戶。如果尚未擁有,可直接在 AWS 控制臺(tái)創(chuàng)建。

AWS 安全憑證:這些安全憑證是我們訪問 AWS API 操作所需的訪問密鑰??赏ㄟ^兩種方式獲?。菏褂?AWS 根帳戶憑證中的“安全憑證”頁面,或在 IAM 控制臺(tái)中獲取 IAM 用戶憑證。

選擇AWS區(qū)域(Region):同時(shí)需要選擇一個(gè) AWS 區(qū)域來存儲(chǔ) Amazon S3 數(shù)據(jù)。需注意,S3 存儲(chǔ)價(jià)格因區(qū)域不同而異。詳細(xì)信息可參考官方文檔(點(diǎn)擊這里)。

三、更新 S3 對象的步驟

3.1.初始化 S3 客戶端

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

無論是你怎么寫,都要先初始化 S3 客戶端對象,之后在進(jìn)行操作即可,記住這個(gè)步驟。

AWSCredentials credentials = new BasicAWSCredentials(
        "AWS AccessKey",
        "AWS secretKey"
);

然后我們將配置客戶端:

AmazonS3 s3client = AmazonS3ClientBuilder.standard()
        .withRegion(Regions.fromName("us-east-1"))
        .withCredentials(new AWSStaticCredentialsProvider(credentials))
        .build();

3.2 將新對象上傳到 S3

現(xiàn)在我們可以使用 AWS Java SDK 在方法 putObject() 中將文件上傳到 S3 存儲(chǔ)桶:

PutObjectRequest request = PutObjectRequest.builder()
    .bucket(bucketName)
    .key(key)
    .build();

return s3Client.putObject(request, Path.of(file.toURI()));

下面是調(diào)用上述代碼的代碼片段:

s3Service.putObject(
    AWS_BUCKET,
    "Document/helloWord.txt",
    new File("/Users/bluetata/Document/helloWord.txt")
);

3.3 上傳(覆蓋)對象

由于 S3 中的對象是不可變的,因此“更新”對象涉及用新內(nèi)容覆蓋該對象。因此,為了更新,我們需要使用與添加文檔相同的參數(shù)集來調(diào)用相同的putObject()方法:

public PutObjectResponse updateObject(String bucketName, String key, java.io.File file) {
    return this.putObject(bucketName, key, file);
}

此代碼將用提供的新內(nèi)容替換現(xiàn)有對象。如果具有給定鍵的對象不存在,S3 將創(chuàng)建一個(gè)新對象。

3.4 驗(yàn)證更新

我們可能想要驗(yàn)證對象是否已成功更新。實(shí)現(xiàn)此目的的一種方法是檢索對象的元數(shù)據(jù)并檢查lastModified日期,或者計(jì)算對象的校驗(yàn)和并將其與預(yù)期值進(jìn)行比較。

HeadObjectRequest req = HeadObjectRequest.builder()
    .bucket(bucketName)
    .key(key)
    .build();

HeadObjectResponse response = s3Client.headObject(request);
System.out.println("Last Modified: " + response.lastModified());

四、注意事項(xiàng)(重要)

需要牢記的是,在 S3 中,覆蓋對象實(shí)際上是一次PUT操作,這可能會(huì)導(dǎo)致成本增加。在進(jìn)行 S3 操作時(shí),請時(shí)刻注意成本影響。

如果存儲(chǔ)桶啟用了版本控制,覆蓋對象不會(huì)刪除舊版本,而是會(huì)創(chuàng)建該對象的新版本。因此,我們會(huì)擁有對象的多個(gè)版本,每個(gè)版本都有獨(dú)特的 ID。在需要時(shí),我們可以檢索任何以前的版本。

最后,如果元數(shù)據(jù)與該對象關(guān)聯(lián),請注意覆蓋該對象將使用 PUT 操作期間提供的新元數(shù)據(jù)替換舊元數(shù)據(jù)。如果我們想保留舊的元數(shù)據(jù),我們必須在請求中顯式設(shè)置它。

五、文末總結(jié)

雖然我們不能直接修改 S3 對象的內(nèi)容,但是利用適用于 Java 的 AWS 開發(fā)工具包,可以輕松地用新內(nèi)容覆蓋對象。務(wù)必牢記的是:比如避免硬編碼憑據(jù)以及了解操作可能帶來的成本影響。通過這些步驟,我們能夠自信地使用 Java 對 S3 對象進(jìn)行管理和更新。

文末已經(jīng)更新了 4 篇關(guān)于在 AWS 中各種操作 S3 的博文,希望對你有所幫助,更多博文敬請關(guān)注本博客。文章來源地址http://www.zghlxwxcb.cn/news/detail-751926.html

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

到了這里,關(guān)于[ 云計(jì)算 | AWS 實(shí)踐 ] 使用 Java 更新現(xiàn)有 Amazon S3 對象的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • [ 云計(jì)算 | AWS 實(shí)踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾

    [ 云計(jì)算 | AWS 實(shí)踐 ] Java 如何重命名 Amazon S3 中的文件和文件夾

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

    2024年02月08日
    瀏覽(33)
  • [ 云計(jì)算 | AWS 實(shí)踐 ] 基于 Amazon S3 協(xié)議搭建個(gè)人云存儲(chǔ)服務(wù)

    [ 云計(jì)算 | AWS 實(shí)踐 ] 基于 Amazon S3 協(xié)議搭建個(gè)人云存儲(chǔ)服務(wù)

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

    2024年02月05日
    瀏覽(28)
  • Amazon S3 對象存儲(chǔ)Java API操作記錄(Minio與S3 SDK兩種實(shí)現(xiàn))

    Amazon S3 對象存儲(chǔ)Java API操作記錄(Minio與S3 SDK兩種實(shí)現(xiàn))

    今年(2023年) 2月的時(shí)候做了個(gè)適配Amazon S3對象存儲(chǔ)接口的需求,由于4月份自學(xué)考試臨近,一直在備考就拖著沒總結(jié)記錄下,開發(fā)聯(lián)調(diào)過程中也出現(xiàn)過一些奇葩的問題,最近人剛從考試緩過來順手記錄一下。 Amazon S3(Simple Storage Service)對象存儲(chǔ)出現(xiàn)得比較早且使用簡單的RESTful

    2024年02月01日
    瀏覽(22)
  • 使用Ceph對象存儲(chǔ)的Amazon S3接口(基于nautilus版本)

    Ceph是一個(gè)分布式存儲(chǔ)系統(tǒng),提供了多種數(shù)據(jù)存儲(chǔ)方式,包括對象存儲(chǔ)。Amazon S3是一個(gè)流行的對象存儲(chǔ)服務(wù),Ceph提供了Amazon S3接口的兼容性,使得Ceph可以作為一個(gè)云存儲(chǔ)解決方案。 分片上傳接口是Amazon S3接口中的一個(gè)重要功能,它允許將大文件拆分成小的分片上傳,降低了上

    2024年02月06日
    瀏覽(27)
  • AWS——04篇(AWS之Amazon S3(云中可擴(kuò)展存儲(chǔ))-02——EC2訪問S3存儲(chǔ)桶)

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

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

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

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

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

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

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

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

    2024年02月10日
    瀏覽(19)
  • Amazon S3 的 java sdk簡單使用

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

    2024年02月02日
    瀏覽(18)
  • 使用 Python 和 AWS Boto3 更新 Amazon ECS 服務(wù)的啟動(dòng)命令

    在使用 Amazon Elastic Container Service (ECS) 部署容器化應(yīng)用程序時(shí),有時(shí)需要更新服務(wù)的啟動(dòng)命令。例如,您可能需要更改應(yīng)用程序連接的數(shù)據(jù)庫地址或其他配置參數(shù)。在本文中,我們將介紹如何使用 Python 和 AWS Boto3 庫編寫一個(gè)腳本,自動(dòng)遍歷 ECS 集群中的所有服務(wù),并更新它們的任務(wù)定

    2024年03月26日
    瀏覽(69)
  • Amazon s3 sdk for java2.x 最新api的簡單使用

    Amazon s3 sdk for java2.x 最新api的簡單使用

    目錄 創(chuàng)建存儲(chǔ)桶 登錄亞馬遜控制臺(tái) 查找服務(wù)“S3” 進(jìn)入存儲(chǔ)桶創(chuàng)建頁面; 點(diǎn)擊 “創(chuàng)建存儲(chǔ)桶”進(jìn)入創(chuàng)建頁面; 獲取密鑰ID和密鑰 點(diǎn)擊右上方賬戶信息在下拉菜單中選擇 “安全憑證”(Security credentials)進(jìn)入我的安全憑證頁面; 下滑找到 “訪問密鑰”標(biāo)簽 ?點(diǎn)擊右側(cè)? “

    2024年02月20日
    瀏覽(14)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包