Взаимодействие хранилища и интерфейса 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Взаимодействие хранилища и интерфейса



Для взаимодействия с облачным хранилищем нам надо воспользоваться S3 API. Это стандартный API для работы с объектными хранилищами данных Amazon. Этот API на 99.9% совпадает с API облачных провайдеров, которые предоставляют свои объектные хранилища данных.

В нашем случае нам для доступа необходимы полученные ранее ключ доступа (Access Key ID) и секретный ключ (Secret Key). Также название бакета, региона в котором мы находимся, и endpoint _ url по которому мы будем подключаться именно к нашему провайдеру.

Вот так выглядит подключение к нашему хранилищу

ACCESS_KEY = 'kAjT77NuCryPU66EbW8ktb'

SECRET_KEY = '2pbaZPrQnHoRyTeG1wFf6yNq1Auwfnsko3KpToPZXJaB'

BUCKET_NAME = "treatmeshkov"

 

# S3 Connect

s3 = boto3.client(

"s3",

aws_access_key_id=ACCESS_KEY,

aws_secret_access_key=SECRET_KEY,

endpoint_url='http://hb.bizmrg.com'

)

 

Хранилище выглядит следующим образом:

 

|

| - - - -class_name

|               | - - - - classification

|               |             | - - - - image-1.jpg

|               |             | - - - - image-2.jpg

|               |             | - - - - image-3.jpg

|               |             | - - - - т.д.

|         |                 

|               | - - - - detection

|                                  | - - - - metadata

| - - - -class_name

|               | - - - - classification

|               |             | - - - - image-1.jpg

|               |             | - - - - image-2.jpg

|               |             | - - - - image-3.jpg

|               |             | - - - - т.д.

|               |                 

|               | - - - - detection

|                                  | - - - - metadata

|

 

 

Где class _ name папка, где хранятся папки classification и detection определенного класса. Папка classification содержит все изображения, а папка detection хранит метаданные (metadata), в которых содержится название файла, высота, широта, и координаты xmin, ymin, xmax, ymax нашей выделенной области.

Функция загрузки изображения выглядит следующим образом

def upload_file_to_s3(FILE_NAME, FOLDER_CLASS, MIDDLE_FOLDER, BUCKET_NAME):

 

"""

Docs: http://boto3.readthedocs.io/en/latest/guide/s3.html

"""

 

try:

 

   s3.upload_fileobj (

               Bucket = BUCKET_NAME,

               Filename=FILE_NAME,

               Key=FOLDER_CLASS + MIDDLE_FOLDER + FILE_NAME

          )

  )

except Exception as e:

   print("Something Happened: ", e)

   return e

 

return "{}{}".format(app.config["S3_LOCATION"], file.filename)

 

 Аналогично записываются метаданные. А вот так они выглядят Рис.11

Рисунок 11. Демонстрация работы классификации

 

Заключение

 

В рамках этой курсовой работы была разработана ИС для разметки и хранения данных. Где для хранения данных было выбрано облачное объектное хранилище данных, так как оно идеально подходит для неструктурированных данных. Также она быстро масштабируема, эффективна, и удобна для начала разработки любых ИС благодаря использованию простых команд через интерфейс API с помощью запросов.

Также было разработан интуитивно понятный интерфейс информационной системы, для возможности классификации изображения и выделения объектов на изображении. В данный момент информационная система работает только для изображений. Но этот проект также можно развить и в сторону разметки текстовых и аудио данных. Также возможность открытого доступа для размеченных наборов данных для других пользователей.


 

Список использованных источников

 

1. Amazon Simple Storage Service Documentation // Электронный ресурс, URL: https://docs.aws.amazon.com/s3/index.html (дата обращения: 15.06.2019)

2. Flask Web Development //  by Miguel Grinberg, -2014, 25 May, URL: https://doc.lagout.org/programmation/python/Flask%20Web%20Development_%20Developing%20Web%20Applications%20with%20Python%20%5BGrinberg%202014-05-18%5D.pdf

(дата обращения: 15.06.2019)

3. Bootrstrap Documentation // Электронный ресурс, - URL: https://getbootstrap.com/docs/4.3/getting-started/introduction/

(дата обращения: 15.06.2019)

4. Kevin Brunke, Flask-RESTful // - 2018, 18 Dec, URL: https://buildmedia.readthedocs.org/media/pdf/flask-restful/latest/flask-restful.pdf

5. Learning Flask – CreateSpace Independent Publishing Platform, 2016. – 60 с.

6. Scott Patten: The S3 Cookbook, Android – Leanpub Independent Publishing Platform, 2016. – 220 p.

7. Amazon Web Service, Amazon API Gateway: Developer Guide, - 2016, 748 c.

8. James Murty, Programming Amazon Web Services // -2009, 604 с.

 



Поделиться:


Последнее изменение этой страницы: 2021-05-27; просмотров: 37; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.223.123 (0.008 с.)