Data Stores Basics

pipedream
26 Apr 202204:33

Summary

TLDRВ этом видео скрипт рассматривается использование хранилищ данных в автоматизированных рабочих процессах. Хранилища данных позволяют сохранять информацию между запусками, что идеально подходит для создания счётчиков, уникальных списков, таких как адреса электронной почты, и отслеживания времени последнего запуска. В видео показан пример создания хранилища для сохранения адресов электронной почты клиентов, чтобы избежать повторных запусков рабочих процессов для тех же клиентов. Также демонстрируется, как проверить наличие адреса в хранилище и обновить его при необходимости, используя предварительно созданные шаги в рабочем процессе.

Takeaways

  • 🔄 Каждое выполнение рабочего процесса начинается с чистого состояния, что исключает влияние предыдущих запусков на будущие.
  • 🗂 Используя хранилища данных, можно сохранять данные для использования в последующих запусках или даже обмениваться данными между различными рабочими процессами.
  • 📊 Хранилища данных подходят для создания счётчиков, массивов уникальной информации, таких как электронные адреса, для предотвращения повторного запуска рабочего процесса для одного и того же клиента.
  • ⏰ Можно использовать хранилища данных для быстрого отслеживания последнего времени запуска рабочего процесса.
  • 🛠️ В примере рабочего процесса используется триггер HTTP и инструмент hopscotch.pipedream.com для отправки POST-запроса с данными клиента.
  • 📥 В рабочем процессе данные клиента, такие как имя, фамилия и адрес электронной почты, включены в теле запроса.
  • 📝 Добавление нового шага для хранения адреса электронной почты клиента, чтобы избежать повторного запуска рабочего процесса для этого клиента.
  • 🔑 Создание нового хранилища данных для хранения адресов электронной почты клиентов с использованием ключа 'email' и значения из тела запроса.
  • 🔍 Тестирование добавления записи в хранилище данных и проверка успешности операции.
  • 📋 Просмотр и редактирование данных в хранилище на дашборде, включая возможность редактировать и удалять записи вручную.
  • 🚫 Использование шага для извлечения адреса электронной почты из хранилища данных и проверки наличия записи, чтобы предотвратить отправку писем тем, кому уже отправлено.
  • 🔢 Рабочие процессы могут хранить данные, сериализуемые в JSON, включая объекты, массивы, строки, целые и десятичные числа.

Q & A

  • Что такое 'data store' в контексте автоматизированных рабочих процессов?

    -Data store - это место хранения данных, которое сохраняется между несколькими запусками рабочих процессов и даже между различными рабочими процессами. Оно используется для хранения данных, таких как счетчики или уникальные списки информации, чтобы избежать повторных запусков рабочих процессов для одних и тех же данных.

  • Какие данные можно хранить в 'data store'?

    -В 'data store' можно хранить данные, которые сериализуются в JSON, включая объекты, массивы, строки, целые и дробные числа.

  • Какие проблемы решает использование 'data store'?

    -Использование 'data store' позволяет решить проблемы с повторными запусками рабочих процессов для одних и тех же данных, а также обеспечивает возможность хранения и использования данных в последующих запусках и между различными рабочими процессами.

  • Чем отличается 'data store' от 'step exports' в рабочем процессе?

    -'Data store' хранит данные на протяжении многих запусков и между различными рабочими процессами, в то время как 'step exports' доступны только во время выполнения текущего рабочего процесса.

  • Какие действия можно выполнить с 'data store'?

    -С 'data store' можно добавлять, получать, редактировать и удалять записи данных.

  • Как проверить, есть ли уже сохраненная запись в 'data store'?

    -Для проверки существующей записи можно использовать функцию 'get record', указав 'data store' и ключ записи.

  • Какой шаг следует добавить для добавления записи в 'data store'?

    -Для добавления записи в 'data store' следует добавить шаг 'add a single record', указав 'data store', ключ и значение записи.

  • Как настроить новый 'data store' в рабочем процессе?

    -Чтобы настроить новый 'data store', нужно выбрать опцию создания нового хранилища, указать название хранилища и ключ-значение для хранимых данных.

  • Как можно избежать отправки писем тем же людям, для которых уже был запущен рабочий процесс?

    -Можно использовать 'data store' для хранения адресов электронной почты, и перед отправкой проверять наличие адреса в 'data store', чтобы избежать повторных отправок.

  • Что будет показано в 'data store' после добавления записи?

    -После добавления записи в 'data store' будет показана информация о ключе и его значении, а также подтверждение успешного добавления записи.

  • Какие дополнительные функции будут рассмотрены в будущих сериях?

    -В будущих сериях будет показано, как использовать 'data store' в рамках шагов на Node.js, а также, возможно, в других языках программирования, таких как Python, Bash или Go.

Outlines

00:00

🔄 Автоматизация рабочих процессов с использованием хранилищ данных

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

📬 Использование хранилищ данных для управления клиентскими данными

