Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.
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 CloudWatch usar los AWS SDK
Los siguientes ejemplos de código muestran cómo utilizar Amazon CloudWatch con un kit de desarrollo de AWS software (SDK).
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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados y en los ejemplos entre servicios.
Los escenarios son ejemplos de código que muestran cómo llevar a cabo una tarea específica llamando a varias funciones dentro del mismo servicio.
Introducción
En los siguientes ejemplos de código se muestra cómo empezar a utilizar AWS Support.
- .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
-
- SDK para 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
-
- SDK para 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}")
}
}
}