Как использовать изображения, которые не являются общедоступными, для создания хитов в AMZ mechanical Turk?

#image #permissions #mturk

#изображение #разрешения #mturk

Вопрос:

Я передаю задачу классификации изображений на аутсорсинг Mechanical Turk от Amazon. Поэтому используется CSV-файл, в котором хранятся URL-адреса изображений, используемых для классификации рабочими. Изображения, на которые указывают эти URL, должны быть общедоступными, чтобы рабочие имели доступ в соответствии с примером в Документах.

Однако мои данные конфиденциальны и не позволяют размещать их публично. Есть ли шанс, что я смогу использовать MTurk для изображений с ограниченным доступом?

Ответ №1:

Я предлагаю размещать изображения в частной корзине S3 и генерировать предварительно подписанные URL-адреса с истечением expiration секунд. Поступая таким образом, вы позволите работникам MTurk видеть изображения хитов (по указанному URL-адресу) и гарантируете, что через expiration несколько секунд срок действия URL-адреса истечет, и никто больше не сможет получить доступ к конфиденциальным данным.

 import logging
import boto3
from botocore.exceptions import ClientError


def create_presigned_url(bucket: str, key: str, expiration: int):
    """Generate a presigned URL to share an S3 object

    :param bucket: name of the bucket
    :param key: key of the object for which to create a presigned URL
    :param expiration: Time in seconds for the presigned URL to remain valid
    :return: Presigned URL as string. If error, returns None.
    """

    # Generate a presigned URL for the S3 object
    s3_client = boto3.client('s3')
    try:
        response = s3_client.generate_presigned_url(
                      'get_object',
                       Params={'Bucket': bucket, 'Key': key},
                       ExpiresIn=expiration
                   )
    except ClientError as e:
        logging.error(e)
        return None

    # The response contains the presigned URL
    return response
  
 

Более подробная информация о том, как сгенерировать URL-адрес, указанный пользователем, здесь: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-presigned-urls.html