aws-sdk-php v3.245.0でBC breakをおこす
結論
aws-sdk-php
のv3.245.0
でAwcClient
のconstructorの引数が変わったSqsClient
などの継承しているclassにも影響が出る- Composer.jsonで
"aws/aws-sdk-php": "^3.0"
のように指定しているとversionが上がって事故る
現象
2022年11月に aws-sdk-php
の v3.245.0
がリリースされた。
https://github.com/aws/aws-sdk-php/releases/tag/3.245.0
リリース内容の中にFeature bearer token #2517という変更があり、これによって AwsClient
の記述のし方が以下のように変わる。
before:
$client = new AwsClient([
'version' => 'latest',
'region' => $_ENV['AWS_REGION'],
'credientials' => [
'key' => $_ENV['AWS_ACCESS_KEY_ID'],
'secret' => $_ENV['AWS_SECRET_ACCESS_KEY'],
'token' => $_ENV['AWS_SESSION_TOKEN'],
]
]);
after:
$client = new AwsClient([
'version' => 'latest',
'region' => $_ENV['AWS_REGION'],
'token' => $_ENV['AWS_SESSION_TOKEN'],
'credientials' => [
'key' => $_ENV['AWS_ACCESS_KEY_ID'],
'secret' => $_ENV['AWS_SECRET_ACCESS_KEY'],
],
]);
AwsClient
はいろいろなbase classとなっているので呼び出し方に注意が必要になってくる。
https://github.com/aws/aws-sdk-php/search?q=%22extends+AwsClient%22