yandex object storage php

Yandex Object Storage | PHP

Хотим поделиться PHP кодом для подключения к Yandex Object Storage.
Для этого понадобится библиотека AWS SDK for PHP. Возможно несколько вариантов установки подробнее здесь.

PHP код для подключения к облачному хранилищу Яндекс

Этот пример позволяет подключиться к облачному хранилищу Yandex Object Storage и получить объект image.jpg, затем вывести его содержимое тело объекта

Создание бакета для подключения

Перед подключением с помощью PHP у вас должен быть создан бакет в консоли (на сайте) Яндекс.Облака.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Мы создали ограниченный по доступу бакет.
Для доступа с помощью PHP необходимо создать Сервисный аккаунт.
yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php
Чтобы от этого аккаунта можно было загружать файлы ему нужно назначить права (роль) editor.
Подробнее про роли и безопасность в официальном руководстве.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

После этого зайдите в настройки нового сервисного аккаунта и создайте ключ доступа

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Используйте эти данные для подключения:

Для проверки, что все работает, можно загрузить файлы в бакет с помощью консоли (сайта) Яндекс.Облака и попробовать прочитать.

Источник

Сохраняем архивы виртуального хостинга на Yandex object storage

Моя статья о том, как максимально обезопасить себя от потери данных. Итак у нас есть сайт, который мы разместили у провайдера виртуального хостинга. В свой сайт мы вложили много своего труда в его разработку и наполнение контентом (время может исчисляться неделями).

Если упростить их смысл до минимально надежного применения – то можно однозначно и точно сказать что хранить архив сайта не надо у того провайдер, на котором размещен хостинг по причинам, написанным выше.

Можно прикупить хостинг у другого провайдера и оттуда дёргать архивы по FTP — но, как по мне, идея так себе. Обычно на виртуальном хостинге предлагают совсем маленькое дисковое пространство и за разумные деньги такая схема не сработает – грубо говоря Вам придется два раза оплатить хостинг.

Наш выбор — это Object Storage на Yandex.Cloud. Этот выбор обусловлен тремя основными причинами:

Деньги за хранение берутся за фактически потреблённый объём хранения. При этом есть контейнеры «холодного» хранения со сниженной ценой.

У Yandex.Cloud несколько территориально разнесённых дата-центров. Даже если один из них полностью выйдет из строя — это никак не скажется на моих архивах.

Стоимость хранения, на мой взгляд, вполне приемлемая.

Перейдем теперь к технической части – как все это реализовать? Первая попытка – поставить webdav скорее всего кончится неудачей – потому что на виртуальный хостинг нельзя устанавливать сторонние программы.

Передача архивов в Yandex.Cloud достаточно простая и состоит из двух шагов:

С помощью cron (который почти всегда есть на хостинге) запускаем создание архива по расписанию.

С помощью composer разворачиваем AWS S3 PHP SDK и посылаем архивы в облако.

Опишу процесс немного подробнее.

Зарегистрируйтесь на cloud.yandex.ru и создайте платёжный аккаунт (скорее всего при первой регистрации Яндекс позволит некоторое время пользоваться своими услугами бесплатно).

Во время регистрации будут созданы облако и каталог. Ваши начальные ресурсы при переходе по ссылке console.cloud.yandex.ru должны выглядеть приблизительно так:

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Из каталога сервисов выберите Object Storage и нажмите на желтую кнопку «Создать бакет»

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Выдайте публичный доступ на чтение и список объектов, при необходимости введите максимальный размер (это делается для контроля расходования Ваших средств) и нажмите на кнопку «Создать бакет».

Теперь осталось создать ключи доступа чтобы мы могли помещать свои данные в Object Storage.

В верхней части экрана Вы увидите кнопку с каталогом:

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Нажмите на кнопку «Сервисные аккаунты» и создайте сервисный аккаунт. Присвойте ему имя и назначьте роль storage.admin.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Нажмите на вновь созданный аккаунт и Вы попадете в меню где можно создать новый ключ.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Нажмите кнопку «Создать новый ключ» / «Создать статический ключ доступа», введите описание — и вы получите пару ключей. Сохраните их себе в блокнот.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Воспользуйтесь приложенными в readme инструкциями по установке и настройке. При запуске лучше выбрать версию PHP 7.3.

Источник

Как разместить статический сайт с помощью Yandex.Cloud Object Storage

Привет, Хабр!

В этой статье, я расскажу как легко и просто разместить статический сайт с помощью технологий Яндекса, а именно Object Storage.

В конце у вас будет размещенный в сети сайт, который будет доступен по внешней ссылке.

Эта статья будет полезна, если вы

О себе

