AWS SDK (s3)でUploadSyncBuilderを使ってアップロードする

しかもアップロードしたくないフォルダやファイル名をフィルタして!

サンプルはこんな風に書かれておりますが、

use Aws\S3\Sync\DownloadSyncBuilder;

DownloadSyncBuilder::getInstance()
    ->setClient($client)
    ->setDirectory('/path/to/directory')
    ->setBucket('my-bucket')
    ->setKeyPrefix('/under-prefix')
    ->allowResumableDownloads()
    ->build()
    ->transfer();

これでフォルダとかフィルタできる!

    UploadSyncBuilder::getInstance()
        ->setClient($client)
        ->setBucket('my-bucket')
        ->setAcl('public-read') 
        ->setOperationParams(array('CacheControl' => 'max-age=600')) 
        ->uploadFromDirectory('/path/to/directory') //set directory
        ->addRegexFilter("/\.git/") //directory filter
        ->addRegexFilter("/test.txt/") //file filter
        ->build()
        ->transfer();

サンプルとかなんでないんや!
awsgithubソース読んでようやくわかった。