View a markdown version of this page

Temukan aplikasi menggunakan klien AWS SDK untuk Java 1.x - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Temukan aplikasi menggunakan klien AWS SDK untuk Java 1.x

Sebelum bermigrasi ke AWS SDK for Java 2.x, Anda perlu mengidentifikasi aplikasi mana di lingkungan Anda yang menggunakan SDK for Java 1.x klien. Anda dapat menggunakan CloudTrail log untuk melacak penggunaan SDK, mencari log aplikasi untuk peringatan penghentian, memeriksa kode sumber dan membangun konfigurasi, atau memeriksa artefak Java yang dapat diterapkan. Gunakan metode apa pun yang tersedia di lingkungan Anda.

Gunakan CloudTrail Lake untuk menemukan aplikasi dengan klien 1.x

AWS CloudTrail Lake memungkinkan Anda menanyakan peristiwa yang direkam oleh CloudTrail. Ikuti langkah-langkah berikut untuk membuat data lake yang mengidentifikasi versi SDK yang digunakan oleh aplikasi Anda:

  1. Buat danau CloudTrail data. Lihat Panduan pengguna untuk membuat penyimpanan data acara.

  2. Setelah Anda membuat penyimpanan data, periksa isi catatan. Badan rekaman berisi bidang yang menentukan tindakan, waktu, dan lokasi yang diminta. Untuk detailnya, lihat Panduan pengguna untuk konten CloudTrail rekaman.

  3. Jalankan kueri terhadap data Anda. Ikuti Panduan Pengguna untuk menanyakan dan menyimpan hasil kueri.

Bidang UserAgent di setiap record berisi versi SDK yang membuat permintaan. Gunakan bidang ini untuk mengidentifikasi aplikasi yang menggunakan SDK for Java 1.x.

Contoh kueri berikut menemukan semua permintaan dari aplikasi pengguna dan alat pihak ketiga yang dibuat dengan SDK for Java 1.x mulai 17 Juni 2025, untuk ID: EventDatastore sample-Data-Store-Id

select userIdentity, eventSource, awsRegion, eventName, eventType, eventTime, userAgent, requestParameters, sourceIPAddress from sample-Data-Store-Id where eventTime > '2025-06-17 00:00:00' and userAgent like '%aws-sdk-java/1.%' and userAgent not like '%aws-internal/%' order by eventTime desc

Contoh konten acara dalam hasil kueri terlihat seperti ini:

{ "userIdentity": "{ "type": "IAMUser", "principalId": "AIDAJ45Q7YFFAREXAMPLE", "arn": "arn:aws:iam::123456789012:user/Alice", "accountId": "123456789012", "accessKeyId": "", "userName": "Alice" }", "eventSource": "dynamodb.amazonaws.com", "awsRegion": "us-west-2", "eventName": "ListTables", "eventType": "AwsApiCall", "eventTime": "2025-07-01 02:23:52.000", "userAgent": "aws-sdk-java/1.12.746 Linux/5.10.240 OpenJDK/11.0.25+9-LTS ...", "requestParameters": "", "sourceIPAddress": "12.345.6.78" }

Anda dapat menggunakan informasi ini untuk membantu menentukan kapan dan di mana permintaan dibuat.

Dalam contoh, permintaan ListTables DynamoDB dibuat 2025-07-01 02:23:52 (UTC) di dari 12.345.6.78 Alamat IP dengan kredensi pengguna IAM bernama Alice. Nilai bidang UserAgent menunjukkan bahwa permintaan dibuat menggunakan AWS SDK untuk Java versi 1.12.746 dari sistem Linux dengan JDK 11.

Untuk deskripsi bidang dalam catatan AWS CloudTrail peristiwa, lihat konten CloudTrail rekaman untuk peristiwa manajemen, data, dan aktivitas jaringan.

