CloudWatch Event에서 이벤트 소스의 정보를 AWS Batch Job에 전달하는 매개 변수
4259 단어 AWS
개시하다
이 글은 AWS 공식 문서CloudWatch 이벤트를 대상으로 하는 AWS Batch 작업의 내용을 더욱 깊이 있게 논술한 것이다.
예와 함께
하고 싶은 일
이번에는 클라우드워치 이벤트를 일정 형태로 수행한 뒤 이벤트가 실행될 때의 날짜와 시간을 AWS Batch Job에 넘기는 게 하고 싶다.
바이두 상태
AWS Batch의 Job Definition은 다음과 같은 값date
을 매개변수로 정의합니다.
CLI를 통해 표시되는 경우는 다음과 같습니다.$ aws batch describe-job-definitions --job-definition-name "my-job-definition-name"
{
"jobDefinitions": [
{
"jobDefinitionName": "mixlunch-matching-job-definition",
"jobDefinitionArn": "arn:aws:batch:ap-northeast-1:XXXXXXXXXXXX:job-definition/mixlunch-matching-job-definition:5",
"revision": 5,
"status": "ACTIVE",
"type": "container",
"parameters": {
"date": "2018-11-01T00:00:00Z"
},
"retryStrategy": {
"attempts": 1
},
"containerProperties": {
"image": "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/mixlunch-matching:latest",
"vcpus": 1,
"memory": 2000,
"command": [
"python",
"./run.py",
"Ref::date"
],
.
.
위의 예에서 date
매개 변수는 Python 실행에서 매개 변수로 응용 프로그램에 전달됩니다.
CloudWatch Event의 설정 방법
이번 예는 일정 설정(cron)의 사건원을 이용한 것이다.CloudWatch Event 규칙의 이벤트 소스는 매우 다양하며, 후술한 설정 방법은 어느 이벤트 소스든 공통적이다.
사커수로 아래와 같다.
광장 왼쪽 아래 파란색 테두리는 활동원에서 온 샘플의 JSON 형식이다.
이번에 AWS Batch Job에게 맡기고 싶은 것은 레드박스 부분"time"
필드의 내용이다.
이를 위해 Squist 오른쪽에 있는 Configure input에서 Input Transformer를 설정합니다.
첫 번째 프레임워크는 이벤트 소스 JSON의 필드를 지정한 키에 전달하는 설정입니다.{
"detail": {
"requestParameters": {
"bucketName": "my-bucket"
}
}
}
위의 JSON 형식의 이벤트 소스라면 {"myValue": "$.detail.requestParameters.bucketName"}
처럼 기술할 수 있습니다.
두 번째 프레임에서 첫 번째 획득한 키를 사용하여 AWS Batch Job의 매개변수로 지정합니다.
이번 예는 {"Parameters" : {"date": <TimeValue>}}
로 AWS Batch Job이 정의한 date
에 맡길 수 있다.
AWS CLI에서 다음을 확인할 수 있습니다.$ aws events list-targets-by-rule --rule "matching"
{
"Targets": [
{
"Id": "IdXXXXXXXXXXXX",
"Arn": "arn:aws:batch:ap-northeast-1:XXXXXXXXXXXX:job-queue/mixlunch-matching-job-queue",
"RoleArn": "arn:aws:iam::XXXXXXXXXXXX:role/service-role/AWS_Events_Invoke_Batch_Job_Queue_XXXXXXXXXXXX",
"InputTransformer": {
"InputPathsMap": {
"TimeValue": "$.time"
},
"InputTemplate": "{\"Parameters\" : {\"date\": <TimeValue>}}"
},
"BatchParameters": {
"JobDefinition": "arn:aws:batch:ap-northeast-1:XXXXXXXXXXXX:job-definition/mixlunch-matching-job-definition:5",
"JobName": "matching-job"
}
}
]
}
Reference
이 문제에 관하여(CloudWatch Event에서 이벤트 소스의 정보를 AWS Batch Job에 전달하는 매개 변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/momotaro98/items/2124455a98726ea30232
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
하고 싶은 일
이번에는 클라우드워치 이벤트를 일정 형태로 수행한 뒤 이벤트가 실행될 때의 날짜와 시간을 AWS Batch Job에 넘기는 게 하고 싶다.
바이두 상태
AWS Batch의 Job Definition은 다음과 같은 값
date
을 매개변수로 정의합니다.CLI를 통해 표시되는 경우는 다음과 같습니다.
$ aws batch describe-job-definitions --job-definition-name "my-job-definition-name"
{
"jobDefinitions": [
{
"jobDefinitionName": "mixlunch-matching-job-definition",
"jobDefinitionArn": "arn:aws:batch:ap-northeast-1:XXXXXXXXXXXX:job-definition/mixlunch-matching-job-definition:5",
"revision": 5,
"status": "ACTIVE",
"type": "container",
"parameters": {
"date": "2018-11-01T00:00:00Z"
},
"retryStrategy": {
"attempts": 1
},
"containerProperties": {
"image": "XXXXXXXXXXXX.dkr.ecr.ap-northeast-1.amazonaws.com/mixlunch-matching:latest",
"vcpus": 1,
"memory": 2000,
"command": [
"python",
"./run.py",
"Ref::date"
],
.
.
위의 예에서 date
매개 변수는 Python 실행에서 매개 변수로 응용 프로그램에 전달됩니다.CloudWatch Event의 설정 방법
이번 예는 일정 설정(cron)의 사건원을 이용한 것이다.CloudWatch Event 규칙의 이벤트 소스는 매우 다양하며, 후술한 설정 방법은 어느 이벤트 소스든 공통적이다.
사커수로 아래와 같다.
광장 왼쪽 아래 파란색 테두리는 활동원에서 온 샘플의 JSON 형식이다.
이번에 AWS Batch Job에게 맡기고 싶은 것은 레드박스 부분
"time"
필드의 내용이다.이를 위해 Squist 오른쪽에 있는 Configure input에서 Input Transformer를 설정합니다.
첫 번째 프레임워크는 이벤트 소스 JSON의 필드를 지정한 키에 전달하는 설정입니다.
{
"detail": {
"requestParameters": {
"bucketName": "my-bucket"
}
}
}
위의 JSON 형식의 이벤트 소스라면 {"myValue": "$.detail.requestParameters.bucketName"}
처럼 기술할 수 있습니다.두 번째 프레임에서 첫 번째 획득한 키를 사용하여 AWS Batch Job의 매개변수로 지정합니다.
이번 예는
{"Parameters" : {"date": <TimeValue>}}
로 AWS Batch Job이 정의한 date
에 맡길 수 있다.AWS CLI에서 다음을 확인할 수 있습니다.
$ aws events list-targets-by-rule --rule "matching"
{
"Targets": [
{
"Id": "IdXXXXXXXXXXXX",
"Arn": "arn:aws:batch:ap-northeast-1:XXXXXXXXXXXX:job-queue/mixlunch-matching-job-queue",
"RoleArn": "arn:aws:iam::XXXXXXXXXXXX:role/service-role/AWS_Events_Invoke_Batch_Job_Queue_XXXXXXXXXXXX",
"InputTransformer": {
"InputPathsMap": {
"TimeValue": "$.time"
},
"InputTemplate": "{\"Parameters\" : {\"date\": <TimeValue>}}"
},
"BatchParameters": {
"JobDefinition": "arn:aws:batch:ap-northeast-1:XXXXXXXXXXXX:job-definition/mixlunch-matching-job-definition:5",
"JobName": "matching-job"
}
}
]
}
Reference
이 문제에 관하여(CloudWatch Event에서 이벤트 소스의 정보를 AWS Batch Job에 전달하는 매개 변수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/momotaro98/items/2124455a98726ea30232텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)