OrbitvuOrbitvu

Zewnętrzne magazyny danych (AWS S3, Azure Cloud Storage, Google Cloud Storage)

Orbitvu Station umożliwia płynne przesyłanie wygenerowanych treści do AWS S3 i Azure Cloud Storage. Wybierz odpowiednią sekcję poniżej, aby sprawdzić szczegóły.

Orbitvu Station umożliwia płynne przesyłanie wygenerowanych treści do AWS S3 i Azure Cloud Storage. Wybierz odpowiednią sekcję poniżej, aby sprawdzić szczegóły.

Orbitvu Station umożliwia płynne przesyłanie wygenerowanych treści do AWS S3. Aby zapewnić pomyślną i bezpieczną integrację, musisz nadać Orbitvu Cloud niezbędne uprawnienia w konfiguracji swojego magazynu AWS. Szczegółowe instrukcje konfiguracji AWS S3 znajdziesz poniżej. Zalecana jest podstawowa znajomość AWS S3.

Po skonfigurowaniu dostępu do AWS S3 dla Orbitvu, podaj niezbędne informacje o magazynie (na przykład nazwę swojego bucketa) w sekcji ustawień konta w Orbitvu Cloud.

Ograniczenia

Funkcja AWS Assumed role, wymagana przez integrację z AWS S3, działa wyłącznie w obrębie jednej partycji AWS. Ponieważ konto Orbitvu znajduje się w partycji „aws” (standardowe komercyjne regiony AWS), klienci z kontami w partycji „aws-cn” (regiony chińskie) oraz „aws-us-gov” nie będą mogli korzystać z tej funkcji.

Wymagania

Aby korzystać z funkcji integracji z AWS S3, klienci muszą posiadać aktywny plan subskrypcji (Pro lub wyższy) oraz mieć prawidłowo skonfigurowane ustawienia S3 w Orbitvu Cloud.

W starym modelu subskrypcji, aby korzystać z funkcji integracji z AWS S3, klienci muszą posiadać aktywny plan wsparcia dla urządzenia (Support plan) oraz mieć prawidłowo skonfigurowane ustawienia S3 w Orbitvu Cloud.

Przesyłane typy plików

Orbitvu Station przesyła pliki zdjęć 2D oraz wideo do S3, korzystając ze zdefiniowanych wzorców nazw (Name patterns). Prezentacje 360 stopni są przesyłane jako archiwa zip, z użyciem nazwy bieżącej sesji.

Każdy plik przesłany do S3 będzie miał klucz metadanych x-amz-meta-sku z wartością SKU skonfigurowaną w sesji Orbitvu Station. Może to zostać wykorzystane do dalszego przetwarzania, np. za pomocą AWS Lambda.

Konfiguracja AWS S3

Nasze rozwiązanie wykorzystuje role przejmowane (assumed roles) – wysoce bezpieczne i rekomendowane podejście – aby umożliwić przesyłanie plików z Orbitvu do Twojego bucketa S3. Ta metoda gwarantuje, że Orbitvu może uzyskać dostęp do Twojego magazynu bez konieczności użycia stałych poświadczeń. Proces konfiguracji obejmuje następujące kluczowe kroki:

  • Zdefiniowanie konkretnych uprawnień wymaganych dla dostępu Orbitvu (polityka uprawnień).
  • Utworzenie roli IAM, która zostanie przejęta przez Orbitvu.
  • Ustanowienie relacji zaufania dla tej roli, wyraźnie zezwalającej kontu Orbitvu na jej przejęcie.
  • Powiązanie zdefiniowanej polityki uprawnień z nową rolą.

Szczegółowy opis każdego z tych kroków znajdziesz w sekcjach poniżej.

Utwórz politykę

  1. Zaloguj się na swoje konto AWS

  2. Przejdź do IAM -> Policies i kliknij Create policy

  1. Zdefiniuj politykę

Polityka musi zezwalać na akcję s3:PutObject na Twoim buckecie S3.

Najprostszym sposobem utworzenia definicji polityki jest przełączenie się na widok JSON i wklejenie poniższej definicji, zmieniając nazwę bucketa na nazwę Twojego bucketa.

{
   "Version": "2012-10-17",
   "Statement": [ {
         "Effect": "Allow",
         "Action": [ "s3:PutObject" ],
         "Resource": "arn:aws:s3:::<BUCKET_NAME>/*"
     }]
}

