aws-sdk-php v3.245.0でBC breakをおこす

Table of Contents

結論

  • aws-sdk-phpv3.245.0AwcClient のconstructorの引数が変わった
  • SqsClient などの継承しているclassにも影響が出る
  • Composer.jsonで "aws/aws-sdk-php": "^3.0" のように指定しているとversionが上がって事故る

現象

2022年11月に aws-sdk-phpv3.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