Недавно, я разрабатывал SaaS сервис, подобие маркетплейса, где люди находят спортивных тренеров для персональных тренировок. Использовал стек Amazon Web Services (далее AWS). Но чем глубже погружался в проект — тем больше нюансов узнавал о разных процессах организации стартапа.

Я столкнулся с следующими проблемами:

Вдохновленный статьей о мигрировании инфраструктуры из Amazon Web Services в Яндекс.Облако, я решил изучить стек Яндекса подробнее.

Для меня ключевыми особенностями Яндекс.Облака было следующее:

Я изучал других конкурентов этого сервиса, но на тот момент Яндекс выигрывал.

О себе рассказал, можно и перейти к делу.

Шаг 0. Подготовим сайт

Для начала нам понадобится сайт, который мы хотим разместить в интернете. Так как я Angular разработчик, я сделаю простой шаблон SPA приложения, который далее размещу в интернете.

P.S. Кто разбирается в Angular или знает про его документацию https://angular.io/guide/setup-local, переходите к Шагу 1.

Установим Angular-CLI чтобы создавать SPA-сайты на Ангуляре:

Создадим Angular приложение с помощью следующей команды:

Далее переходим в папку приложения и запускаем его, чтобы проверить работоспособность:

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Приложение создано, но пока не готово к размещению на хостинге. Соберем приложение в небольшой билд (Production), чтобы убрать все лишнее и оставить только необходимые файлы.
В ангуляре это можно сделать следующей командой:

В результате этой команды в корне приложения появилась папочка dist с нашим сайтом.

Работает. Теперь переходим к хостингу.

Шаг 1.

Переходим на сайт https://console.cloud.yandex.ru/ и жмем на кнопку «Подключиться».

После успешной регистрации и авторизации, мы в личном кабинете.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Далее слева в меню нужно найти сервис «Object Storage», который мы как раз будем использовать для хостинга сайта.

Коротко по терминам:

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Создадим один из них. Для этого в консоли сервиса жмем на кнопку «Создать бакет».

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

В форме создания бакета есть следующие поля, пробежимся по ним:

Жмем «Создать бакет» и бакет создан.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Теперь нужно загрузить наш сайт в бакет. Самый простой способ — открыть рядом папочку dist нашего сайта и ручками перетащить прямо на страницу. Это удобнее, чем жать на кнопку «Загрузить объекты», потому что в таком случае папки не переносятся и их придется создавать ручками в правильной последовательности.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Итак, сайт загружен в хранилище, тем можем предоставить пользователям возможность обращаться к хранилищу, как к сайту.
Для этого слева в меню жмем на вкладку «Веб-сайт».

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

На странице настройки бакета как сайта, выбираем таб «Хостинг». Здесь указываем главную страницу сайта, обычно это index.html. Если у вас SPA приложение, то вероятно все ошибки обрабатываются также на главной странице, поэтому укажем на странице ошибки также index.html.

Мы сразу видим, по какой ссылке будет доступен наш сайт. Жмем сохранить.

Через минут 5, перейдя по ссылке мы видим что теперь наш сайт доступен всем желающим.

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage php

Спасибо всем кто дочитал до конца! Это моя первая статья, планирую дальше описать другие сервисы Яндекса и их интеграцию с frontend и backend технологиями.

Напишите в комментариях насколько интересно вам узнать про другие сервисы Яндекса или про использование Angular в современной разработке.

Источник

Yandex object storage php

Курс предназначен для базовой подготовки администраторов сайтов, созданных на «1С-Битрикс: Управление сайтом». Изучив курс, вы освоите основные методы администрирования системы, а также пополните знания по темам, изученным в курсе Контент-менеджер.

Если вы добросовестно изучите курс, то научитесь:

Если вам предстоит самостоятельная установка системы или перенос сайта на хостинг, то без курса Установка и настройка Курс Установка и настройка предназначен для специалистов устанавливающих «1С-Битрикс: Управление сайтом» или «Битрикс24 в коробке».

Начальные требования

Необходимый минимум знаний для изучения курса:

Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.

У нас часто спрашивают, сколько нужно заплатить

Но у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.

Тесты и сертификат

Иконка успешно сданного вами курса отображается в вашем профиле на Freelance, если вы укажите ссылку на ваш профиль на сайте компании 1С-Битрикс.

Комментарии к урокам

Для преподавания оффлайн

Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 3 дня (24 академических часа).

Если нет интернета

yandex object storage php. Смотреть фото yandex object storage php. Смотреть картинку yandex object storage php. Картинка про yandex object storage php. Фото yandex object storage phpСкачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox

iPhone:
FBReader
CoolReader
iBook
Bookmate

Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome

Как проходить учебный курс?

Источник

Подключаем Yandex Object Storage к Битрикс

Пока не так много разработчиков предлагают облачное хранилище. Как я понял, пока облачные хранилища не так популярны в России, но набирают обороты.

