투케이2K

957. (Android/Java) [간단 소스] Aws S3 버킷 저장소 리스트 목록 확인 - AmazonS3 listBuckets 본문

Android

957. (Android/Java) [간단 소스] Aws S3 버킷 저장소 리스트 목록 확인 - AmazonS3 listBuckets

투케이2K 2025. 3. 15. 19:03

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java / Kotlin

 

[소스 코드]

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 언어 : Java / Kotlin

- 개발 툴 : AndroidStudio

- 기술 구분 : Aws / S3 / Bucket / listBuckets

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[사전) 필요 설정 정리] : build.gradle 의존성 부여
// --------------------------------------------------------------------------------------

// [AWS] : [target 31 이상 의존성]
implementation 'com.amazonaws:aws-android-sdk-s3:2.57.0'
implementation 'com.amazonaws:aws-android-sdk-iot:2.57.0'
implementation 'com.amazonaws:aws-android-sdk-mobile-client:2.57.0'


// [AWS] : [target 31 미만 의존성]
implementation 'com.amazonaws:aws-android-sdk-s3:2.16.13'
implementation 'com.amazonaws:aws-android-sdk-iot:2.16.13'
implementation 'com.amazonaws:aws-android-sdk-mobile-client:2.16.13'

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[Java : 소스 코드]
// --------------------------------------------------------------------------------------

public Observable<ArrayList<String>> getS3BucketList() {
    S_Log._D_(ACTIVITY_NAME + " :: getS3BucketList :: S3 버킷 리스트 조회 수행", null);

    // [리턴 변수 선언]
    ArrayList<String> returnData = new ArrayList<>();

    return Observable.create(subscriber -> {

        try {

            if (s3Client != null){

                new Thread(() -> {

                    List<Bucket> bucketList = s3Client.listBuckets(); // [버킷 리스트 가져오기]

                    if (bucketList != null && bucketList.size()>0){

                        for (int i=0; i<bucketList.size(); i++){

                            Bucket bucket = bucketList.get(i);

                            // [List Add Bucket]
                            //returnData.add(String.valueOf(bucket.toString()));

                            // [List Add Name]
                            returnData.add(String.valueOf(bucket.getName()));
                        }

                        S_Log._W_(ACTIVITY_NAME + " :: getS3BucketList :: S3 버킷 리스트 조회 완료", new String[]{"listBuckets size :: " + String.valueOf(returnData.size())});

                        if (subscriber != null && subscriber.isDisposed() == false){
                            subscriber.onNext(returnData);
                            subscriber.onComplete();
                        }

                    }
                    else {
                        S_Log._E_(ACTIVITY_NAME + " :: getS3BucketList :: S3 버킷 리스트 조회 완료", new String[]{"listBuckets size :: bucket list size 0 (zero)"});

                        if (subscriber != null && subscriber.isDisposed() == false){
                            subscriber.onNext(returnData);
                            subscriber.onComplete();
                        }
                    }

                }).start();

            }
            else {
                S_Log._E_(ACTIVITY_NAME + " :: getS3BucketList :: S3 버킷 리스트 조회 에러", new String[]{"Error :: s3Client is null"});

                if (subscriber != null && subscriber.isDisposed() == false){
                    subscriber.onError(new Throwable("[Error] : s3Client is null"));
                    subscriber.onComplete();
                }

            }

        } catch (final Exception e){
            S_Log._printStackTrace_(null, S_FinalData.LOG_BUG_STATE, null, e);

            try {
                if (subscriber != null && subscriber.isDisposed() == false){
                    subscriber.onError(new Throwable("[Exception] : " + String.valueOf(e.getMessage())));
                    subscriber.onComplete();
                }
            }
            catch (Exception ex){
                ex.printStackTrace();
            }
        }

    });
}

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[S3 (Amazon Simple Storage Service) 버킷 저장소 개념 및 설명 정리]

https://blog.naver.com/kkh0977/223733087281?trackingCode=blog_bloghome_searchlist


[S3 (Amazon Simple Storage Service) 버킷 저장소에 파일 업로드 방법]

https://blog.naver.com/kkh0977/223733106182?trackingCode=blog_bloghome_searchlist

// --------------------------------------------------------------------------------------
 
 



반응형
Comments