В этом параграфе описывается процесс настройки нового рабочего процесса с триггером HTTP и отправкой POST-запроса с данными клиента, такими как имя, фамилия и адрес электронной почты, с помощью инструмента hopscotch.pipedream.com. Далее, в рабочем процессе, создаётся новый шаг для хранения адреса электронной почты клиента в хранилище данных, чтобы избежать повторного запуска процесса для тех же клиентов. Рассматривается создание нового хранилища данных, добавление записи с ключом 'email' и значением адресом электронной почты из полезных данных, полученным от клиента, а также проверка успешности добавления записи и редактирование данных в хранилище.

🔍 Получение и проверка данных из хранилища для предотвращения повторений

В этом параграфе продолжается тема предотвращения повторного запуска рабочего процесса для тех же адресов электронной почты. Рассматривается добавление нового шага для извлечения адреса электронной почты из хранилища данных, использование функций получения записи и проверки наличия записи с заданным ключом. Также описывается проверка успешности получения записи и способы использования данных для фильтрации или других операций, чтобы гарантировать, что не будет отправлено несколько писем одному и тому же человеку. Заключение параграфа касается возможности хранения JSON-сериализуемых данных в рабочих процессах, включая объекты, массивы, строки и числа, с обещанием продемонстрировать использование хранилищ данных в будущих эпизодах.

Mindmap

Keywords

💡workflow

Workflow в контексте видео обозначает последовательность действий или процесс, который выполняется в автоматизированной среде, такой как система управления хостингом или облачные сервисы. В видео это связано с созданием и запуском автоматизированных задач, где каждый запуск начинается с чистого состояния, что означает, что предыдущие запуски не влияют на будущие. Пример из скрипта: 'each time your workflow runs it starts, with an empty state'.

💡data stores

Data stores представляют собой место хранения данных, которые сохраняются и могут использоваться в различных запусках рабочего процесса или даже в разных рабочих процессах. Они особенно полезны для хранения данных, которые должны быть доступны на протяжении нескольких запусков, в отличие от временных переменных, которые существуют только во время выполнения. Пример из скрипта: 'this is where data stores come in handy'.

💡step exports

Step exports - это временные данные, созданные в ходе выполнения конкретного шага в рабочем процессе. Они доступны только на протяжении выполнения этого шага и не сохраняются после его завершения. В видео они сравниваются с data stores, которые, напротив, сохраняются на протяжении нескольких запусков. Пример из скрипта: 'unlike step exports which only live during the lifetime of your workflow's execution'.

💡http trigger

HTTP trigger - это тип триггера, который запускает рабочий процесс в ответ на HTTP-запрос. В контексте видео это означает, что рабочий процесс может быть запущен при получении определенного HTTP-запроса, что позволяет интегрировать различные сервисы и приложения. Пример из скрипта: 'i've already configured this one to have an http trigger'.

💡post request

POST-запрос - это тип HTTP-запроса, используемого для отправки данных на сервер. В видео это используется для отправки данных о клиенте, таких как имя, фамилия и адрес электронной почты, в рабочий процесс через HTTP-триггер. Пример из скрипта: 'to send a post request with some customer data'.

💡payload

Payload в контексте видео - это тело запроса, которое содержит данные, отправленные в HTTP-запросе. В данном случае это данные о клиенте, такие как имя, фамилия и адрес электронной почты, которые включены в тело POST-запроса. Пример из скрипта: 'first name, last name and email are included within the body of the payload'.

💡add a single record

Фраза 'add a single record' означает добавление одного записи в data store. В видео это используется для добавления адреса электронной почты клиента в data store, чтобы избежать повторного запуска рабочего процесса для одного и того же клиента. Пример из скрипта: 'i'm going to use the add a single record so that way we can add the email, to our data store'.

💡datastore

Datastore - это место хранения данных, которое может быть создано и использовано для хранения и извлечения данных в рабочих процессах. В видео datastore с названием 'customers' используется для хранения адресов электронной почты клиентов. Пример из скрипта: 'i'm going to name it emails, well let's name it customers actually'.

💡get record

Get record - это операция, используемая для извлечения записи из datastore по определенному ключу. В видео это используется для проверки существует ли уже запись с адресом электронной почты клиента в datastore, чтобы избежать отправки повторного запроса. Пример из скрипта: 'let's add a brand new step that will retrieve the email address in our data store'.

💡json serializable data

JSON serializable data - это данные, которые могут быть сериализованы в формат JSON, включая объекты, массивы, строки, целые и десятичные числа. В видео это упоминается в контексте того, что workflows могут хранить данные в таком формате. Пример из скрипта: 'workflows can store json serializable data so this includes objects, arrays strings and integers and numbers'.

Highlights

Workflows start with an empty state to prevent past runs from affecting future ones.

Data stores allow for data persistence across multiple workflow runs and sharing across different workflows.

Data stores are useful for building counters, creating arrays of unique information, and timestamp tracking.

Demonstration of a new workflow configured with an HTTP trigger and a tool to send a POST request with customer data.

Introduction of a new step to store the customer's email to prevent duplicate workflow runs for the same customer.

Explanation of how to add a single record to a data store with a specified key and value.

Creation of a new data store named 'customers' to store customer information.

Testing the addition of a new record to the data store and verifying the operation's success.

Accessing and viewing the data store from the dashboard to confirm the stored information.