Jika tidak CloudTrail diaktifkan di akun Anda, hubungi administrator AWS akun organisasi Anda untuk mengaktifkannya, atau gunakan salah satu metode alternatif yang dijelaskan di bagian berikut.

CloudTrail Danau mengenakan biaya untuk data yang dicerna dan data yang dipindai per kueri. Untuk meminimalkan biaya, filter kueri ke rentang waktu dan wilayah tertentu. Untuk harga saat ini, lihat AWS CloudTrail Harga.

Cari log tingkat peringatan aplikasi untuk penghentian SDK

Dimulai dengan versi 1.12.767 (dirilis pada 30 Juli 2024), AWS SDK untuk Java 1.x memancarkan peringatan penghentian saat startup aplikasi. Anda dapat mencari log aplikasi Anda untuk peringatan ini untuk mengidentifikasi aplikasi dan host mana yang menggunakan SDK for Java 1.x.

Kata-kata yang tepat dari peringatan tergantung pada versi SDK:

  • Versi 1.12.767 melalui 1.12.796:

    WARNING: The AWS SDK for Java 1.x entered maintenance mode starting July 31, 2024 and will reach end of support on December 31, 2025...

  • Versi 1.12.797 dan lebih tinggi:

    WARNING: The AWS SDK for Java 1.x reached end of support on December 31, 2025...

Trailing ... menunjukkan bahwa pesan peringatan berlanjut dengan teks tambahan. Anda dapat mencari awalan umum The AWS SDK for Java 1.x untuk menemukan salah satu versi peringatan.

Contoh berikut menunjukkan pencarian peringatan ini menggunakangrep:

grep -r "The AWS SDK for Java 1.x" /path/to/your/application/logs/

Jika peringatan ditemukan, grep perintah mencetak baris log yang cocok. Jika tidak ada peringatan yang ditemukan, aplikasi Anda tidak menggunakan SDK for Java 1.x, atau menggunakan versi lebih awal dari 1.12.767. Dalam hal ini, gunakan salah satu metode lain yang dijelaskan dalam dokumen ini.

Cari kode sumber dan dependensi

Anda dapat mencari basis kode dan membangun file konfigurasi untuk referensi ke AWS SDK untuk Java 1.x. Pengidentifikasi kunci adalah ID com.amazonaws grup, yang digunakan oleh semua artefak SDK for Java 1.x.

Contoh berikut menunjukkan penggunaan grep untuk mencari com.amazonaws referensi di seluruh file proyek Java umum.

Contoh: Cari file sumber Java untuk SDK for Java 1.x impor (dijalankan dari direktori root proyek)

grep -r "import com.amazonaws" --include="*.java" .

Contoh output:

src/main/java/com/example/App.java:import com.amazonaws.services.s3.AmazonS3;
catatan

com.amazonawsPaket ini juga digunakan oleh pustaka yang bukan bagian dari SDK for Java 1.x, seperti. aws-lambda-java-core Untuk mengonfirmasi impor berasal dari SDK for Java 1.x, periksa apakah ID artefak yang sesuai di konfigurasi manajemenbuild.gradle,, atau dependensi pom.xml Anda dimulai dengan. aws-java-sdk-

Contoh: Cari pom.xml file Maven untuk SDK for Java 1.x dependensi (dijalankan dari direktori root proyek)

grep -r "com.amazonaws" --include="pom.xml" .

Contoh output:

pom.xml: <groupId>com.amazonaws</groupId>

Contoh: Cari file build Gradle untuk dependensi SDK for Java 1.x (dijalankan dari direktori root proyek)

grep -r "com.amazonaws:aws-java-sdk" --include="*.gradle" .

Contoh output:

build.gradle: implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'

grepPerintah sebelumnya mengidentifikasi referensi SDK for Java 1.x yang dideklarasikan langsung di file sumber dan build Anda. Namun, aplikasi Anda mungkin juga bergantung pada SDK for Java 1.x secara transitif — melalui pustaka pihak ketiga yang bergantung pada SDK. Gunakan pohon dependensi alat build Anda untuk menemukan dependensi SDK for Java 1.x langsung dan transitif. Pilih contoh yang cocok dengan sistem build Anda.

