Я использую экземпляр Red Hat EC2 для запуска команд AWS CLI и управления некоторыми задачами с помощью Glacier и S3.Я также разрабатываю Rest API для выполнения сценариев, которые я развернул на EC2.Используя Postman для отправки запроса POST на общедоступный DNS-адрес EC2, мой сценарий примет необработанный JSON и расшифрует его для параметров, которые будет принимать мой сценарий PHP. Я сталкиваюсь с ошибкой при попытке выполнить команды CLI AWS в моемPHP скрипт.Команды AWS работают, когда я запускаю их в терминале.
Вещи, которые я пробовал из этой темы
https://github.com/aws/aws-cli/issues/3542:
- pip установить AWScli вместо установки pip AWS
- понижение версии AWSversionsи Botocore
Ответ почтальона
Traceback (most recent call last):
File "/usr/bin/aws", line 19, in <module>
import awscli.clidriver
File "/usr/lib/python2.7/site-packages/awscli/clidriver.py", line 17, in <module>
import botocore.session
File "/usr/lib/python2.7/site-packages/botocore/session.py", line 30, in <module>
import botocore.credentials
File "/usr/lib/python2.7/site-packages/botocore/credentials.py", line 42, in <module>
from botocore.utils import InstanceMetadataFetcher, parse_key_val_file
File "/usr/lib/python2.7/site-packages/botocore/utils.py", line 31, in <module>
import botocore.httpsession
File "/usr/lib/python2.7/site-packages/botocore/httpsession.py", line 7, in <module>
from urllib3.util.ssl_ import (
ImportError: cannot import name DEFAULT_CIPHERS
Php Script
exec("aws s3 cp s3://$BucketName /path/to/dir/ --recursive 2>&1",$output,$return);
Я ожидал, что команды CLI AWS будут выполнены командой exec и вернут строкувывод, который я бы отправил обратно в ответ.