Можно ли скопировать объект из одного экземпляра хранилища облачных объектов в другой.Ведра в разных регионах - PullRequest
0 голосов
/ 21 февраля 2019

Я хотел бы использовать узел sdk для реализации механизма резервного копирования и восстановления между двумя экземплярами Cloud Object Storage.Я добавил идентификатор службы в экземпляры и добавил разрешения для идентификатора службы для доступа к контейнерам, присутствующим в экземпляре, в который я хочу записать.Ведра будут в разных регионах.Я пытался достичь этого с помощью множества конечных точек, как устаревших, так и не устаревших, частных и общедоступных, но обычно я получаю отказ в доступе.

Возможно ли то, что я пытаюсь сделать с помощью SDK?если так, то может ли кто-нибудь указать мне правильное направление?

var config = {
 "apiKeyId": "xxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxx",
 "endpoint": "s3.eu-gb.objectstorage.softlayer.net",
 "iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloud-object-storage:global:a/xxxxxxxxxxx:xxxxxxxxxxx::",
 "iam_apikey_name": "auto-generated-apikey-xxxxxxxxxxxxxxxxxxxxxx",
 "iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
 "iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/0xxxxxxxxxxxxxxxxxxxx::serviceid:ServiceIdxxxxxxxxxxxxxxxxxxxxxx",
 "serviceInstanceId": "crn:v1:bluemix:public:cloud-object-storage:global:a/xxxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxx::",
"ibmAuthEndpoint": "iam.cloud.ibm.com/oidc/token"

}

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Таким образом, разбивка здесь немного сбивает с толку из-за некоторой неинтуитивной терминологии.

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

корзина используется для сегментирования ваших данных в различные места хранения или классы хранения.Другое поведение, такое как CORS, архивирование или сохранение, также действует на уровне сегмента.Вы не хотите сегментировать то, что ожидаете масштабировать (например, данные о клиентах) по отдельным сегментам, поскольку в экземпляре существует ограничение в ~ 1 000 сегментов.IBM Cloud IAM рассматривает сегменты как «ресурсы» и подчиняется политикам IAM.

Вместо этого данные, которые не нужно разделять по местоположению или классу, и которые вы ожидаете, будут подчиняться тому же CORS,Политики жизненного цикла, хранения или IAM можно разделить префиксом .Это означает, что группа похожих объектов имеет общий путь, например foo/bar и foo/bas имеют одинаковый префикс foo/.Это помогает с распечаткой и организацией, но не обеспечивает детального контроля доступа или какой-либо другой функциональности, связанной с политикой.

Теперь, на ваш вопрос, ответ и да, и нет.Если сегменты находятся в одном экземпляре , то проблем нет.Имена сегментов уникальны, поэтому до тех пор, пока не будет никакого вторичного управляемого шифрования (например, Key Protect), нет проблем с копированием между сегментами, даже если они охватывают регионы.Имейте в виду, однако, что для копирования больших объектов потребуется время, и строгая согласованность COS может привести к ситуациям, когда операция может не вернуть ответ, пока она не будет завершена.Копирование между экземплярами в настоящее время не поддерживается.

0 голосов
/ 22 февраля 2019

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

...