Как использовать AWS PHP SDK v3.0 без файла учетных данных - PullRequest
0 голосов
/ 17 мая 2018

Привет! Я использую aws SDK версии 3 для php для загрузки файлов на s3. Мне нужно избавиться от файла учетных данных (.aws / credentials), поскольку он вызывает проблемы на моем производственном сервере,

Метод жестко закодированных учетных данных не работает в моем коде.ссылка вставлена ​​ниже.

https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html#hardcoded-credentials

Пожалуйста, предоставьте действующее и работающее решение о том, как использовать жестко закодированные учетные данные.обратите внимание, если я использую файл учетных данных, все работает хорошо.так что проблема с кодом учетных данных.

вот мой код, когда я инициирую свой объект s3

$s3Client = new S3Client([
                    'profile' => 'default',
                    'region' => 'us-west-2',
                    'version' => '2006-03-01',
                    'scheme'  => 'http',
                    'credentials'=>[
                        'key' => KEY,
                        'secret' => SECRET
                    ]
                ]);

Ответы [ 3 ]

0 голосов
/ 18 мая 2018

V3 документ здесь https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html В моем случае я использую роль IAM на машинах, на которых размещено приложение, проще управлять разрешениями с панели мониторинга IAM, и вы избежите использования жесткого кода или файла конфигурации с учетными данными.

0 голосов
/ 14 августа 2019

Вам просто нужно удалить строку 'profile' => 'default',, что приведет к переопределению ваших жестко закодированных учетных данных.

Сегодня я столкнулся с вашей проблемой с большим разочарованием и наконец решил ее. См. связанный ответ здесь для той же проблемы в другом сервисе Amazon.

0 голосов
/ 17 мая 2018

за документацию AWS, https://docs.aws.amazon.com/aws-sdk-php/v2/guide/credentials.html

Если вы не предоставляете учетные данные для объекта клиента во время его создания (например, с помощью метода фабрики клиента или через конфигурацию построителя сервисов)SDK будет пытаться найти учетные данные в вашей среде при вызове вашей первой операции.SDK будет использовать функции суперглобального и / или getenv () $ _SERVER для поиска переменных среды AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY.Эти учетные данные называются учетными данными среды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...