You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::ForecastService::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::ForecastService::Client
- Defined in:
- (unknown)
Overview
An API client for Amazon Forecast Service. To construct a client, you need to configure a :region
and :credentials
.
forecastservice = Aws::ForecastService::Client.new(
region: region_name,
credentials: credentials,
# ...
)
See #initialize for a full list of supported configuration options.
Region
You can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
Credentials
Default credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
andENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
- The shared credentials ini file at
~/.aws/credentials
(more information) - From an instance profile when running on EC2
You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and
:secret_access_key
:
# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))
Aws::ForecastService::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Attribute Summary collapse
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
Constructor collapse
-
#initialize(options = {}) ⇒ Aws::ForecastService::Client
constructor
Constructs an API client.
API Operations collapse
-
#create_dataset(options = {}) ⇒ Types::CreateDatasetResponse
Creates an Amazon Forecast dataset.
-
#create_dataset_group(options = {}) ⇒ Types::CreateDatasetGroupResponse
Creates a dataset group, which holds a collection of related datasets.
-
#create_dataset_import_job(options = {}) ⇒ Types::CreateDatasetImportJobResponse
Imports your training data to an Amazon Forecast dataset.
-
#create_forecast(options = {}) ⇒ Types::CreateForecastResponse
Creates a forecast for each item in the
TARGET_TIME_SERIES
dataset that was used to train the predictor. -
#create_forecast_export_job(options = {}) ⇒ Types::CreateForecastExportJobResponse
Exports a forecast created by the CreateForecast operation to your Amazon Simple Storage Service (Amazon S3) bucket.
-
#create_predictor(options = {}) ⇒ Types::CreatePredictorResponse
Creates an Amazon Forecast predictor.
In the request, provide a dataset group and either specify an algorithm or let Amazon Forecast choose an algorithm for you using AutoML.
-
#delete_dataset(options = {}) ⇒ Struct
Deletes an Amazon Forecast dataset that was created using the CreateDataset operation.
-
#delete_dataset_group(options = {}) ⇒ Struct
Deletes a dataset group created using the CreateDatasetGroup operation.
-
#delete_dataset_import_job(options = {}) ⇒ Struct
Deletes a dataset import job created using the CreateDatasetImportJob operation.
-
#delete_forecast(options = {}) ⇒ Struct
Deletes a forecast created using the CreateForecast operation.
-
#delete_forecast_export_job(options = {}) ⇒ Struct
Deletes a forecast export job created using the CreateForecastExportJob operation.
-
#delete_predictor(options = {}) ⇒ Struct
Deletes a predictor created using the CreatePredictor operation.
-
#describe_dataset(options = {}) ⇒ Types::DescribeDatasetResponse
Describes an Amazon Forecast dataset created using the CreateDataset operation.
In addition to listing the parameters specified in the
CreateDataset
request, this operation includes the following dataset properties:-
CreationTime
-
LastModificationTime
-
Status
-
-
#describe_dataset_group(options = {}) ⇒ Types::DescribeDatasetGroupResponse
Describes a dataset group created using the CreateDatasetGroup operation.
In addition to listing the parameters provided in the
CreateDatasetGroup
request, this operation includes the following properties:-
DatasetArns
- The datasets belonging to the group. -
CreationTime
-
LastModificationTime
-
Status
-
-
#describe_dataset_import_job(options = {}) ⇒ Types::DescribeDatasetImportJobResponse
Describes a dataset import job created using the CreateDatasetImportJob operation.
In addition to listing the parameters provided in the
CreateDatasetImportJob
request, this operation includes the following properties:-
CreationTime
-
LastModificationTime
-
DataSize
-
FieldStatistics
-
Status
-
Message
- If an error occurred, information about the error.
-
-
#describe_forecast(options = {}) ⇒ Types::DescribeForecastResponse
Describes a forecast created using the CreateForecast operation.
In addition to listing the properties provided in the
CreateForecast
request, this operation lists the following properties:-
DatasetGroupArn
- The dataset group that provided the training data. -
CreationTime
-
LastModificationTime
-
Status
-
Message
- If an error occurred, information about the error.
-
-
#describe_forecast_export_job(options = {}) ⇒ Types::DescribeForecastExportJobResponse
Describes a forecast export job created using the CreateForecastExportJob operation.
In addition to listing the properties provided by the user in the
CreateForecastExportJob
request, this operation lists the following properties:-
CreationTime
-
LastModificationTime
-
Status
-
Message
- If an error occurred, information about the error.
-
-
#describe_predictor(options = {}) ⇒ Types::DescribePredictorResponse
Describes a predictor created using the CreatePredictor operation.
In addition to listing the properties provided in the
CreatePredictor
request, this operation lists the following properties:-
DatasetImportJobArns
- The dataset import jobs used to import training data. -
AutoMLAlgorithmArns
- If AutoML is performed, the algorithms that were evaluated. -
CreationTime
-
LastModificationTime
-
Status
-
Message
- If an error occurred, information about the error.
-
-
#get_accuracy_metrics(options = {}) ⇒ Types::GetAccuracyMetricsResponse
Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation.
-
#list_dataset_groups(options = {}) ⇒ Types::ListDatasetGroupsResponse
Returns a list of dataset groups created using the CreateDatasetGroup operation.
-
#list_dataset_import_jobs(options = {}) ⇒ Types::ListDatasetImportJobsResponse
Returns a list of dataset import jobs created using the CreateDatasetImportJob operation.
-
#list_datasets(options = {}) ⇒ Types::ListDatasetsResponse
Returns a list of datasets created using the CreateDataset operation.
-
#list_forecast_export_jobs(options = {}) ⇒ Types::ListForecastExportJobsResponse
Returns a list of forecast export jobs created using the CreateForecastExportJob operation.
-
#list_forecasts(options = {}) ⇒ Types::ListForecastsResponse
Returns a list of forecasts created using the CreateForecast operation.
-
#list_predictors(options = {}) ⇒ Types::ListPredictorsResponse
Returns a list of predictors created using the CreatePredictor operation.
-
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
Lists the tags for an Amazon Forecast resource.
.
-
#tag_resource(options = {}) ⇒ Struct
Associates the specified tags to a resource with the specified
resourceArn
. -
#untag_resource(options = {}) ⇒ Struct
Deletes the specified tags from a resource.
.
-
#update_dataset_group(options = {}) ⇒ Struct
Replaces the datasets in a dataset group with the specified datasets.
The
Status
of the dataset group must beACTIVE
before you can use the dataset group to create a predictor.
Instance Method Summary collapse
-
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
-
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters.
Methods inherited from Seahorse::Client::Base
add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options = {}) ⇒ Aws::ForecastService::Client
Constructs an API client.
Instance Method Details
#create_dataset(options = {}) ⇒ Types::CreateDatasetResponse
Creates an Amazon Forecast dataset. The information about the dataset that you provide helps Forecast understand how to consume the data for model training. This includes the following:
-
DataFrequency
- How frequently your historical time-series data is collected. -
Domain
andDatasetType
- Each dataset has an associated dataset domain and a type within the domain. Amazon Forecast provides a list of predefined domains and types within each domain. For each unique dataset domain and type within the domain, Amazon Forecast requires your data to include a minimum set of predefined fields. -
Schema
- A schema specifies the fields in the dataset, including the field name and data type.
After creating a dataset, you import your training data into it and add the dataset to a dataset group. You use the dataset group to create a predictor. For more information, see howitworks-datasets-groups.
To get a list of all your datasets, use the ListDatasets operation.
For example Forecast datasets, see the Amazon Forecast Sample GitHub repository.
The Status
of a dataset must be ACTIVE
before you can import training data. Use the DescribeDataset operation to get the status.
#create_dataset_group(options = {}) ⇒ Types::CreateDatasetGroupResponse
Creates a dataset group, which holds a collection of related datasets. You can add datasets to the dataset group when you create the dataset group, or later by using the UpdateDatasetGroup operation.
After creating a dataset group and adding datasets, you use the dataset group when you create a predictor. For more information, see howitworks-datasets-groups.
To get a list of all your datasets groups, use the ListDatasetGroups operation.
The Status
of a dataset group must be ACTIVE
before you can use the dataset group to create a predictor. To get the status, use the DescribeDatasetGroup operation.
#create_dataset_import_job(options = {}) ⇒ Types::CreateDatasetImportJobResponse
Imports your training data to an Amazon Forecast dataset. You provide the location of your training data in an Amazon Simple Storage Service (Amazon S3) bucket and the Amazon Resource Name (ARN) of the dataset that you want to import the data to.
You must specify a DataSource object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data, as Amazon Forecast makes a copy of your data and processes it in an internal AWS system. For more information, see aws-forecast-iam-roles.
The training data must be in CSV format. The delimiter must be a comma (,).
You can specify the path to a specific CSV file, the S3 bucket, or to a folder in the S3 bucket. For the latter two cases, Amazon Forecast imports all files up to the limit of 10,000 files.
Because dataset imports are not aggregated, your most recent dataset import is the one that is used when training a predictor or generating a forecast. Make sure that your most recent dataset import contains all of the data you want to model off of, and not just the new data collected since the previous import.
To get a list of all your dataset import jobs, filtered by specified criteria, use the ListDatasetImportJobs operation.
#create_forecast(options = {}) ⇒ Types::CreateForecastResponse
Creates a forecast for each item in the TARGET_TIME_SERIES
dataset that was used to train the predictor. This is known as inference. To retrieve the forecast for a single item at low latency, use the operation. To export the complete forecast into your Amazon Simple Storage Service (Amazon S3) bucket, use the CreateForecastExportJob operation.
The range of the forecast is determined by the ForecastHorizon
value, which you specify in the CreatePredictor request. When you query a forecast, you can request a specific date range within the forecast.
To get a list of all your forecasts, use the ListForecasts operation.
The forecasts generated by Amazon Forecast are in the same time zone as the dataset that was used to create the predictor.
For more information, see howitworks-forecast.
The Status
of the forecast must be ACTIVE
before you can query or export the forecast. Use the DescribeForecast operation to get the status.
#create_forecast_export_job(options = {}) ⇒ Types::CreateForecastExportJobResponse
Exports a forecast created by the CreateForecast operation to your Amazon Simple Storage Service (Amazon S3) bucket. The forecast file name will match the following conventions:
<ForecastExportJobName><ExportTimestamp><PartNumber>
where the <ExportTimestamp> component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ).
You must specify a DataDestination object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see aws-forecast-iam-roles.
For more information, see howitworks-forecast.
To get a list of all your forecast export jobs, use the ListForecastExportJobs operation.
The Status
of the forecast export job must be ACTIVE
before you can access the forecast in your Amazon S3 bucket. To get the status, use the DescribeForecastExportJob operation.
#create_predictor(options = {}) ⇒ Types::CreatePredictorResponse
Creates an Amazon Forecast predictor.
In the request, provide a dataset group and either specify an algorithm or let Amazon Forecast choose an algorithm for you using AutoML. If you specify an algorithm, you also can override algorithm-specific hyperparameters.
Amazon Forecast uses the algorithm to train a predictor using the latest version of the datasets in the specified dataset group. You can then generate a forecast using the CreateForecast operation.
To see the evaluation metrics, use the GetAccuracyMetrics operation.
You can specify a featurization configuration to fill and aggregate the data fields in the TARGET_TIME_SERIES
dataset to improve model training. For more information, see FeaturizationConfig.
For RELATED_TIME_SERIES datasets, CreatePredictor
verifies that the DataFrequency
specified when the dataset was created matches the ForecastFrequency
. TARGET_TIME_SERIES datasets don't have this restriction. Amazon Forecast also verifies the delimiter and timestamp format. For more information, see howitworks-datasets-groups.
By default, predictors are trained and evaluated at the 0.1 (P10), 0.5 (P50), and 0.9 (P90) quantiles. You can choose custom forecast types to train and evaluate your predictor by setting the ForecastTypes
.
AutoML
If you want Amazon Forecast to evaluate each algorithm and choose the one that minimizes the objective function
, set PerformAutoML
to true
. The objective function
is defined as the mean of the weighted losses over the forecast types. By default, these are the p10, p50, and p90 quantile losses. For more information, see EvaluationResult.
When AutoML is enabled, the following properties are disallowed:
-
AlgorithmArn
-
HPOConfig
-
PerformHPO
-
TrainingParameters
To get a list of all of your predictors, use the ListPredictors operation.
Before you can use the predictor to create a forecast, the Status
of the predictor must be ACTIVE
, signifying that training has completed. To get the status, use the DescribePredictor operation.
#delete_dataset(options = {}) ⇒ Struct
Deletes an Amazon Forecast dataset that was created using the CreateDataset operation. You can only delete datasets that have a status of ACTIVE
or CREATE_FAILED
. To get the status use the DescribeDataset operation.
Forecast does not automatically update any dataset groups that contain the deleted dataset. In order to update the dataset group, use the operation, omitting the deleted dataset's ARN.
#delete_dataset_group(options = {}) ⇒ Struct
Deletes a dataset group created using the CreateDatasetGroup operation. You can only delete dataset groups that have a status of ACTIVE
, CREATE_FAILED
, or UPDATE_FAILED
. To get the status, use the DescribeDatasetGroup operation.
This operation deletes only the dataset group, not the datasets in the group.
#delete_dataset_import_job(options = {}) ⇒ Struct
Deletes a dataset import job created using the CreateDatasetImportJob operation. You can delete only dataset import jobs that have a status of ACTIVE
or CREATE_FAILED
. To get the status, use the DescribeDatasetImportJob operation.
#delete_forecast(options = {}) ⇒ Struct
Deletes a forecast created using the CreateForecast operation. You can delete only forecasts that have a status of ACTIVE
or CREATE_FAILED
. To get the status, use the DescribeForecast operation.
You can't delete a forecast while it is being exported. After a forecast is deleted, you can no longer query the forecast.
#delete_forecast_export_job(options = {}) ⇒ Struct
Deletes a forecast export job created using the CreateForecastExportJob operation. You can delete only export jobs that have a status of ACTIVE
or CREATE_FAILED
. To get the status, use the DescribeForecastExportJob operation.
#delete_predictor(options = {}) ⇒ Struct
Deletes a predictor created using the CreatePredictor operation. You can delete only predictor that have a status of ACTIVE
or CREATE_FAILED
. To get the status, use the DescribePredictor operation.
#describe_dataset(options = {}) ⇒ Types::DescribeDatasetResponse
Describes an Amazon Forecast dataset created using the CreateDataset operation.
In addition to listing the parameters specified in the CreateDataset
request, this operation includes the following dataset properties:
-
CreationTime
-
LastModificationTime
-
Status
#describe_dataset_group(options = {}) ⇒ Types::DescribeDatasetGroupResponse
Describes a dataset group created using the CreateDatasetGroup operation.
In addition to listing the parameters provided in the CreateDatasetGroup
request, this operation includes the following properties:
-
DatasetArns
- The datasets belonging to the group. -
CreationTime
-
LastModificationTime
-
Status
#describe_dataset_import_job(options = {}) ⇒ Types::DescribeDatasetImportJobResponse
Describes a dataset import job created using the CreateDatasetImportJob operation.
In addition to listing the parameters provided in the CreateDatasetImportJob
request, this operation includes the following properties:
-
CreationTime
-
LastModificationTime
-
DataSize
-
FieldStatistics
-
Status
-
Message
- If an error occurred, information about the error.
#describe_forecast(options = {}) ⇒ Types::DescribeForecastResponse
Describes a forecast created using the CreateForecast operation.
In addition to listing the properties provided in the CreateForecast
request, this operation lists the following properties:
-
DatasetGroupArn
- The dataset group that provided the training data. -
CreationTime
-
LastModificationTime
-
Status
-
Message
- If an error occurred, information about the error.
#describe_forecast_export_job(options = {}) ⇒ Types::DescribeForecastExportJobResponse
Describes a forecast export job created using the CreateForecastExportJob operation.
In addition to listing the properties provided by the user in the CreateForecastExportJob
request, this operation lists the following properties:
-
CreationTime
-
LastModificationTime
-
Status
-
Message
- If an error occurred, information about the error.
#describe_predictor(options = {}) ⇒ Types::DescribePredictorResponse
Describes a predictor created using the CreatePredictor operation.
In addition to listing the properties provided in the CreatePredictor
request, this operation lists the following properties:
-
DatasetImportJobArns
- The dataset import jobs used to import training data. -
AutoMLAlgorithmArns
- If AutoML is performed, the algorithms that were evaluated. -
CreationTime
-
LastModificationTime
-
Status
-
Message
- If an error occurred, information about the error.
#get_accuracy_metrics(options = {}) ⇒ Types::GetAccuracyMetricsResponse
Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and to decide whether to use the predictor to generate a forecast. For more information, see Predictor Metrics.
This operation generates metrics for each backtest window that was evaluated. The number of backtest windows (NumberOfBacktestWindows
) is specified using the EvaluationParameters object, which is optionally included in the CreatePredictor
request. If NumberOfBacktestWindows
isn't specified, the number defaults to one.
The parameters of the filling
method determine which items contribute to the metrics. If you want all items to contribute, specify zero
. If you want only those items that have complete data in the range being evaluated to contribute, specify nan
. For more information, see FeaturizationMethod.
Before you can get accuracy metrics, the Status
of the predictor must be ACTIVE
, signifying that training has completed. To get the status, use the DescribePredictor operation.
#list_dataset_groups(options = {}) ⇒ Types::ListDatasetGroupsResponse
Returns a list of dataset groups created using the CreateDatasetGroup operation. For each dataset group, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the dataset group ARN with the DescribeDatasetGroup operation.
#list_dataset_import_jobs(options = {}) ⇒ Types::ListDatasetImportJobsResponse
Returns a list of dataset import jobs created using the CreateDatasetImportJob operation. For each import job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribeDatasetImportJob operation. You can filter the list by providing an array of Filter objects.
#list_datasets(options = {}) ⇒ Types::ListDatasetsResponse
Returns a list of datasets created using the CreateDataset operation. For each dataset, a summary of its properties, including its Amazon Resource Name (ARN), is returned. To retrieve the complete set of properties, use the ARN with the DescribeDataset operation.
#list_forecast_export_jobs(options = {}) ⇒ Types::ListForecastExportJobsResponse
Returns a list of forecast export jobs created using the CreateForecastExportJob operation. For each forecast export job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, use the ARN with the DescribeForecastExportJob operation. You can filter the list using an array of Filter objects.
#list_forecasts(options = {}) ⇒ Types::ListForecastsResponse
Returns a list of forecasts created using the CreateForecast operation. For each forecast, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, specify the ARN with the DescribeForecast operation. You can filter the list using an array of Filter objects.
#list_predictors(options = {}) ⇒ Types::ListPredictorsResponse
Returns a list of predictors created using the CreatePredictor operation. For each predictor, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribePredictor operation. You can filter the list using an array of Filter objects.
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
Lists the tags for an Amazon Forecast resource.
#tag_resource(options = {}) ⇒ Struct
Associates the specified tags to a resource with the specified resourceArn
. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.
#untag_resource(options = {}) ⇒ Struct
Deletes the specified tags from a resource.
#update_dataset_group(options = {}) ⇒ Struct
Replaces the datasets in a dataset group with the specified datasets.
The Status
of the dataset group must be ACTIVE
before you can use the dataset group to create a predictor. Use the DescribeDatasetGroup operation to get the status.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
Basic Usage
Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success
or :failure
from these callbacks,
it will terminate the waiter.
started_at = Time.now
client.wait_until(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter
fails, it raises an error. All errors raised extend from
Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
Waiter Name | Client Method | Default Delay: | Default Max Attempts: |
---|