Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在Boto3中使用SSM send_命令_Python 3.x_Amazon Web Services_Aws Lambda_Boto3_Amazon Ssm Agent - Fatal编程技术网

Python 3.x 在Boto3中使用SSM send_命令

Python 3.x 在Boto3中使用SSM send_命令,python-3.x,amazon-web-services,aws-lambda,boto3,amazon-ssm-agent,Python 3.x,Amazon Web Services,Aws Lambda,Boto3,Amazon Ssm Agent,我正在尝试创建一个lambda函数,它将关闭在EC2实例上运行的systemd服务。我认为从boto3模块使用ssm客户端可能是最好的选择,我考虑使用的特定命令是send_命令()。理想情况下,我希望使用Ansible关闭systemd服务。因此,我试图使用“AWS Applyansible Playbooks”,我在这里遇到了问题,似乎boto3 ssm客户端需要一些参数,我尝试了遵循boto3文档,但确实不清楚它希望我如何显示参数,我在“AWS Applyansible Playbooks”

我正在尝试创建一个lambda函数,它将关闭在EC2实例上运行的systemd服务。我认为从boto3模块使用ssm客户端可能是最好的选择,我考虑使用的特定命令是send_命令()。理想情况下,我希望使用Ansible关闭systemd服务。因此,我试图使用“AWS Applyansible Playbooks”,我在这里遇到了问题,似乎boto3 ssm客户端需要一些参数,我尝试了遵循boto3文档,但确实不清楚它希望我如何显示参数,我在“AWS Applyansible Playbooks”中找到了它要查找的参数文档-但是当我在代码中包含它们时,它告诉我参数无效。我还尝试访问AWS的GitHub存储库,因为我知道他们有时会访问,但他们没有任何关于send_命令()的内容。我上传了一篇文章,以防人们对我迄今为止所写的内容感兴趣,我肯定有兴趣了解其他人是如何通过boto3 python脚本使用ssm运行Ansible Playbook的。

通过查看和您在中共享的代码,我可以看到。您需要添加
“SourceType”:[“S3”]
,并且需要在
源信息中有一个路径,如:

{
   "path":"https://s3.amazonaws.com/path_to_directory_or_playbook_to_download"
}
因此,您需要调整全局变量S3\u DEVOPS\u ANSIBLE\u剧本

从doc链接看一看CLI示例,它应该会让您了解如何重新构造参数:

aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \
--targets Key=tag:TagKey,Values=TagValue \
--parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/path_to_Zip_file,_directory,_or_playbook_to_download\"}"],"InstallDependencies":["True_or_False"],"PlaybookFile":["file_name.yml"],"ExtraVariables":["key/value_pairs_separated_by_a_space"],"Check":["True_or_False"],"Verbose":["-v,-vv,-vvv, or -vvvv"]}' \
--association-name "name" --schedule-expression "cron_or_rate_expression"

是的,没错。。。谢谢