Orbitvu Station umożliwia łatwe przesyłanie wygenerowanych zdjęć i prezentacji do AWS S3. Aby aktywować tę integrację, w sposób zapewniający najwyższe bezpieczeństwo, konieczne jest przyznanie Orbitvu Cloud odpowiednich uprawnień w konfiguracji Twojego konta AWS. Szczegółowe instrukcje dotyczące konfiguracji AWS S3 znajdziesz poniżej. Zalecana jest podstawowa znajomość AWS S3.
Po skonfigurowaniu dostępu dla Orbitvu na koncie AWS, należy podać niezbędne dane dostępowe (na przykład nazwę bucketu S3) w ustawieniach konta Orbitvu Cloud.
Ograniczenia
Funkcjonalność AWS Assumed role, która jest wymagana przez integrację z AWS S3, działa tylko w ramach jednej partycji AWS. Ponieważ konto Orbitvu znajduje się w partycji "aws" (standardowy region AWS dla aplikacji komercyjnych), klienci z kontami w partycjach "aws-cn" (regiony Chińskie) oraz "aws-us-gov" nie będą mogli skorzystać z tej funkcjonalności.
Wymagania
Aby skorzystać z integracji z AWS S3 klient musi posiadać aktywny Support plan oraz musi poprawnie skonfigurować parametry integracji w usłudze Orbitvu Cloud.
Typy ładowanych plików
Orbitvu Station ładuje zdjęcia 2D oraz pliki wideo do AWS S3 używając zdefiniowanych wcześniej Wzorów nazw. Prezentacje 360-stopni są ładowane jako archiwa zip z użyciem nazwy bieżącej sesji.
Każdy plik ładowany do AWS S3 będzie miał ustawiony metatag x-amz-meta-sku z wartością SKU ustawioną w ramach sesji Orbitvu Station (jeśli tylko została ustawiona). Może to być wykorzystane przy dalszym przetwarzaniu plików, np. z użyciem AWS Lambda.
Konfiguracja AWS S3
Nasze rozwiązanie wykorzystuje mechanizm assumed roles – wysoce bezpieczne i rekomendowane podejście – aby umożliwić ładowanie zasobów z Orbitvu Station do bucketu S3. Ta metoda zapewnia że Orbitvu może uzyskać dostęp do Twojego bucket-u bez konieczności generowania stałych danych dostępowych, np. tokenów. Proces konfiguracyjny składa się z następujących kroków:
- Zdefiniowanie określonych uprawnień wymaganych przez Orbitvu (Polityka dostępu)
- Utworzenie roli IAM, która będzie używana przez Orbitvu (assumed role).
- Ustanowienie relacji zaufania (trust relationship) dla tej roli, jednoznacznie nadając dostęp kontu Orbitvu do przyjęcia tej roli (assume role).
- Powiązanie zdefiniowanej polityki uprawnień z nową rolą.
Szczegółowy opis każdego z tych etapów można znaleźć w poniższych sekcjach.
Utworzenie polityki
1. Zaloguj się na swoje konto AWS
2. Odwiedź IAM -> Policies i kliknij Create policy

3. Zdefiniuj politykę
Polityka musi zezwalać na akcję s3:PutObject na Twoim buckecie S3.
Najprostszą metodą jest stworzenie polityki przy pomocy trybu JSON, poprzez skopiowanie poniższej definicji. UWAGA: należy zmienić nazwę <bucket_name> na faktyczną nazwę swojego bucketu.
{
"Version": "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Action": [ "s3:PutObject" ],
"Resource": "arn:aws:s3:::<bucket_name>/*"
}]
}</bucket_name>
WAŻNE! Zmień <bucket_name> na rzeczywistą nazwę swojego bucketu, np. arn:aws:s3:::my-s3-bucket-for-ov/* !
4. Kliknij Next, wpisz nazwę roli, np., my-bucket-put-policy i potwierdź utworzenie polityki.
Utworzenie roli
1. Odwiedź IAM -> Roles i kliknij Create role
2. Wybierz typ zufanej encji (trusted entity type)
- Wybierz AWS account jako typ zaufanej encji (trusted entity type)
- Wybierz Another AWS account w polu wyboru konta
- Wprowadź identyfikator konta Orbitvu: 642402037748
- Wybierz Require external ID (to krok rekomendowany)
- Wprowadź swoją własną, unikalną wartość, która zostanie wykorzystana do dodatkowej identyfikacji Orbitvu (zapisz ten ID ponieważ będzie on później potrzebny).
- Kliknij Next
3. Przypnij utworzoną wcześniej politykę do roli
Na screenie poniżej zakładamy że polityka z pierwszego kroku ma nazwę ovstation-upload-test-policy, ale powinieneś tu użyć swojej własnej nazwy polityki.
4. Kliknij Next i zakończ tworzenie roli wprowadzając jej nazwę.
Zapisz ARN roli poniwać będzie później potrzebny do skonfigurowania integracji z Orbitvu Cloud. ARN roli możesz znaleźć w szczegółach roli.
Kiedy tylko te kroki zostaną wykonane możesz odwiedzić sekcję Konfiguracja zewnętrznych zasobów w Orbitvu Cloud. Będziesz musiał wprowadzić następujące dane:
- Nazwa bucket-u S3
- Nazwa regionu AWS
- ARN roli
- External ID
Personalizacja z użyciem AWS Lambda
Funkcje AWS Lambda umożliwiają automatyzację przetwarzania plików w kontenerze S3. Gdy przesyłane są nowe pliki, Lambda może wyzwalać działania, takie jak konwersja formatów obrazów lub przesyłanie danych do systemów zewnętrznych, takich jak ERP (można tu użyć metatagu x-amz-meta-sku).
Na przykład, jeśli przesyłasz prezentacje 360 stopni jako pliki ZIP, funkcja Lambda może automatycznie wyodrębnić zawartość i usunąć oryginalne archiwum ZIP. Poniżej znajduje się przykład funkcji Lambda zaprojektowanej w tym celu.
Należy pamiętać, że ta funkcja Lambda jest przeznaczona wyłącznie do celów ilustracyjnych. W rzeczywistych środowiskach zaleca się korzystanie z narzędzi IaC, takich jak Terraform, lub frameworków, takich jak serverless, w celu wdrażania plików Lambda.
Utworzenie funkcji Lambda w AWS
Przejdź do AWS -> Lambda i kliknij Create Function
Wprowadź nazwę funkcji i wybierz runtime. Dla naszej przykładowej funkcji użyj runtime Python 3.13
Skopuj i wklej kod funkcji do edytor i kliknij Deploy.
Przejdź do Configuration -> General configuration i kliknij Edit.
Ustaw timeout na 1 minute jako że rozpakowanie może trochę trwać.
Przejdź do Configuration -> Triggers -> Add Trigger
Wybierz S3 trigger, wprowadź nazwę swojego bucket-u i ustaw ".zip" jako suffix (ponieważ ta Lambda będze działać tylko na archiwach zip).
Przejdź do Configuration -> Permissions i kliknij nazwę roli aby otworzyć jej szczegóły
Kliknij Add permissions i Create inline policy
Dodaj następujące uprawnienia do swojego bucket-u poniżej, zastępując <YOUR_BUCKET_NAME> nazwą swojego bucket-u.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::<your_bucket_name>/*"
}
]
}</your_bucket_name>
Kliknij Next, wprowadź nazwę polityki i potwierdź utworzenie polityki.
To wszystko, możesz teraz wgrać plik zip i sprawdzić czy funkcja działa.