Загрузка файлов в Amazon S3: интеграция с AI Flowi Workflow

Автор: Ai Flowi · Опубликовано

Загрузка файлов в Amazon S3 в AI Flowi Workflow выполняется с помощью S3 Bucket Uploader, который отправляет настроенные входные данные в бакет S3. Выберите бакет и префикс, укажите конфиденциальные учётные данные AWS и выберите между "Store Data" и "Store Original File". Этот интерфейс каталога охватывает загрузку; триггер событий S3 и действие скачивания в нём не описаны.

S3 Bucket Uploader описан в каталоге; Ai Flowi не проверяла его в рабочей среде. Его описание: Загружает файлы в бакет S3. Приведённая ниже настройка — пример конфигурации, а не зафиксированный тест.

1. Подготовьте место для загрузки с контролируемым доступом

Вам нужны собственная учётная запись AWS, выбранный бакет S3 и учётные данные с правами на загрузку. Начните с временного префикса и искусственных входных данных, содержимое которых вы сможете узнать после загрузки.

Попросите ответственного за среду AWS проверить необходимые правила доступа к бакету и права учётных данных. Эта страница не содержит проверенной политики IAM, процедуры выбора региона или процесса ротации учётных данных. Предоставьте компоненту загрузки только доступ, необходимый для выбранного места назначения. Не включайте ни одно из двух значений учётных данных в публичные примеры.

Выбор учётной записи и бакета следует проверять вместе. Знакомое имя бакета не доказывает, что настроенные учётные данные относятся к нужной среде. Подтвердите место назначения перед обработкой конфиденциальных файлов, особенно если бакеты разработки и рабочей среды имеют похожие имена.

2. Проверьте поля компонента загрузки и признаки обязательности

Оба поля учётных данных, а также data_inputs и strip_path отмечены как обязательные. bucket_name в экспорте необязателен, но для загрузки в нужное хранилище всё равно необходимо проверить место назначения; бакет по умолчанию не описан.

S3 Bucket Uploader: экспортированные входы и решения при настройке
ПолеТип / обязательностьТипы подключений / вариантыЧто выбрать
aws_access_key_idstr / ДаПустой список подключенийИспользуйте свой конфиденциальный идентификатор доступа AWS для среды, в которой разрешена загрузка.
aws_secret_access_keystr / ДаПустой список подключенийУкажите соответствующий секретный ключ в закрытой конфигурации; никогда не включайте его значение в общедоступный пример рабочего процесса.
bucket_namestr / НетПодключения не указаныЯвно выберите нужный бакет, не полагаясь на неописанный запасной вариант.
data_inputsother / ДаData, JSONПодключите Data или JSON, проверив, что структура соответствует выбранной стратегии загрузки.
s3_prefixstr / НетПодключения не указаныВыберите временный тестовый префикс, чтобы проверить размещение объектов отдельно от их именования.
strategystr / НетПодключения не указаны; варианты: "Store Data", "Store Original File"Выберите "Store Data" или "Store Original File"; эти варианты предназначены для разных задач и требуют отдельных тестов.
strip_pathbool / ДаПодключения не указаныОсознанно задайте это обязательное логическое значение и проверьте получившийся ключ объекта.

3. Выберите стратегию по тому, что нужно сохранить

"Store Data" — вариант из каталога, который следует проверить, если нужно сохранить структурированные данные рабочего процесса. Если нужен исходный файл, а не представление его метаданных, проверьте вариант "Store Original File". В экспорте названы оба варианта, но не определены сериализация, поиск поля с файлом и имена полученных объектов.

При хранении структурированных данных решите, должен ли объект сохранять вложенные поля, пустые значения и текст с символами вне ASCII. Дополните искусственный объект ниже этими случаями и изучите полученное представление. Если принимающая сторона ожидает текст JSON, убедитесь, что сохранённое содержимое действительно разбирается как JSON; название стратегии само по себе не задаёт контракт сериализации.

Не считайте две стратегии взаимозаменяемыми. Если документ должен сохранить исходные байты, проверьте сам сохранённый объект, а не признавайте успешной передачей объект, содержащий имя файла или запись метаданных.

