Возможно ли это с помощью здравомыслия? запланированные внешние вызовы API в Sanity

Вот чего я хотел бы добиться?

1- Выполнять вызов API новостей каждую ночь 2- Извлекать последние заголовки 3- Импортировать в здравомыслие ...

Разрешает ли вам это Sanity? Есть ли у него работа cron?

Спасибо,


person Timur Catakli    schedule 12.10.2020    source источник


Ответы (1)


В Sanity нет собственного способа сделать это, но вы можете создавать задания cron с помощью внешнего бессерверного провайдера, который выполняет нужную вам функциональность ????

Запланированные функции Firebase являются примером поставщика, но есть еще много вариантов. Я предлагаю взглянуть на примеры бессерверной инфраструктуры.

Определив, что вы будете использовать, используйте HTTP API Sanity или один из их клиентов API (@sanity/client для Javascript), чтобы добавить в него данные. Для этого вам понадобится токен, так как запросы POST защищены стеной авторизации (взгляните на их Документы по аутентификации).

Вот пример того, как это может выглядеть в Javascript:

// For Javascript - using the @sanity/client npm package
const allHeadlines = await pullHeadlines(/* ... */);

// Create a single transaction that will handle
// the creation of all headline documents
const transaction = sanityClient.transaction();
for (const headline of allHeadlines) {
  transaction = transaction.create({ title: headline.title, ...headline });
}

transaction
  .commit()
  .then((res) => {
    console.log("All headlines created");
    // Finish the cron job here
  })
  .catch((error) => {
    console.error("Couldn't create the headline documents", error);
    // Maybe retry it here?
  });

Надеюсь, это поможет, Тимур ????

person Henrique Doro    schedule 26.10.2020
comment
Не могли бы вы взглянуть на следующий вопрос: stackoverflow.com/q/66902726/9409877 - person HKS; 01.04.2021