D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples de code pour CloudWatch l'utilisation AWS SDKs
Les exemples de code suivants vous montrent comment utiliser Amazon CloudWatch avec un kit de développement AWS logiciel (SDK).
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés et dans des exemples interservices.
Les Scénarios sont des exemples de code qui vous montrent comment accomplir une tâche spécifique en appelant plusieurs fonctions au sein d’un même service.
Les Exemples de services croisés sont des exemples d’applications fonctionnant sur plusieurs AWS services.
Ressources supplémentaires
Mise en route
Les exemples de code suivants montrent comment commencer à utiliser 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
-
- SDKpour 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
-
- SDKpour 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}")
}
}
}