我創建了AWS lambda,在我測試它時以及在通過cloudwatch規則手動創建cron作業時運行良好。Ansible Cloudwatch規則報告失敗調用
它將指標報告爲調用(未失敗)並記錄有關執行的詳細信息。
然後,我決定刪除手動創建的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規則。我可以看到手動創建的唯一區別是在目標中,lambda版本/別名在設置爲版本時手動創建時設置爲默認值,當創建時使用相應的版本號。
用ansible創建的cloudwatch規則只有失敗的調用。
任何想法,爲什麼這是?我看不到任何日誌。有沒有一種方法可以將版本設置爲Default以及cloudwatchevent_rule模塊是否適用?
你解決了這個問題嗎?我遇到類似的問題。 Ansible創建成功,但事件失敗。如果我編輯並保存事件規則(無變化),它開始工作... – apines
不,我沒有找到解決方案。如果你找到一個請讓我知道。 – Bastian