第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Amazon SDK Java v2 S3Client listObjects 拋出

Amazon SDK Java v2 S3Client listObjects 拋出

慕慕森 2023-06-08 19:10:24
我已經使用名稱保存了AWS S3模仿文件夾結構的文件。sample.jpeg例如文件夾下的文件ABC將被命名為ABC/sample.jpeg我正在嘗試使用 Java SDK v2 以編程方式刪除這些文件夾。我正在嘗試使用列出這些文件prefix。例如,在上面的示例中,我試圖列出ABC存儲桶中所有具有前綴的文件。ListObjectsRequest有問題的是,如果沒有這個前綴,SDK 會很好地列出文件,但是我在下面的代碼中顯示的前綴,它會拋出s3Exception. 異常本身有一個awsErrorDetails屬性,它有一個sdkHttpResponse包裝statusCode:302和statusText:"Moved Temporarily"這是我正在使用的代碼片段:    ListObjectsRequest listObjectsRequest = ListObjectsRequest.builder()            .bucket(this.bucketName)            .prefix(path)            .build();    List<ObjectIdentifier> objectIds = s3client.listObjects(listObjectsRequest)            .contents()            .stream()            .map(s3Object -> ObjectIdentifier.builder().key(s3Object.key()).build())            .collect(toList());以下是我的依賴項pom.xml:      <properties>           <aws-sdk.version>2.7.22</aws-sdk.version>      </properties>    ...        <!-- Amazon Web Services -->        <dependency>            <groupId>software.amazon.awssdk</groupId>            <artifactId>s3</artifactId>            <version>${aws-sdk.version}</version>        </dependency>        <dependency>            <groupId>software.amazon.awssdk</groupId>            <artifactId>auth</artifactId>            <version>${aws-sdk.version}</version>        </dependency>
查看完整描述

4 回答

?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

問題在于 aws 對org.apache.httpcomponents:httpclient.


所需的最低版本httpclient是4.5.9. 如果你在你的項目pom中降級那個版本,那么就會出現這個問題。


要檢查您正在運行的版本,請嘗試:


mvn dependency:tree

找出httpclient版本。這是我的樣子:


[INFO] |  +- software.amazon.awssdk:apache-client:jar:2.8.4:runtime

[INFO] |  |  +- org.apache.httpcomponents:httpclient:jar:4.5.10:runtime

[INFO] |  |  |  \- commons-codec:commons-codec:jar:1.11:runtime

[INFO] |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.12:runtime

解決方案:

如果您通過使用任何 bom 或依賴管理來降級版本(在我的例子中spring-boot-starter-parent:2.1.5.RELEASE導致了這種情況發(fā)生),那么只需將其添加到您的 pom & 它應該可以工作:


<dependency>

    <groupId>org.apache.httpcomponents</groupId>

    <artifactId>httpclient</artifactId>

    <version>4.5.9</version>

</dependency>


查看完整回答
反對 回復 2023-06-08
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

將以下依賴項添加到 pom 文件將解決此問題。

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.9</version>
</dependency>


查看完整回答
反對 回復 2023-06-08
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

我已經在我的機器上運行了您的代碼(使用相同的 AWS SDK 版本),但我無法重現異常。


查看完整回答
反對 回復 2023-06-08
?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

您是否可以比較實例s3client(舊版本和有問題的新版本 AWS SDK for Java)。請分享。

可能需要調試和檢查??赡軆烧咧g的默認值可能不同。例如,如果默認區(qū)域不同,您將無法使用新的 SDK 獲得以前保存的對象而無需更改。

此外,由于您正在遷移到主要修訂版,因此您很可能會在以后發(fā)現更多問題。

查看完整回答
反對 回復 2023-06-08
  • 4 回答
  • 0 關注
  • 344 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號