Посмотрел статьи в интернетах и не нашел примера подключения Яндекс Облака в Битриксе, но есть старые гайды 2014 годов с подключением Clodo. Что ж, напишу гайд по Яндекс Облаку, а именно Yandex Object Storage.

Плюсы и минусы облачного хранилища

Плюсы

Минусы

Подготовка Object Storage

Заходим на сервис, у вас сразу есть дефолтный каталог сервисов, проваливаемся туда нажав на него.

У меня уже есть 1 бакет, об этом нас информирует верхняя плашечка. Создадим новый. В списке сервисом жмем на Obgect Storage.

Попадаем в пустой список, создаем новый бакет.

Видим страницу параметров для создания бакета.

Эти настройки делаем для хранения записей телефонных звонков или бэкапов. Но на стороне битрикса чуть-чуть настройки отличаются. В общем даем название бакету, например crm24-mp3-file-backup чтобы было понятно что у нас там хранится. В общем создали бакет.

Просто создать бакет недостаточно, еще нужно создать статический API ключ для Object Storage, это делается в вкладке «Сервисные аккаунты». Сейчас покажу где это.

Открыв будет пустой список аккаунтов. Создадим новый.

Имя можете дать новому аккаунту любое, но только латинскими цифрами и буквами. Называете исходя из задач, так как облако можно использовать по-разному, иметь одного пользователя на все задачи, на несколько или на одну. Я назвал задачу в рамках одной задачи, чтобы было понятно для чего был создан аккаунт.

Добавляете роль, например storage.admin. Создаем. Открываем созданный сервисный аккаунт. Видим кнопку Создать сервисный ключ.

Создаем статический API-ключ, даже пометка есть к чему он подойдет.

В описание ключа пишем подробности, для чего выдан этот ключ, например «Для выгрузки телефонных звонков/бэкапов в Object Storage».

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

Ключ создали. Идем в Object Storage, где мы создали бакет. Нужно «прикрепить» этот сервисный аккаунт с доступом к бакету.

В списке бакетов жмем на три точки, видим пункт ACL бакета. Жмем.

Выбираем сервисный аккаунт. Выбрали. Справа с кнопкой добавить написано READ. Думаю нет смысла объяснять зачем это. Выбираем FULL_CONTROL.

Жмем напротив Добавить, а только потом Сохранить

Настройка Битрикс

Хранилище настроено. Теперь идём в битрикс чтобы подключить его. Заходим в панель управления Битрикс24 или Битрикс Управление сайтом.

Добавляем облачное хранилище.

Выбираем провайдера Yandex Object Storage.

Используем ключ доступа и секретный ключ которые нам выдали при создании доступа к сервисному аккаунту.

Важно! Вам сразу сгенерировался контейнер в виде upload-блаблаблабла. Если вы создали бакет, указываем имя этого бакета, иначе при подключении вам создадут новый бакет с сгенерированным названием.

Заполнили доступ, но еще НЕ сохраняем.

Есть важная настройка в вкладке Правила.

По дефолту при подключенном хранилище у нас попадут туда все файлы, но нам нужно чтобы туда писались записи звонков. Для этого указываем расширение mp3. Я добавил еще mp4 для примера в статье, где указал, что мы хотим отправлять в облачное хранилище файлы весом от 10 мб до 10 гб. В общем, прочитайте информационное сообщение, там расписано что да как. Можно создать отдельный бакет хоть для каждого модуля или один бакет для всех модулей. В списке правил работы с облаком можете хоть все модули указать.

Теперь у нас есть список подключенных нами облачных хранилищ, которые работают по заданным нами правилам.

Чтобы протестировать, совершите один звонок с портала на свой личный телефон, поговорите сами с собой, например скажите себе «Я всё смогу, я сделаю это!». Обновите страницу со списком облачных хранилищ, должен поменяться счетчик файлов и их объем.

Файлы ушли в облако, поздравляю. Но это не всё. Бывает что файлы отправляются в облако, но в портале они вдруг стали недоступны.

Эта проблема скорее всего связана с тем, что у вас отсутствует правило для хранилища Yandex Object Storage в конфигурации nginx. При установке BitrixVM это правило туда записывается, но если вы ставили старую версию 7.4.3 и младше, то правила для хранилища Яндекс нет.

Подключаемся по SSH к вашему серверу.

Если у вас BitrixVM, выходим из меню в которое мы попали.

Идем в конфиг nginx.

Открываем файл конфига bitrix_general.conf

Находим секцию location ^

Видим там правила для разных хранилищ. Вставляем новое правило для Yandex Object Storage в этой секции, в начале или в конце, без разницы.

Сохраняем и перезапускаем nginx.

systemctl restart nginx

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *