Ansible Playbook: Native Command Line
Masih ada harapan jika module dicari tiada. Create AWS Athena Database
Kadang-kadang module native dalam ansible tidak dapat merangkumi perkara yang anda inginkan. Seperti saya, saya tidak dapat menemui module untuk membuat database dalam AWS Athena. Jangan risau, native command like seperti command dapat membantu. Selagi anda boleh membuat objek tersebut menggunakan AWS CLI, anda boleh membuat database dalam Athena.
Kodnya seperti berikut (boleh rujuk module CLI create-database ):
tasks:
- name: create Athena DB with the AWS CLI
command: >
aws glue create-database
--database-input "{\"Name\":\"{{ item }}\"}"
--endpoint https://glue.ap-southeast-1.amazonaws.com
with_items:
- "db-map-raw"
- "db-map-clean"
Dalam kod di atas, as command cli adalah
aws glue create-database \
--database-input "{\"Name\":\"db-map-raw\"}" \
--endpoint https://glue.ap-southeast-1.amazonaws.com
Anda boleh sahaja menggunakan command ini dalam terminal untuk membuat database dalam Athena tanpa memerlukan ansible task ini.
Cuma kekurang menggunakan command ini adalah anda tidak boleh run commad ini buat kali kedua tanpa error kerana mekanisma memeriksa object itu tidak wujud. Apa yang anda boleh lakukkan adalah dengan menggunakan command AWS CLI (modul get-database) untuk memeriksa kewujudan database tersebut. Seperti kod ini
aws athena get-database \
--catalog-name AwsDataCatalog \
--database-name db-map-raw
Disebabkan saya tidak sempat hendak membuat eksperimen untuk ini. Rencana yang tulis oleh Tom Wright
Rujukan:
https://medium.com/energetiq/ansible-and-the-aws-cli-no-module-no-problem-27580d36ef2d