Android
1006. (Android/Java) 안드로이드 AWS DynamoDB 다이나모 DB 특정 테이블 전체 데이터 스캔 수행
투케이2K
2025. 7. 16. 21:47
728x90
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Java / Kotlin

[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : AWS / DynamoDB / NoSql
- 사전) AWS 의존성 부여 설정
// --------------------------------------------
// [Aws S3 연동 build.gradle 라이브러리 정의] : targetSdk 33 ~ 34
// --------------------------------------------
/**
* implementation 'com.amazonaws:aws-android-sdk-kms:2.57.0'
* 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'
* implementation 'com.amazonaws:aws-android-sdk-kinesisvideo:2.57.0'
* implementation 'com.amazonaws:aws-android-sdk-ddb:2.57.0'
* */
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
// ------------------------------------------------------------
// [변수 선언]
// ------------------------------------------------------------
String ACCESS_KEY = "AD .. PO";
String SECRET_KEY = "zI .. KI";
String REGION = "ap-northeast-2";
String TABLE_NAME = "TEST_TB";
int LIMIT = 10; // [최대 스캔 개수]
// ------------------------------------------------------------
// TODO [http 통신을 수행하므로 Thread 처리 수행]
// ------------------------------------------------------------
new Thread(){
@Override
public void run(){
// [AWS 자격 증명 설정]
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
// [AmazonDynamoDBClient 생성]
AmazonDynamoDBClient dynamoDBClient = new AmazonDynamoDBClient(credentials);
if (C_Util.stringNotNull(REGION) == true){ // TODO [리전 정보 설정]
//dynamoDBClient.setRegion(Region.getRegion("ap-northeast-1"));
dynamoDBClient.setRegion(Region.getRegion(REGION));
}
// [ScanRequest 생성]
ScanRequest scanRequest = new ScanRequest()
.withTableName(TABLE_NAME) // [DynamoDB 특정 테이블 명칭]
.withLimit(LIMIT); // [withLimit 출력 제한 개수]
// [로직 처리 수행]
try {
// TODO [dynamoDBClient ScanResult 응답 확인]
ScanResult result = dynamoDBClient.scan(scanRequest);
// TODO [ScanResult null 체크]
if (result != null){
List<Map<String, AttributeValue>> list = result.getItems();
if (list != null && list.size()>0){
for (int i=0; i<list.size(); i++){
Map<String, AttributeValue> item = list.get(i);
S_Log.w("KWON_TWOK", ">>>>>>>>>>>>>>>>>>>>>> ["+String.valueOf(item)+"] >>>>>>>>>>>>>>>>>>>>>>");
}
S_Log._W_(ACTIVITY_NAME + " :: getTableFullScan :: AWS 특정 테이블 데이터 전체 스캔 완료", new String[]{
"List Size :: " + String.valueOf(returnData.size()),
});
}
else {
S_Log._E_(ACTIVITY_NAME + " :: getTableFullScan :: AWS 특정 테이블 데이터 전체 스캔 완료", new String[]{
"List Size :: getItems List Is Null",
});
}
}
else {
S_Log._E_(ACTIVITY_NAME + " :: getTableFullScan :: AWS 특정 테이블 데이터 전체 스캔 실패", new String[]{"ScanResult Is Null"});
}
} catch (Exception es) {
es.printStackTrace();
}
}
}.start();
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[Aws NoSQL DynamoDB Service] Aws Dynamo DB 다이나모 디비 개념 및 설명 정리
https://blog.naver.com/kkh0977/223734725747?trackingCode=blog_bloghome_searchlist
[Aws NoSQL DynamoDB Service] AWS 콘솔에서 다이나모 데이터베이스 ( Dynamo DB ) 테이블에 저장 된 데이터 조회 방법
https://blog.naver.com/kkh0977/223933617765?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
728x90
반응형