torin-asakura/shdvor

Обновить `aws-sdk` в `prices`

Closed this issue · 9 comments

С чем связан запрос на фичу?

Необходимо обновить aws-sdk до последней версии и проверить код.

Расскажите как вы это себе видите

Библиотека, которую мы используем для работы с бакетом, необходимо обновить:

(node:10) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.

Приложите пример реализаций

https://github.com/candify-tech/web/tree/master/applicant/server/adapters/storage-adapter

бакетом

что такое бакет?

(node:10) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.

эта ошибка из стейджа? я могу до туда достучаться?

бакетом

что такое бакет?

Это просто хранилище файлов в облаке.

(node:10) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.

эта ошибка из стейджа? я могу до туда достучаться?

Со стейджа. Достучаться не можешь - это просто вывод в логи.

Текущий статус

  • читал доки
  • переписывал на новую версию

Дальнейшие планы

  • если aws сам цепляет переменные окружения и авторизирует клиент, то все готово - @Nelfimov подскажи пожалуйста, как работает
  • покачто переменные авторизации закомментировал, т.к. в новом клиенте нет таких параметров:
  const s3Client = new S3Client({
    endpoint: process.env.FILES_STORAGE_HOST,
    region: process.env.FILES_STORAGE_REGION,
    // accessKeyId: process.env.YC_SA_KEY_ID,
    // secretAccessKey: process.env.YC_SA_SECRET_KEY,
  })

Актуальная ветка

https://github.com/torin-asakura/shdvor/tree/refactor/update-aws-sdk

Дальнейшие планы

  • если aws сам цепляет переменные окружения и авторизирует клиент, то все готово - @Nelfimov подскажи пожалуйста, как работает

Цепляет сам - авторизация по переменным окружения, которые есть в стейдже.

  • покачто переменные авторизации закомментировал, т.к. в новом клиенте нет таких параметров:
  const s3Client = new S3Client({
    endpoint: process.env.FILES_STORAGE_HOST,
    region: process.env.FILES_STORAGE_REGION,
    // accessKeyId: process.env.YC_SA_KEY_ID,
    // secretAccessKey: process.env.YC_SA_SECRET_KEY,
  })

Посмотри пример который я приложил в таску - там как раз все что нужно для авторизации. Для примера: последняя работа с бакетом яндекса: https://github.com/atls/serverless-yandex/tree/master/adapters/storage

Стейдж

{"level":50,"name":"XML-Generator","body":{"code":"ERR_INVALID_URL","input":"storage.yandexcloud.net"},"severityNumber":17,"severityText":"ERROR","timestamp":1725956462874}

storage.yandexcloud.net

а вот это значение у нас вот в эту переменную окружения пишется, верно?

    endpoint: process.env.FILES_STORAGE_HOST,

@Nelfimov
в serverless-yandex нашел вот такую строку:

AWS_ENDPOINT - эндпоинт до бакета. Дефолт: https://storage.yandexcloud.net

https://github.com/atls/serverless-yandex/blob/5cfdb91dcc89a9490f7e733b55fbd3048ecccf21/entrypoints/video-optimizer/README.md?plain=1#L62

у нас используется без https

  • если будем добавлять, то где лучше сделать - в переменной окружения или в в скрипте добавить строку?

@effektivnayarabota1 поменял в стейдже. Посмотрим как пойдет. Пока закрываю