XGRIDSДокументация
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Lixel CyberColor

    • Руководство пользователя LCC Studio

      • Начало работы
      • Версия и обновления
      • Загрузка и установка
      • Обзор интерфейса и навигация
      • Перед реконструкцией
      • Реконструкция модели
      • Реконструкция одиночной модели
      • Объединение карт
      • Воздушно-наземное объединение
      • Воздушная реконструкция
      • Мои модели
      • Другие функции
      • Настройки и учётная запись
      • Конвертер
      • Реконструкция по видео
      • Часто задаваемые вопросы
    • LCC Scene Editor

      • Версия и обновления
      • Учётная запись и вход
      • Обзор продукта и главная страница
      • Интерфейс редактора
      • Режимы навигации по сцене
      • Файл
      • Настройки
      • Операции редактирования
      • Окно
      • Глобальная панель инструментов
      • Ресурсы и свойства
      • Левая панель инструментов
      • Точки обзора
      • Портал
      • Skybox
      • Аннотации
      • Измерение
      • Flythrough
      • Отчёт по сцене
      • 3D Layout
      • Мини-карта
      • Preview Mode (Viewer)
      • Справка
      • Часто задаваемые вопросы
      • Точка появления
    • LCC Model Editor

      • Версия и обновления
      • Руководство пользователя
      • Обзор и интерфейс
      • Операции с файлами
      • Инструменты выбора
      • Редактирование моделей
      • Измерение
      • Цветокоррекция
      • Управление ресурсами
      • Настройки и справка
      • Часто задаваемые вопросы
    • Рекомендации по применению

      • Объединение нескольких крупных моделей 3DGS
  • Plugin & SDK

    • Unreal

      • Введение
      • Быстрый старт — Windows
      • Быстрый старт — Linux
      • Быстрый старт — Quest3
      • Редакции и лицензирование
      • Рендеринг
      • Растеризация Tiled (экспериментально)
      • Визуальные настройки
      • Нормали и освещение
      • Редактирование сцены
      • Параметры производительности
      • Руководство по оптимизации производительности
      • Интеграция со сторонними и движковыми плагинами
      • Прокси-меш
      • Анимация загрузки
      • Коллизии
      • Поддержка системы навигации
      • Поддержка однослойной воды
      • Локализация
      • Частые вопросы
      • Устранение неполадок
      • Журналы и диагностика
      • Свяжитесь с нами
      • Рекомендуемые практики

        • Переосвещение 3DGS с помощью меша LixelStudio
        • Независимый рендеринг для каждой камеры
      • Справочник API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actor SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Журнал изменений

        • v3.5.0
        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Введение в Unity SDK
      • Технические возможности
      • Требования к среде разработки
      • Руководство по быстрому старту для PC
      • Руководство по оптимизации настроек проекта
      • Руководство по разработке для Pico 4 Ultra
      • Руководство по стримингу Pico 4 Ultra с PC
      • Руководство по разработке для Quest 3
      • Руководство по стримингу Quest 3 с PC
      • Руководство по разработке OpenXR
      • Руководство по бизнес-стримингу Pico 4 Ultra
      • Глоссарий
      • FAQ
      • Свяжитесь с нами
      • Руководство по разработке функций

        • Руководство по разработке смешанного рендеринга нескольких сцен
        • Руководство по разработке приёма теней
        • Руководство по разработке освещения в реальном времени
        • Руководство по разработке многокамерного рендеринга
        • Руководство по разработке рендеринга изображений высокого разрешения
        • Руководство по разработке совместимости форматов данных LCC и LCC2
        • Руководство по разработке эффекта загрузки
        • Руководство по разработке переключения режима рендеринга Mip
        • Руководство по разработке привязки к рёбрам и углам
        • Руководство по разработке проецируемых декалей
        • Руководство по разработке видеопроецируемой декали
        • Руководство по разработке подсветки
        • Руководство по разработке обрезки в реальном времени
        • Руководство по разработке коррекции цвета
        • Руководство по разработке получения данных Mesh сцены
        • Руководство по разработке в режиме редактора
        • Руководство по настройке параметров производительности рендеринга
        • Руководство по разработке совместной упаковки приложения и данных
        • Руководство по разработке системы коллизий
        • Руководство по проблемам с разрешениями при разработке на macOS
        • Руководство по разработке компиляции и упаковки для устройств iOS
      • Справочник по API

        • LCCManager
        • Renderer
        • Типы данных
      • Журнал изменений

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
  • API

    • Структурированное пространственное моделирование

      • Руководство по подключению
      • Процесс моделирования
      • Справочник по API
      • Временные учётные данные для загрузки
      • Коды ошибок

Временные учётные данные для загрузки

После вызова Создание задачи и получение учётных данных для загрузки или Повторное получение учётных данных для загрузки используйте временные учётные данные из data.params, чтобы загрузить входные данные для моделирования.

