Amazon Forecast를 AWS Lambda에서 두드리는 방법
이번 사례
이번 경우는 학습한 Amazon Forecast를 AWS Lambda에서 지정 시간이 되면 S3에 CSV 파일을 출력하는 것입니다.
이 기사에서는 그 방법을 설명합니다.
전제
예측자(Predictor 작성) 작성, 모델(Forecast) 작성이 끝났다고 가정합니다.
흐름
예측자(Predictor 작성) 작성, 모델(Forecast) 작성이 끝났다고 가정합니다.
흐름
라는 흐름입니다.
람다 기능
execution_forecastimport json
import boto3
# リージョンを指定する
session = boto3.Session(region_name='us-east-2')
forecast = session.client(service_name='forecast')
forecastquery = session.client(service_name='forecastquery')
def lambda_handler(event, context):
forecastArn = 'モデル(forecast)のArnを記入する'
forecastResponse = forecastquery.query_forecast(
ForecastArn=forecastArn,
# item_idのIDを指定する。
Filters={"item_id":"0001"}
)
formatted = json.dumps(forecastResponse, indent=4, sort_keys=True, separators=(',', ': '))
# バケット名を記入する
s3_bucket = "forecastbucket"
# S3のフォルダ構造を記入する
s3_key_prefix = "projects/0001/models/0001/predictedData/"
# ファイルの名前を書く
filename = 'predict0926.json'
s3_client = boto3.client('s3')
s3_client.put_object(
Bucket=s3_bucket,
Key = s3_key_prefix + filename,
Body = formatted
)
return {
'statusCode': 200,
'body': json.dumps('Success')
}
boto3과 json은 처음부터 Forecast 내에 있기 때문에 직접 가져올 필요가 없습니다.
실행할 권한을 부여
이미지 5개 추가
서비스 => IAM 입력 => 역할 => 정책 연결
lambda 대시보드에서 CloudWatch 이벤트를 클릭합니다.
예를 들어 매주 17시에 실행하려면 다음을 입력합니다.
※이것은 UTC(협정 세계시) 시간으로 설정할 필요가 있습니다.
이번 케이스의 형식은
分(mm) 時刻(yy) * 繰り返したい曜日の範囲 *
되어 있습니다.
이들을 입력하고 시간이 되면 지정한 폴더에 예측 결과의 CSV가 출력됩니다.
Reference
이 문제에 관하여(Amazon Forecast를 AWS Lambda에서 두드리는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/NoriakiOshita/items/b66839104712f8612a16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import json
import boto3
# リージョンを指定する
session = boto3.Session(region_name='us-east-2')
forecast = session.client(service_name='forecast')
forecastquery = session.client(service_name='forecastquery')
def lambda_handler(event, context):
forecastArn = 'モデル(forecast)のArnを記入する'
forecastResponse = forecastquery.query_forecast(
ForecastArn=forecastArn,
# item_idのIDを指定する。
Filters={"item_id":"0001"}
)
formatted = json.dumps(forecastResponse, indent=4, sort_keys=True, separators=(',', ': '))
# バケット名を記入する
s3_bucket = "forecastbucket"
# S3のフォルダ構造を記入する
s3_key_prefix = "projects/0001/models/0001/predictedData/"
# ファイルの名前を書く
filename = 'predict0926.json'
s3_client = boto3.client('s3')
s3_client.put_object(
Bucket=s3_bucket,
Key = s3_key_prefix + filename,
Body = formatted
)
return {
'statusCode': 200,
'body': json.dumps('Success')
}
이미지 5개 추가
서비스 => IAM 입력 => 역할 => 정책 연결
lambda 대시보드에서 CloudWatch 이벤트를 클릭합니다.
예를 들어 매주 17시에 실행하려면 다음을 입력합니다.
※이것은 UTC(협정 세계시) 시간으로 설정할 필요가 있습니다.
이번 케이스의 형식은
分(mm) 時刻(yy) * 繰り返したい曜日の範囲 *
되어 있습니다.
이들을 입력하고 시간이 되면 지정한 폴더에 예측 결과의 CSV가 출력됩니다.
Reference
이 문제에 관하여(Amazon Forecast를 AWS Lambda에서 두드리는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NoriakiOshita/items/b66839104712f8612a16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)