Облако VMware
Работа с виртуальными машинами через VMware Cloud Director
Работа с виртуальным маршрутизатором EDGE gateway
SaaS-решения
Корпоративная почта
Подключение к ящику через web-интерфейс
Настройка Outlook
Настройка iOS и Android для работы с Exchange
Настройка и работа с общими папками
Настройка стандартного приложения "Почта" в MAC OS X
Настройка Outlook IOS/Android
Создание почтового ящика.
Создание списка рассылки
Настройка фильтров и переадресации писем электронного почтового ящика в panel.flexcloud.ru
Изменение прав доступа к электронному почтовому ящику для других пользователей организации
Ошибка Outlook 0x800ccc1a
Настройки DNS для услуги Hosted Exchange в тестовом периоде.
Настройка Mozilla Thunderbird
Параметры подключения к почтовым серверам Cloud4Y
Как исправить ошибку с кодом -1 при создании нового почтового ящика
Как переслать NDR в Outlook
Как мигрировать данные почтового ящика со стороннего хостера через PST файлы
Как переслать NDR в Thunderbird
Как настроить автоархивацию в Outlook
Перенос почты со стороннего сервера (mail.ru, gmail.com, yandex.ru и т.п.) на сервер Exchange
Подключение по протоколам IMAP/POP3 к Outlook 2016
Настройка The Bat!
Подключение по протоколам IMAP/POP3/MAPI к Outlook 2019 и старших версий
Настройки DNS необходимые для работы Hosted Exchange.

5.Работа с S3 средствами AWS SDK Client на php

0. Устанавливаем php

Инструкция здесь

1. Установим composer

Переходим в директорию из которой будем работать с php.
Загрузим в неё composer.phar

2. Установим пакет aws/aws-sdk-php

php composer.phar require aws/aws-sdk-php


3. Полученим данные профайла

Заходим в панель администрирования услугой по адресу: https://cmc.objstor.cloud4u.com:8443/, используя свои учетный данные, полученные от технической поддержки Cloud4Y  после приобретения услуги или от вашего администратора S3


S3 AWS

 

В панели администрирования, в свойствах профиля узнаем и запоминаем (записываем) ACCESS KEY ID, SECRET KEY

S3 AWS


4. Создаем php файл, прописываем key и secret, инициируем объект s3Client



require 'vendor/autoload.php';

use Aws\S3\S3Client;
use Aws\S3\ObjectUploader;
use Aws\S3\MultipartUploader;
use Aws\Exception\MultipartUploadException;

#Создадим экземпляр s3
$s3 = new S3Client([
    'version' 	=> 'latest',
    'region'  	=> 'msk',
    'use_path_style_endpoint' => true,
    'credentials' => [
        'key'	=> 'KEY',
        'secret' => 'SECRET',
    ],
    'endpoint' => 'https://s3.objstor.cloud4u.com'
]);


5. Создаем bucket



#Создим bucket через api
$s3->createBucket(['Bucket' => 'my-new-bucket']);


#Проверим появился ли новый бакет в общем списке
$listBuckets = $s3->listBuckets();
echo '
';
var_export($listBuckets->toArray()['Buckets']);
echo '
'
;


Как видим, bucket успешно создан

S3 AWS


Все указанные действия, мы можем также проверить в панели управления

S3 AWS


6) Добавим объект в bucket



#Загрузим объект из строки
$s3->putObject([
    'Bucket' => 'my-new-bucket',
    'Key' => 'MyNewObjectForDelete',
    'Body' => 'MyObjectBody1',
]);

#Получим объект
$result = $s3->getObject([
    'Bucket' => 'my-new-bucket',
    'Key' => 'MyNewObjectForDelete'
]);

echo '
';
var_export($result->toArray());
echo '
'
;

Запустив php скрипт видим, объект создан

S3 AWS


7) Удалим объект



echo '

До

'
; #Получим список объектов $result = $s3->listObjects([ 'Bucket' => 'my-new-bucket' ]); echo '
';
var_export($result->toArray()['Contents']);
echo '
'
; #Удалим объект $s3->deleteObject([ 'Bucket' => 'my-new-bucket', 'Key' => 'MyNewObjectForDelete' ]); echo '

После

'
; #Получим список объектов $result = $s3->listObjects([ 'Bucket' => 'my-new-bucket' ]); echo '
';
var_export($result->toArray()['Contents']);
echo '
'
;

Видим, что из двух объектов, стался один

S3 AWS

S3 AWS


8) Загрузка объекта с помощью MultipartUploader, подходит для файлов от 5MB до 5TB



#Using stream instead of file path
    $source = './bff-107mb.zip';
    $uploader = new MultipartUploader($s3, $source, [
        'bucket' => $bucketName,
        'key' => 'my-file.zip',
    ]);
#Восстановление после ошибок
    do {
        try {
            $result = $uploader->upload();
        } catch (MultipartUploadException $e) {
            $uploader = new MultipartUploader($s3, $source, [
                'state' => $e->getState(),
            ]);
        }
    } while (!isset($result));

# Прервать загрузку, если она не удалась
    try {
        $result = $uploader->upload();
    } catch (MultipartUploadException $e) {
#State содержит "Bucket", "Key", и "UploadId"
        $params = $e->getState()->getId();
        $result = $s3->abortMultipartUpload($params);
    }

    echo '
';
    var_export($result->toArray());
    echo '
'
; }


9) Если вы не уверены, выбрать PutObject или MultipartUploader для загрузки объекта, используйте ObjectUploader. ObjectUploader загрузит большой файл в S3 используя PutObject или MultipartUploader под капотом, сделав самостоятельно выбор, основываясь на размере объекта.



$source = fopen('./bff-107mb.zip', 'rb');

$uploader = new ObjectUploader(
    $s3,
    'my-new-bucket',
    'file.zip',
    $source
);

do {
    try {
        $result = $uploader->upload();
        if ($result["@metadata"]["statusCode"] == '200') {
            print('

File successfully uploaded to ' . $result["ObjectURL"] . '.

'
); } print($result); } catch (MultipartUploadException $e) { rewind($source); $uploader = new MultipartUploader($s3, $source, [ 'state' => $e->getState(), ]); } } while (!isset($result)); fclose($source);


10) Успешно, File successfully uploaded.

Больше информации про aws-sdk-php на github

 

Вы уже работаете с сервисами Cloud4Y?

Перейти на вебсайт

Попробовать бесплатно

Вверх!