Contoh: Gunakan Maven untuk menemukan semua transitif SDK for Java 1.x dependensi (dijalankan dari direktori root proyek)

mvn dependency:tree -Dincludes=com.amazonaws

Contoh output:

[INFO] com.example:my-application:jar:1.0-SNAPSHOT [INFO] +- com.amazonaws:aws-java-sdk-s3:jar:1.12.746:compile [INFO] | \- com.amazonaws:aws-java-sdk-core:jar:1.12.746:compile [INFO] \- some.thirdparty:library:jar:2.3.1:compile [INFO] \- com.amazonaws:aws-java-sdk-dynamodb:jar:1.12.600:compile

-Dincludes=com.amazonawsBendera memfilter pohon untuk hanya menampilkan artefak SDK for Java 1.x. Dalam contoh ini, aws-java-sdk-s3 adalah ketergantungan langsung, tetapi aws-java-sdk-dynamodb merupakan ketergantungan transitif yang dibawa oleh. some.thirdparty:library

Contoh: Gunakan Gradle untuk menemukan semua dependensi SDK for Java 1.x (dijalankan dari direktori root proyek)

gradle dependencies --configuration runtimeClasspath | grep "com.amazonaws"

Contoh output:

+--- com.amazonaws:aws-java-sdk-s3:1.12.746 | \--- com.amazonaws:aws-java-sdk-core:1.12.746 \--- com.amazonaws:aws-java-sdk-dynamodb:1.12.600

Gradle tidak memiliki filter ketergantungan bawaan yang setara dengan Maven-Dincludes, jadi pemipaan grep adalah pendekatan yang paling sederhana.

Periksa artefak Java yang dapat digunakan

Anda dapat memeriksa artefak Java yang dapat di-deploy (JARs, WARs, atau EARs) untuk mengonfirmasi apakah AWS SDK untuk Java 1.x dikemas dengan aplikasi Anda. File arsip Java adalah file format ZIP. Untuk menentukan apakah SDK for Java 1.x hadir, cari com/amazonaws/sdk/versionInfo.properties file di dalam arsip. File ini disertakan dalam aws-java-sdk-core modul dan berisi nomor versi SDK.

Periksa cepat dengan jar perintah

Untuk uber-jar di mana semua kelas dependensi digabungkan di tingkat atas, cantumkan konten arsip dan cari file versi:

Dalam contoh berikut, ganti myapp.jar dengan path ke file JAR aplikasi Anda.

jar -tf myapp.jar | grep 'versionInfo.properties'

Jika SDK hadir, outputnya adalah:

com/amazonaws/sdk/versionInfo.properties

Jika jar perintah tidak tersedia di lingkungan Anda (misalnya, JRE-only atau gambar kontainer minimal), Anda dapat menggunakan unzip -l sebagai gantinya:

unzip -l myapp.jar | grep 'versionInfo.properties'

Untuk mencetak versi:

unzip -p myapp.jar com/amazonaws/sdk/versionInfo.properties

Contoh output:

platform=java version=1.12.xxx
catatan

Perintah sebelumnya hanya mencari entri tingkat atas di uber-jar. Mereka tidak akan menemukan kelas SDK dalam bentuk tipis JARs (di mana dependensi bersifat eksternal) atau di dalam bersarang JARs (seperti yang ada di WARs,, EARs atau paket Lambda di bawah atau). lib/ WEB-INF/lib/ Untuk thin JARs, periksa konfigurasi build (pom.xml,build.gradle) atau pohon dependensi sebagai gantinya. Untuk bersarang JARs, cari yang dibundel JARs menggunakan alat yang dapat membaca arsip ZIP secara rekursif tanpa mengekstraksi ke disk.