4. Настройте загрузку небольшого объёма данных для проверки

  1. Подготовьте искусственный объект JSON через Load JSON. Задайте json_string как простой объект, например {"review_label":"synthetic-upload"}. Это пример входных данных, а не фактически наблюдавшийся объект S3.
  2. Добавьте S3 Bucket Uploader и подключите data компонента Load JSON к data_inputs. Оба заявляют совместимость с JSON, но допустимые данные для загрузки всё равно нужно проверить при выполнении.
  3. Задайте aws_access_key_id и aws_secret_access_key в закрытой конфигурации. Укажите настоящий тестовый bucket_name.
  4. Явно задайте s3_prefix как review-data/, strategy как "Store Data" и strip_path как true в качестве иллюстративных значений.
  5. Проверьте бакет после обработки искусственного объекта. Изучите получившийся ключ и содержимое, чтобы выяснить, принимается ли такая структура входных данных и как она сериализуется.
  6. Разберитесь с любым неоднозначным результатом перед повторным запуском. Сравните состояние места назначения с первоначальными ожиданиями; экспорт не устанавливает, заменяют ли повторные загрузки объекты или создают новые.

Отклонение этого примера следует рассматривать как сведения о требуемой структуре данных, а не исправлять догадками о неописанных ключах имени файла. Выясните реальные требования компонента к входным данным, прежде чем строить более крупный граф.

5. Проверьте префикс и обработку путей по отдельности

s3_prefix и strip_path — отдельные поля. Префикс задаёт желаемую группировку в месте назначения; удаление пути относится к обработке сведений об исходном пути. Каталог не определяет их точное взаимодействие, нормализацию разделителей и поведение при конфликтах.

Для проверки исходных файлов используйте два искусственных файла с одинаковым базовым именем в разных исходных расположениях. Изучите их ключи в месте назначения, чтобы выяснить, может ли выбранная настройка пути привести к совпадению имён.

Используйте правила именования, которые сможете объяснить и проверить после передачи. Чтобы исходные файлы оставались различимыми, не полагайтесь на локальную структуру путей, пока не проверите полученные ключи. Ведите отдельную запись предполагаемых идентификаторов источника и места назначения, если ответ их не содержит.

Выход и подтверждение завершения

Компонент загрузки экспортирует порт data, отображаемый как Writes to AWS Bucket, с типом NoneType. Он не объявлен как подтверждение загрузки в формате JSON с URL объекта, контрольной суммой или числом загрузок. Не подключайте его ко входу, принимающему только JSON, исходя из предположения о наличии такого подтверждения.

Полезный результат — объект, сохранённый в ожидаемом месте назначения и проверенный с помощью ваших авторизованных инструментов AWS. Само завершение узла рабочего процесса не подтверждает побайтовое соответствие содержимого объекта исходным данным или правильность настроек доступа. Проверьте реальный объект, прежде чем использовать его в последующих шагах.

Использование и настройка

В экспортированном компоненте загрузки нет полей региона, токена сессии, загрузки по частям, контрольной суммы, скачивания, удаления или прослушивания событий. Эти пробелы не доказывают наличие скрытого поведения; они означают, что каталог не позволяет подтвердить такие возможности. Подробности правил доступа к бакету, допустимые метаданные исходного файла и поведение при неудачной загрузке требуют отдельной проверки.

Не называйте этот пример полноценным процессом резервного копирования или восстановления. Отдельную задачу передачи из источника в место назначения рассматривает исследование Google Drive to S3: скачивание обычных файлов и сопоставление ссылок на файлы.

Использование и справочные материалы

Каждый запуск узла расходует 1 Flowi Token. Ежемесячный объём токенов: Go — 5,000; Plus — 10,000; Pro 100 — 50,000; Pro 200 — 100,000; Pro 500 — 250,000. Заказать демо

Учитывайте хранение и использование API AWS по условиям своего аккаунта AWS, затем проверяйте фактические запуски узлов рабочего процесса и повторные попытки. Каталог описывает состав компонентов, а раздел интеграций содержит ссылки на страницы настройки сервисов.