Общие правила

  • Всегда используйте загрузку частями (multipart upload).
  • Порядок работы с временными учётными данными смотрите в официальной документации конкретного облачного провайдера.
  • Максимальное число частей — 10 000. Для больших файлов рассчитывайте размер части исходя из общего размера, чтобы не превысить лимит.
  • Итоговый Key файла — это savePath плюс относительный путь файла.
  • По умолчанию временные учётные данные действуют 12 часов. После истечения срока вызовите Повторное получение учётных данных для загрузки, чтобы обновить их.

Соответствие облачных провайдеров

Значение data.params.cloudService в ответе определяет, какой SDK использовать. Обычно каждая интегрирующая сторона работает только с одним фиксированным облачным провайдером, поэтому поддерживать их все не нужно.

cloudServiceОблачный провайдерРаздел
OSSОбъектное хранилище Alibaba CloudAlibaba Cloud OSS
AWSAmazon S3AWS S3
KS3Объектное хранилище Kingsoft CloudKingsoft Cloud KS3

Alibaba Cloud OSS

МатериалСсылка
Создание клиента с временными учётными данными STSUse temporary access credentials provided by STS to access OSS
Загрузка частямиMultipart upload (Java)
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.CredentialsProvider;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import java.io.File;

public class Demo {
    public static void main(String[] args) throws Exception {
        // Укажите временный ключ доступа и SecurityToken, которые вернул API
        // Примечание: AccessKeyId, полученный от STS, начинается с "STS"
        String accessKeyId     = "yourSTSAccessKeyID";
        String accessKeySecret = "yourSTSAccessKeySecret";
        String stsToken        = "yourSecurityToken";
        String endpoint        = "endpoint";
        String region          = "region";
        String bucket          = "bucket";
        // key = savePath + относительный путь файла
        String key = "prd/spatial-model/{accountId}/{taskCode}/input/render2/info/poses.json";

        CredentialsProvider credentialsProvider =
                new DefaultCredentialProvider(accessKeyId, accessKeySecret, stsToken);

        ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
        conf.setSignatureVersion(SignVersion.V4);   // Явно используем алгоритм подписи V4

        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(conf)
                .region(region)
                .build();
        try {
            PutObjectRequest req =
                    new PutObjectRequest(bucket, key, new File("D:\\localpath\\poses.json"));
            PutObjectResult result = ossClient.putObject(req);
        } catch (OSSException oe) {
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:"    + oe.getErrorCode());
            System.out.println("Request ID:"    + oe.getRequestId());
        } catch (ClientException ce) {
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) ossClient.shutdown();
        }
    }
}

AWS S3

МатериалСсылка
Создание клиента с временными учётными данными STSSupply credentials explicitly
Загрузка (Java)PutObject example
Загрузка (JS)@aws-sdk/lib-storage
public static void main(String[] args) throws Exception {
    String accessKeyId     = "yourSTSAccessKeyID";
    String accessKeySecret = "yourSTSAccessKeySecret";
    String securityToken   = "yourSecurityToken";
    String region = "region";
    String bucket = "bucket";
    String key    = "prd/spatial-model/{accountId}/{taskCode}/input/render2/info/poses.json";

    AwsSessionCredentials sessionCredentials = AwsSessionCredentials.create(
            accessKeyId, accessKeySecret, securityToken);
    // Инициализируем клиент S3 с временными учётными данными
    S3Client s3Client = S3Client.builder()
            .region(Region.of(region))
            .credentialsProvider(StaticCredentialsProvider.create(sessionCredentials))
            .build();

    PutObjectRequest putObjectRequest = PutObjectRequest.builder()
            .bucket(bucket)
            .key(key)
            .build();

    s3Client.putObject(putObjectRequest, java.nio.file.Paths.get("D:\\resource\\poses.json"));
}

Kingsoft Cloud KS3

МатериалСсылка
Создание клиента с временными учётными данными STSKS3 temporary credentials
Загрузка частямиKS3 upload
public Ks3Client initKs3Client() {
    String accessKeyId     = "yourSTSAccessKeyID";
    String accessKeySecret = "yourSTSAccessKeySecret";
    String securityToken   = "yourSecurityToken";
    String endpoint        = "yourEndpoint";
    String region          = "region";

    Ks3ClientConfig config = new Ks3ClientConfig();
    config.setEndpoint(endpoint);
    config.setRegion(Region.valueOf(region));
    config.setProtocol(Ks3ClientConfig.PROTOCOL.http);
    config.setHttpClientConfig(new HttpClientConfig());

    return new Ks3Client(accessKeyId, accessKeySecret, securityToken, config);
}

После загрузки

Вызовите Обновление статуса загрузки со значением status = 3, иначе моделирование не начнётся.