Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Belajar menggunakan contoh AWS Health API dengan Java
Contoh kode Java berikut menunjukkan cara menginisialisasi AWS Health klien dan mengambil informasi tentang peristiwa dan entitas.
Langkah 1: Inisialisasi kredensial
Kredensi yang valid diperlukan untuk berkomunikasi dengan. AWS Health API Anda dapat menggunakan key pair dari setiap IAM pengguna yang terkait dengan AWS akun tersebut.
Membuat dan menginisialisasi sebuah AWSCredentialsinstance:
AWSCredentials credentials = null; try { credentials = new ProfileCredentialsProvider("default").getCredentials(); } catch (Exception e) { throw new AmazonClientException( "Cannot load the credentials from the credential profiles file. " + "Please make sure that your credentials file is at the correct " + "location (/home/username/.aws/credentials), and is in valid format.", e); }
Langkah 2: Inisialisasi klien AWS Health API
Menggunakan objek kredensial diinisialisasi dari langkah sebelumnya untuk membuat klien AWS Health :
import com.amazonaws.services.health.AWSHealthClient; AWSHealth awsHealthClient = new AWSHealthClient(credentials);
Langkah 3: Gunakan AWS Health API operasi untuk mendapatkan informasi acara
DescribeEvents
import com.amazonaws.services.health.model.DescribeEventsRequest; import com.amazonaws.services.health.model.DescribeEventsResult; import com.amazonaws.services.health.model.Event; import com.amazonaws.services.health.model.EventFilter; DescribeEventsRequest request = new DescribeEventsRequest(); EventFilter filter = new EventFilter(); // Filter on any field from the supported AWS Health EventFilter model. // Here is an example for Region us-east-1 events from the EC2 service. filter.setServices(singletonList("EC2")); filter.setRegions(singletonList("us-east-1")); request.setFilter(filter); DescribeEventsResult response = awsHealthClient.describeEvents(request); List<Event> resultEvents = response.getEvents(); Event currentEvent = null; for (Event event : resultEvents) { // Display result event data; here is a subset. System.out.println(event.getArn()); System.out.println(event.getService()); System.out.println(event.getRegion()); System.out.println(event.getAvailabilityZone()); System.out.println(event.getStartTime()); System.out.println(event.getEndTime()); }
DescribeEventAggregates
import com.amazonaws.services.health.model.DescribeEventAggregatesRequest; import com.amazonaws.services.health.model.DescribeEventAggregatesResult; import com.amazonaws.services.health.model.EventAggregate; import com.amazonaws.services.health.model.EventFilter; DescribeEventAggregatesRequest request = new DescribeEventAggregatesRequest(); // set the aggregation field request.setAggregateField("eventTypeCategory"); // filter more on result if needed EventFilter filter = new EventFilter(); filter.setRegions(singleton("us-east-1")); request.setFilter(filter); DescribeEventAggregatesResult response = awsHealthClient.describeEventAggregates(request); // print event count for each eventTypeCategory for (EventAggregate aggregate: response.getEventAggregates()) { System.out.println("Event Category:" + aggregate.getAggregateValue()); System.out.println("Event Count:" + aggregate.getCount()); }
DescribeEventDetails
import com.amazonaws.services.health.model.DescribeEventDetailsRequest; import com.amazonaws.services.health.model.DescribeEventDetailsResult; import com.amazonaws.services.health.model.Event; import com.amazonaws.services.health.model.EventDetails; DescribeEventDetailsRequest describeEventDetailsRequest = new DescribeEventDetailsRequest(); // set event ARN and local value describeEventDetailsRequest.setEventArns(singletonList("arn:aws:health:us-east-1::event/
service
/eventTypeCode
/eventId
")); describeEventDetailsRequest.setLocale("en-US"); filter.setEventArns DescribeEventDetailsResult describeEventDetailsResult = awsHealthClient.describeEventDetails(request); EventDetails eventDetail = describeEventDetailsResult.getSuccessfulSet().get(0); // check event-related fields Event event = eventDetail.getEvent(); System.out.println(event.getService()); System.out.println(event.getRegion()); System.out.println(event.getAvailabilityZone()); System.out.println(event.getStartTime()); System.out.println(event.getEndTime()); // print out event description System.out.println(eventDetail.getEventDescription().getLatestDescription());
DescribeAffectedEntities
import com.amazonaws.services.health.model.AffectedEntity; import com.amazonaws.services.health.model.DateTimeRange; import com.amazonaws.services.health.model.DescribeAffectedEntitiesRequest; import com.amdescribeEventDetailsRequestazonaws.services.health.model.DescribeAffectedEntitiesResult; DescribeAffectedEntitiesRequest request = new DescribeAffectedEntitiesRequest(); EntityFilter filter = new EntityFilter(); filter.setEventArns(singletonList("arn:aws:health:us-east-1::event/
service
/eventTypeCode
/eventId
")); DescribeAffectedEntitiesResult response = awsHealthClient.describeAffectedEntities(request); for (AffectedEntity affectedEntity: response.getEntities()) { System.out.println(affectedEntity.getEntityValue()); System.out.println(affectedEntity.getAwsAccountId()); System.out.println(affectedEntity.getEntityArn()); }
DescribeEntityAggregates
import com.amazonaws.services.health.model.DescribeEntityAggregatesRequest; import com.amazonaws.services.health.model.DescribeEntityAggregatesResult; import com.amazonaws.services.health.model.EntityAggregate; DescribeEntityAggregatesRequest request = new DescribeEntityAggregatesRequest(); request.setEventArns(singletonList("arn:aws:health:us-east-1::event/
service
/eventTypeCode
/eventId
")); DescribeEntityAggregatesResult response = awsHealthClient.describeEntityAggregates(request); for (EntityAggregate entityAggregate : response.getEntityAggregates()) { System.out.println(entityAggregate.getEventArn()); System.out.println(entityAggregate.getCount()); }