AWS SDK Version 4 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

The CreateScraper operation creates a scraper to collect metrics. A scraper pulls metrics from Prometheus-compatible sources and sends them to your Amazon Managed Service for Prometheus workspace. You can configure scrapers to collect metrics from Amazon EKS clusters, Amazon MSK clusters, or from VPC-based sources that support DNS-based service discovery. Scrapers are flexible, and can be configured to control what metrics are collected, the frequency of collection, what transformations are applied to the metrics, and more.

An IAM role will be created for you that Amazon Managed Service for Prometheus uses to access the metrics in your source. You must configure this role with a policy that allows it to scrape metrics from your source. For Amazon EKS sources, see Configuring your Amazon EKS cluster in the Amazon Managed Service for Prometheus User Guide.

The scrapeConfiguration parameter contains the base-64 encoded YAML configuration for the scraper.

When creating a scraper, the service creates a Network Interface in each Availability Zone that are passed into CreateScraper through subnets. These network interfaces are used to connect to your source within the VPC for scraping metrics.

For more information about collectors, including what metrics are collected, and how to configure the scraper, see Using an Amazon Web Services managed collector in the Amazon Managed Service for Prometheus User Guide.

Note:

For .NET Core this operation is only available in asynchronous form. Please refer to CreateScraperAsync.

Namespace: Amazon.PrometheusService
Assembly: AWSSDK.PrometheusService.dll
Version: 3.x.y.z

Syntax

C#
public abstract CreateScraperResponse CreateScraper(
         CreateScraperRequest request
)

Parameters

request
Type: Amazon.PrometheusService.Model.CreateScraperRequest

Container for the necessary parameters to execute the CreateScraper service method.

Return Value


The response from the CreateScraper service method, as returned by PrometheusService.

Exceptions

ExceptionCondition
AccessDeniedException You do not have sufficient access to perform this action.
ConflictException The request would cause an inconsistent state.
InternalServerException An unexpected error occurred during the processing of the request.
ResourceNotFoundException The request references a resources that doesn't exist.
ServiceQuotaExceededException Completing the request would cause a service quota to be exceeded.
ThrottlingException The request was denied due to request throttling.
ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.

Examples

CreateScraper with optional alias input, optional clientToken input, and one set of tags


var client = new AmazonPrometheusServiceClient();
var response = client.CreateScraper(new CreateScraperRequest 
{
    Alias = "alias",
    ClientToken = "token",
    Destination = new Destination { AmpConfiguration = new AmpConfiguration { WorkspaceArn = "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" } },
    ScrapeConfiguration = new ScrapeConfiguration { ConfigurationBlob = new MemoryStream(blob) },
    Source = new Source { EksConfiguration = new EksConfiguration {
        ClusterArn = "arn:aws:eks:us-west-2:123456789012:cluster/example",
        SecurityGroupIds = new List<string> {
            "sg-abc123"
        },
        SubnetIds = new List<string> {
            "subnet-abc123"
        }
    } },
    Tags = new Dictionary<string, string> {
        { "exampleTag", "exampleValue" }
    }
});

string arn = response.Arn;
string scraperId = response.ScraperId;
ScraperStatus status = response.Status;
Dictionary<string, string> tags = response.Tags;

            

CreateScraper with generic VPC config with mandatory securityGroupIds and subnetIds


var client = new AmazonPrometheusServiceClient();
var response = client.CreateScraper(new CreateScraperRequest 
{
    Alias = "alias",
    ClientToken = "token",
    Destination = new Destination { AmpConfiguration = new AmpConfiguration { WorkspaceArn = "arn:aws:aps:us-west-2:123456789012:workspace/ws-ogh2u499-ce12-hg89-v6c7-123412341234" } },
    ScrapeConfiguration = new ScrapeConfiguration { ConfigurationBlob = new MemoryStream(blob) },
    Source = new Source { VpcConfiguration = new VpcConfiguration {
        SecurityGroupIds = new List<string> {
            "sg-abc123"
        },
        SubnetIds = new List<string> {
            "subnet-abc123"
        }
    } },
    Tags = new Dictionary<string, string> {
        { "exampleTag", "exampleValue" }
    }
});

string arn = response.Arn;
string scraperId = response.ScraperId;
ScraperStatus status = response.Status;
Dictionary<string, string> tags = response.Tags;

            

Version Information

.NET Framework:
Supported in: 4.7.2 and newer

See Also