WAŻNE! Zmień <BUCKET_NAME> na rzeczywistą nazwę swojego bucketa, np. arn:aws:s3:::my-s3-bucket-for-ov/* !

  1. Kliknij Next, wprowadź nazwę roli, np. my-bucket-put-policy, i potwierdź utworzenie polityki.

Utwórz rolę

  1. Przejdź do IAM -> Roles i kliknij Create role

  1. Wybierz typ zaufanego podmiotu
  • Wybierz AWS account jako typ zaufanego podmiotu
  • Wybierz Another AWS account w polu wyboru konta
    • Wprowadź identyfikator konta Orbitvu: 642402037748
  • Wybierz Require external ID (zalecany krok)
    • Wprowadź własny unikalny sekret, który dodatkowo zidentyfikuje Orbitvu (zapisz go, ponieważ będzie potrzebny później).
  • Kliknij Next

  1. Dołącz wcześniej utworzoną politykę do roli

Na poniższym ekranie zakładamy, że polityka z pierwszego kroku nosi nazwę ovstation-upload-test-policy, ale powinieneś użyć nazwy swojej własnej polityki.

  1. Kliknij Next i zakończ tworzenie roli, podając nazwę nowej roli.

Zapisz Role ARN, ponieważ będzie on potrzebny do konfiguracji rozwiązania. Role ARN znajdziesz w szczegółach roli.

Gdy te kroki zostaną wykonane, możesz przejść do konfiguracji zewnętrznego magazynu w Orbitvu Cloud. Będziesz musiał podać tam następujące informacje:

  1. Nazwę bucketa
  2. Nazwę regionu AWS
  3. Role ARN
  4. External ID

Personalizacja przesyłania za pomocą funkcji Lambda

Funkcje AWS Lambda oferują skuteczny sposób automatyzacji przetwarzania plików w Twoim buckecie S3. Gdy przesyłane są nowe pliki, Lambda może wyzwalać akcje, takie jak konwersja formatów obrazów lub przekazywanie danych do systemów zewnętrznych, np. ERP (na przykład z wykorzystaniem tagu metadanych x-amz-meta-sku).

Na przykład, jeśli przesyłasz prezentacje 360 stopni jako pliki ZIP, funkcja Lambda może automatycznie rozpakować zawartość i usunąć oryginalne archiwum ZIP. Poniżej znajduje się przykład funkcji Lambda przeznaczonej do tego celu.

Pamiętaj, że ta funkcja Lambda ma charakter poglądowy. W rzeczywistych środowiskach zalecane jest korzystanie z narzędzi IaC, takich jak terraform, lub frameworków takich jak serverless, do wdrażania plików Lambda.

lambda_function.py

Utwórz funkcję Lambda w AWS

Przejdź do AWS -> Lambda i kliknij Create Function

Wprowadź nazwę funkcji i wybierz środowisko uruchomieniowe. Dla przykładowej funkcji użyj Python 3.13

Skopiuj i wklej kod funkcji do edytora, a następnie kliknij Deploy

Przejdź do Configuration -> General configuration i kliknij Edit.

Ustaw timeout na 1 minutę, ponieważ rozpakowywanie może chwilę potrwać.

Przejdź do Configuration -> Triggers -> Add Trigger

Wybierz S3 trigger, wprowadź nazwę swojego bucketa i ustaw „.zip” jako sufiks (ponieważ ta funkcja Lambda ma działać wyłącznie na archiwach zip).

Przejdź do Configuration -> Permissions i kliknij nazwę roli, aby otworzyć jej szczegóły

Kliknij Add permissions, a następnie Create inline policy

Dodaj uprawnienia do swojego bucketa jak poniżej, zastępując <YOUR_BUCKET_NAME> nazwą swojego bucketa

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "VisualEditor0",
			"Effect": "Allow",
			"Action": [
				"s3:PutObject",
				"s3:GetObject",
				"s3:DeleteObject"
			],
			"Resource": "arn:aws:s3:::<YOUR_BUCKET_NAME>/*"
		}
	]
}

Kliknij Next, podaj nazwę polityki i potwierdź jej utworzenie.

To wszystko! Możesz teraz przesłać jakiś plik zip i sprawdzić, czy Twoja funkcja działa poprawnie.

Do bezpiecznej komunikacji z Twoim magazynem Azure Storage, Orbitvu wykorzystuje rekomendowane podejście polegające na uwierzytelnianiu za pomocą Service Principal aplikacji. Korzystając z poświadczeń Microsoft Entra, generujemy tokeny SAS delegacji użytkownika (user delegation SAS), zapewniając dodatkową warstwę bezpieczeństwa dla Twoich danych.

Aby umożliwić to bezpieczne połączenie, musisz utworzyć następujące zasoby w portalu Azure:

  • Rejestrację aplikacji wraz z wygenerowanym Client Secret.
  • Konto magazynu (Storage Account) oraz kontener w jego ramach.

Po skonfigurowaniu dostępu do Azure dla Orbitvu, podaj niezbędne informacje o magazynie (na przykład nazwę swojego konta magazynu) w sekcji ustawień konta w Orbitvu Cloud.

  1. W portalu Azure przejdź do Microsoft Entra ID, następnie App registrations, i wybierz New registration.

  2. Podaj nazwę aplikacji (np. OrbitvuCloud) i kliknij Register.

Rejestracja aplikacji

  1. W portalu Azure przejdź do Microsoft Entra ID, następnie App registrations, i wybierz New registration.

  2. Podaj nazwę aplikacji (np. OrbitvuCloud) i kliknij Register.

  1. Zapisz wygenerowany Application (client) ID.

  1. Utwórz nowy Client secret (klikając Add a certificate or secret) dla tej aplikacji i zapisz go. Aby zminimalizować przerwy w działaniu usługi, zaleca się ustawienie sekretu z dłuższym okresem ważności.

Konto magazynu

Następnie musisz utworzyć konto magazynu Blob oraz kontener w jego ramach. Aby to zrobić:

  1. Przejdź do Storage accounts w portalu Azure i kliknij Create.

  1. Podczas konfigurowania konta magazynu upewnij się, że domyślny typ magazynu jest ustawiony na Blob storage.

Utwórz kontener

  1. Po utworzeniu konta magazynu, przejdź do niego i utwórz nowy Container (który będzie używany do przechowywania danych typu blob).

Przypisz rolę

  1. Aby nadać aplikacji OrbitvuCloud (utworzonemu wcześniej Service Principal) niezbędne uprawnienia, przejdź do Access Control (IAM) w nowo utworzonym koncie magazynu i kliknij Add -> Add role assignment.

  1. W panelu „Add role assignment” wybierz rolę Storage Blob Data Contributor.

  1. Kliknij Next

  2. W polu „Assign access to” wybierz User, group, or service principal. Następnie wybierz aplikację OrbitvuCloud (lub nazwę, którą jej nadałeś) jako element.

  1. Kliknij Review + assign, aby utworzyć przypisanie roli

Konfiguracja Azure w Orbitvu Cloud

Przejdź do sekcji profilu w Orbitvu Cloud, a następnie wybierz konfigurację zewnętrznego magazynu

Musisz podać Orbitvu Cloud kilka informacji dotyczących Twojego środowiska Azure. Wymagane informacje to:

tenant_id

Identyfikator tenant ID znajdziesz w: Microsoft Entra ID -> Overview

application_id

Przejdź do App Registrations i wybierz zakładkę All applications. Application (client) ID jest pokazany w drugiej kolumnie.

Client secret

Przejdź do App Registrations, wybierz zakładkę All applications -> OrbitvuCloud (lub nazwę swojej aplikacji) -> Manage -> Certificates & secrets

Nazwa konta magazynu

Przejdź do Home -> Storage accounts i odczytaj nazwę swojego magazynu

Nazwa kontenera

Przejdź do Home -> Storage accounts, następnie wybierz swoje konto magazynu -> Data storage -> Containers, i odczytaj nazwę swojego kontenera

Orbitvu Station umożliwia płynne przesyłanie wygenerowanych treści do bucketa Google Cloud Storage. Aby zapewnić pomyślną i bezpieczną integrację, musisz nadać kontu usługi Orbitvu ograniczony dostęp do swojego bucketa. Szczegółowe instrukcje konfiguracji GCP znajdziesz poniżej. Zalecana jest podstawowa znajomość Google Cloud Storage.

Po skonfigurowaniu dostępu do GCP dla Orbitvu, podaj niezbędne informacje o magazynie (nazwę swojego bucketa) w sekcji ustawień konta w Orbitvu Cloud.

  1. Przejdź do Google Cloud Console pod adresem: https://console.cloud.google.com i otwórz Cloud Storage -> Buckets

  1. Wybierz swój bucket

  1. Wybierz zakładkę Permissions i kliknij Grant access

  1. W sekcji Add Principals dodaj następujący podmiot:
orbitvu-google-integration@adroit-nectar-152608.iam.gserviceaccount.com

W sekcji Assign roles wybierz Cloud Storage -> Storage Objects Creator

  1. Upewnij się, że masz włączone Cloud Storage API. Przejdź do APIs and services -> Enabled APIs and services i sprawdź status Cloud Storage API

  1. Zaktualizuj swoją konfigurację w Orbitvu Cloud. Przejdź do External storage config w swoim profilu

  1. Wprowadź nazwę swojego bucketa w sekcji konfiguracji Google Cloud Storage

On this page