PHPでAWSのAIサービスを呼び出すには、[AWS SDK for PHP](https://aws.amazon.com/jp/sdk-for-php/)を使うのが良い。
これから作業する過程でいくつかのファイルができるので、適当な作業用ディレクトリを作って、その配下で作業すると良い。
“`bash
mkdir awsai-php
cd awsai-php
“`
## SDKのインストール
SDKのインストールにはComposerが必要なので、[公式サイトの説明](https://getcomposer.org/download/)に従い先にインストールしておく。`composer.phar`というファイルが1つ、作業ディレクトリの直下に作成される。この`composer.phar`がComposerのすべて。
“`bash
php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”
php -r “if (hash_file(‘sha384’, ‘composer-setup.php’) === ‘906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8’) { echo ‘Installer verified’; } else { echo ‘Installer corrupt’; unlink(‘composer-setup.php’); } echo PHP_EOL;”
php composer-setup.php
php -r “unlink(‘composer-setup.php’);”
“`
次に、SDKのインストールを行う。SDKは作業ディレクトリ直下の`vendor`というディレクトリに配置される。
“`bash
php composer.phar require aws/aws-sdk-php
“`
## 認証
AWSコンソールで使用したいサービスの権限を含むIAMユーザーを作成し、認証情報を取得する。
認証の方法はいろいろあるが、ひとまずPHPファイル内に認証情報を書いてしまう方法が手っ取り早い。
“`php
‘ap-northeast-1’,
‘version’ => ‘latest’,
‘credentials’ => $credentials,
];
if (!empty($_FILES)) {
try {
// Rekognitionインスタンスを得る
$rekognition = new RekognitionClient($options);
// detectLabelを行う
$result = $rekognition->detectLabels([
‘Image’ => [
‘Bytes’ => file_get_contents($_FILES[‘image’][‘tmp_name’]),
],
]);
} catch (Exception $e) {
echo $e->getMessage();
}
// 結果の出力
var_dump($result[“Labels”]);
}
?>
AWS Rekognition Sample
“`