Для поиска изображений в папке S3 по ключевым словам

Каков наилучший и простой способ поиска и получения списка изображений из S3 с использованием английских ключевых слов. Или я должен использовать Rekognition для хранения всех метаданных изображения в базе данных?

Моя разработка использует Php.

0

Решение

<?php

require 'vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\S3\Exception\S3Exception;

$bucket = '*** Your Bucket Name ***';

// Instantiate the client.
$s3 = new S3Client([
'version' => 'latest',
'region'  => 'us-east-1'
]);

// Use the high-level iterators (returns ALL of your objects).
try {
$objects = $s3->getPaginator('ListObjects', [
'Bucket' => $bucket
]);

echo "Keys retrieved!" . PHP_EOL;
foreach ($objects as $object) {
echo $object['Key'] . PHP_EOL;
}
} catch (S3Exception $e) {
echo $e->getMessage() . PHP_EOL;
}

// Use the plain API (returns ONLY up to 1000 of your objects).
try {
$result = $s3->listObjects([
'Bucket' => $bucket
]);

echo "Keys retrieved!" . PHP_EOL;
foreach ($result['Contents'] as $object) {
echo $object['Key'] . PHP_EOL;
}
} catch (S3Exception $e) {
echo $e->getMessage() . PHP_EOL;
}

так что этот код вернет вам все объекты в вашей корзине, вы можете добавить логику, которая, только если ключ содержит расширения «jpg», «jpeg» и «png», тогда только вы должны напечатать ключ / имя объекта

1

Другие решения

Вы можете перечислить все объекты и найти те, которые вы ищете

В псевдокоде

connect to S3

list thru all buckets ( or specify a bucket )

for object in bucket.objects.all
if object.key = your search criteria
do something

У меня есть код делает это для меня в Python, дайте мне знать, если вы хотите, чтобы я опубликовал его, так как вы используете php, я дал вам логику в псевдокоде выше

0

По вопросам рекламы [email protected]