테스트 할 때와 cloudwatch 규칙을 통해 수동으로 cron 작업을 만들 때 잘 작동하는 AWS 람다를 만들었습니다.신뢰할 수있는 Cloudwatch 규칙이 실패한 호출을보고합니다.
메트릭을 호출 (실패하지 않음)로보고하고 실행에 대한 세부 정보를 기록합니다.
그런 다음 수동으로 생성 한 클라우드 워치 규칙을 제거하여 책임감있게 만들 것을 결정했습니다.
- name: Create lambda service.
lambda:
name: "{{ item.name }}"
state: present
zip_file: "{{ item.zip_file }}"
runtime: 'python2.7'
role: 'arn:aws:iam::12345678901:role/lambda_ecr_delete'
handler: 'main.handler'
region: 'eu-west-2'
environment_variables: "{{ item.env_vars }}"
with_items:
- name: lamda_ecr_cleaner
zip_file: assets/scripts/ecr-cleaner.zip
env_vars:
'DRYRUN': '0'
'IMAGES_TO_KEEP': '20'
'REGION': 'eu-west-2'
register: new_lambda
- name: Schedule a cloudwatch event.
cloudwatchevent_rule:
name: ecr_delete
schedule_expression: "rate(1 day)"
description: Delete old images in ecr repo.
targets:
- id: ecr_delete
arn: "{{ item.configuration.function_arn }}"
with_items: "{{ new_lambda.results }}"
거의 동일한 cloudwatch 규칙을 생성합니다. 수동으로 생성 된 것으로 볼 수있는 유일한 차이점은 대상에 있습니다. 람다 버전/별칭은 버전으로 설정되어있는 동안 수동으로 생성 될 때 기본값으로 설정되고, 가능한 버전으로 생성되면 해당 버전 번호가 사용됩니다.
무언가로 만든 cloudwatch 규칙은 실패한 호출 만 있습니다.
이유가 무엇인가요? 로그가 보이지 않습니다. 해당 버전을 cloudwatchevent_rule 모듈과 함께 Default로 설정할 수있는 방법이 있습니까?
이것을 해결 했습니까? 비슷한 문제가 발생했습니다. 가능한 창조는 성공하지만 사건은 실패합니다. 편집하고 이벤트 규칙 (변경 없음)을 저장하면 작업을 시작합니다 ... – apines
아니요. 해결책을 찾지 못했습니다. 제발 찾으면 알려주세요. – Bastian