Editing and manually updating the value of a record in the data store.

Ability to delete records manually from the data store.

The workflow's goal to avoid acting on emails from customers already processed.

Adding a step to retrieve an email address from the data store to check for duplicates.

Using a filter or scripting step to prevent sending emails to previously processed customers.

Workflows can store JSON serializable data, including objects, arrays, strings, and numbers.

Future episodes will cover using data stores within custom Node.js steps.

Transcripts

play00:00

each time your workflow runs it starts

play00:02

with an empty state

play00:03

this way past runs of your workflow

play00:06

won't affect future runs of your

play00:08

workflow but sometimes you want to store

play00:10

data and use it and later workflow runs

play00:13

or maybe even share data across

play00:14

workflows this is where data stores come

play00:17

in handy unlike step exports which only

play00:19

live during the lifetime of your

play00:21

workflow's execution data stores persist

play00:24

across many runs and even across

play00:26

different workflows data stores are

play00:29

great for doing things like building

play00:31

counters or making arrays of unique

play00:33

information such as emails so that way

play00:36

you don't accidentally run a workflow

play00:37

twice in the same customer or just a

play00:39

quick timestamp tracker to see the last

play00:41

time a workflow ran so let's go ahead

play00:44

and start with a brand new workflow i've

play00:46

already configured this one to have an

play00:47

http trigger and i've used our

play00:50

hopscotch.pipedream.com tool to send a

play00:53

post request with some customer data

play00:55

like first name last name and email

play00:57

we'll go back to our workflow and we can

play01:00

see right here that indeed first name

play01:02

last name and email are included within

play01:04

the body of the payload

play01:05

and let's make a new step to store the

play01:08

customer's email to make sure we're not

play01:10

running the same workflow if that

play01:12

customer comes back again

play01:13

so we're going to add a brand new step

play01:16

and you can see here on the left hand

play01:18

side that there's a data stores app that

play01:20

holds the actions available to interact

play01:22

with data stores so i'm going to open

play01:24

this up

play01:25

and i'm going to use the add a single

play01:28

record so that way we can add the email

play01:31

to our data store

play01:32

the very first prompt you'll see is to

play01:35

create a brand new store because there's

play01:36

not one in my account yet so i'm going

play01:38

to open it i'm going to name it emails

play01:42

well let's name it customers actually

play01:44

so we're describing customers

play01:47

and we'll set the key to email

play01:51

and we'll set the value to the email of

play01:54

the body

play01:55

given to us by the customer

play01:58

now we can test

play02:00

and this should add a brand new record

play02:02

to our data store

play02:04

we can see that the summary says we've

play02:06

successfully added a new record with the

play02:08

key email

play02:10

and returned the record stored

play02:12

now we can actually double check this

play02:15

within our dashboard so we're going to

play02:16

leave this workflow head on back to the

play02:19

dashboard i'm going to leave without

play02:20

deploying here and you can see on the

play02:23

left hand side we have a datastores

play02:25

portion of the dashboard

play02:26

we can open this and sure enough

play02:29

right here is the customers data store

play02:30

that we just created and we can open it

play02:33

and see right in here that the key has

play02:35

been set to the value of westin at

play02:38

pipedream.com

play02:39

now we can do more than just look at the

play02:41

data here we can actually edit it on the

play02:43

right hand side there is an edit button

play02:46

where we can edit the value manually so

play02:48

if i want to change it to myself

play02:51

say peer set pipe dream we can do that

play02:53

and we can also delete records manually

play02:55

now we said the whole goal of this

play02:57

workflow was to make sure we don't act

play02:59

on emails we've seen before right so

play03:01

let's head on back to our workflow and

play03:04

let's reopen it up

play03:06

and in between the update add record

play03:08

let's add a brand new step that will

play03:10

retrieve the email address in our data

play03:13

store

play03:14

we're going to open this up and we're

play03:16

going to use the get record

play03:20

select our data store that we created

play03:21

before

play03:22

and we know that the key is email

play03:26

and we don't want to create a new record

play03:27

if it's not found

play03:30

so now we test this it should be able to

play03:32

pull that record we modified manually to

play03:34

say pierce at pipe dream look at the

play03:36

record and sure enough the return value

play03:39

is pierce at pipe dream and now we can

play03:41

use a filter or we can use a node.js

play03:44

step or python or bash or go

play03:46

to make sure that we don't

play03:48

send another email to this same person

play03:50

that we've seen before that covers the

play03:52

very basics of setting and getting data

play03:55

with pre-built steps within your

play03:57

workflows but just to note workflows can

play03:59

store json serializable data so this

play04:02

includes objects

play04:04

arrays strings and integers and numbers

play04:07

in future episodes i'm going to show you

play04:09

how you can use data stores within your

play04:10

node.js steps as well

play04:13

[Music]

play04:32

you

Rate This

5.0 / 5 (0 votes)

Related Tags
Хранилища данныхРабочие процессыДанные клиентовУникальностьHTTP-триггерPOST-запросыJSON-сериализацияПроверка дубликатовАвтоматизацияПипдрим
Do you need a summary in English?