Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de código para usar CloudWatch AWS SDKs
Los siguientes ejemplos de código muestran cómo utilizar Amazon CloudWatch con un kit de desarrollo de AWS software (SDK).
Los conceptos básicos son ejemplos de código que muestran cómo realizar las operaciones esenciales dentro de un servicio.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
Los escenarios son ejemplos de código que muestran cómo llevar a cabo una tarea específica a través de llamadas a varias funciones dentro del servicio o combinado con otros Servicios de AWS.
Introducción
En los siguientes ejemplos de código se muestra cómo empezar a utilizar CloudWatch.
- .NET
-
- AWS SDK for .NET
-
using Amazon.CloudWatch;
using Amazon.CloudWatch.Model;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace CloudWatchActions;
public static class HelloCloudWatch
{
static async Task Main(string[] args)
{
// Use the AWS .NET Core Setup package to set up dependency injection for the Amazon CloudWatch service.
// Use your AWS profile name, or leave it blank to use the default profile.
using var host = Host.CreateDefaultBuilder(args)
.ConfigureServices((_, services) =>
services.AddAWSService<IAmazonCloudWatch>()
).Build();
// Now the client is available for injection.
var cloudWatchClient = host.Services.GetRequiredService<IAmazonCloudWatch>();
// You can use await and any of the async methods to get a response.
var metricNamespace = "AWS/Billing";
var response = await cloudWatchClient.ListMetricsAsync(new ListMetricsRequest
{
Namespace = metricNamespace
});
Console.WriteLine($"Hello Amazon CloudWatch! Following are some metrics available in the {metricNamespace} namespace:");
Console.WriteLine();
foreach (var metric in response.Metrics.Take(5))
{
Console.WriteLine($"\tMetric: {metric.MetricName}");
Console.WriteLine($"\tNamespace: {metric.Namespace}");
Console.WriteLine($"\tDimensions: {string.Join(", ", metric.Dimensions.Select(m => $"{m.Name}:{m.Value}"))}");
Console.WriteLine();
}
}
}
- Java
-
- SDKpara Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.cloudwatch.CloudWatchClient;
import software.amazon.awssdk.services.cloudwatch.model.CloudWatchException;
import software.amazon.awssdk.services.cloudwatch.model.ListMetricsRequest;
import software.amazon.awssdk.services.cloudwatch.paginators.ListMetricsIterable;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class HelloService {
public static void main(String[] args) {
final String usage = """
Usage:
<namespace>\s
Where:
namespace - The namespace to filter against (for example, AWS/EC2).\s
""";
if (args.length != 1) {
System.out.println(usage);
System.exit(1);
}
String namespace = args[0];
Region region = Region.US_EAST_1;
CloudWatchClient cw = CloudWatchClient.builder()
.region(region)
.build();
listMets(cw, namespace);
cw.close();
}
public static void listMets(CloudWatchClient cw, String namespace) {
try {
ListMetricsRequest request = ListMetricsRequest.builder()
.namespace(namespace)
.build();
ListMetricsIterable listRes = cw.listMetricsPaginator(request);
listRes.stream()
.flatMap(r -> r.metrics().stream())
.forEach(metrics -> System.out.println(" Retrieved metric is: " + metrics.metricName()));
} catch (CloudWatchException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- Kotlin
-
- SDKpara Kotlin
-
/**
Before running this Kotlin code example, set up your development environment,
including your credentials.
For more information, see the following documentation topic:
https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/setup.html
*/
suspend fun main(args: Array<String>) {
val usage = """
Usage:
<namespace>
Where:
namespace - The namespace to filter against (for example, AWS/EC2).
"""
if (args.size != 1) {
println(usage)
exitProcess(0)
}
val namespace = args[0]
listAllMets(namespace)
}
suspend fun listAllMets(namespaceVal: String?) {
val request =
ListMetricsRequest {
namespace = namespaceVal
}
CloudWatchClient { region = "us-east-1" }.use { cwClient ->
cwClient
.listMetricsPaginated(request)
.transform { it.metrics?.forEach { obj -> emit(obj) } }
.collect { obj ->
println("Name is ${obj.metricName}")
println("Namespace is ${obj.namespace}")
}
}
}