เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเปเบฒเบง. เบกเบทเปเบงเบฒเบเบเบตเป Yandex.Cloud เปเบเปเบเบฐเบเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบงเบเปเบฅเบดเบเบฒเบเบเบญเบกเบเบดเบงเปเบเบตเปเบเบตเปเบเปเปเบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบฒเบเบเบปเบเบญเบฒเบเบเบฐเบเปเปเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ. เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒ
เปเบเปเบกเบตเบชเบญเบเบชเบฒเบก nuances. เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบฅเบฐเบซเบฑเบเบชเบฑเบเบฅเปเบฝเบเบเบญเบเบเปเบฒเบเบญเบฒเบเบเบฐเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฒเบเบขเปเบฒเบ, เปเบฅเบฐเบกเบฑเบเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเปเบฅเบฑเบเบเปเบญเบเบเบตเปเบเบฐเบฅเบฒเบเบเบงเบเบกเบฑเบเปเบเบปเปเบฒเปเบเปเบ Cloud. เบญเบฑเบเบเบตเบชเบญเบ, chatbot เบเบปเบเบเบฐเบเบดเบเปเบญเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฐเบเบฒเบเบฐเบเบญเบเบเปเบญเบเปเบเปเบเบญเบเบขเบนเปเบเปเบญเบเปเบเบเปเบญเบเบซเบเบถเปเบ (เบชเบฐเบเบฑเปเบเบฅเบฑเบ); เบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบกเบฑเบเบขเบนเปเปเบเบซเบเปเบฒเบเบตเป serverless เบงเบดเบเบตเบเบตเปเบเปเบฒเบเบเบตเปเบชเบธเบ? เบญเบฑเบเบเบตเบชเบฒเบก, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบเบเบฑเบเบชเบฐเบเบตเปเปเบงเปเบฅเบฐเปเบเบทเปเบญเบเบชเปเบฒเบฅเบฑเบ Alice เบซเบผเบทเปเบกเปเบเบฐเบเบฑเปเบเบเบฒเบเบเบฐเปเบเบเบเบญเบ bot เบเบตเปเบกเบตเปเบเบเบเบฒเบเบเบตเปเบเปเปเปเบกเปเบเบชเบนเบ? เบเปเบฝเบงเบเบฑเบ nuances เปเบซเบผเบปเปเบฒเบเบตเป, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบปเบเบเบงเบฒเบก.
เบเบฒเบโเบเบฐโเบเบฝเบกโเบชเบดเบโเบเปเบฒโ
เบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบญเบปเบเบเบปเบ: เบเปเบญเบเปเบเบฑเบเบเปเบฒเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบตเปเบเปเบฒเปเบเบฑเบเบเปเบงเบ makefile เบเปเบญเบเบเบตเปเบเบฐเบญเบฑเบเปเบซเบฅเบเบเบฑเบเบเบฑเบเปเบเบดเบเปเบกเบ, เบเปเบญเบเปเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเปเบญเบเปเบเปเบเบญเบเปเบ Yandex Object Storage (เบกเบฑเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ API S3), เปเบฅเบฐเบเปเบญเบเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบญเบเบเปเบญเบเปเบญเบเปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเปเบญเบเปเบเปเบเบญเบ.
เบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบญเบปเบเบเบปเบเบซเบเปเบญเบเบฅเบปเบ, เบเปเบญเบเบเบตเปเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฅเบทเปเบญเบเบเบญเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบญเบเบเปเบญเบ, เบเปเบญเบเบเปเปเบเบฐเบเปเบฒเปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบฒเบเป. เบเบท, เบชเปเบฒเบเบเบฑเบเบเบฑเบ echobot เปเบเบฅเปเบเบฝเบง, เบฅเบปเบเบเบฐเบเบฝเบเปเบฅเบฐเบเบปเบเบชเบญเบเบกเบฑเบเบขเบนเปเปเบ console developer Dialog; เบฅเบฒเบโเบฅเบฐโเบญเบฝเบ - เปเบ
เบเปเบฒเปเบเบปเปเบฒเบขเบฒเบเบฎเบนเปเบเบฑเบเบเบตเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบณเบฅเบฑเบเบเปเปเบชเบนเปเปเบเบทเปเบญเบซเบเบฑเบ, เปเบซเปเบเบฒเบก Alice '
Alice: เบชเบฐเบเบฒเบเบเบต! เปเบเบปเปเบฒเบขเบนเปเปเบเบเบฑเบเบชเบฐ "เปเบญเบเบต horoscope". เปเบงเบปเปเบฒเบงเปเบฒ "เปเบฅเบตเปเบกเบเบปเปเบ" เปเบเบทเปเบญเบเบญเบเบซเบฒเบชเบดเปเบเบเบตเปเบเบฒเบงเบชเบฑเบเบเบฒเบเบฑเบเบเปเบฒเบ.
เบเบนเปเปเบเป: เปเบฅเบตเปเบก
A: เบเบฐเบฅเบธเบเบฒเบฅเบฐเบเบธเบเบทเปเบเบญเบเปเบเบปเปเบฒ.
Yu: Vasisualy
A: เบเบญเบเบเบตเปเบเบญเบเบเปเบญเบเบเบตเปเบเบตเบเบเบญเบเปเบเบปเปเบฒ. เบเบฝเบเปเบเปเบชเบตเปเบเบปเบงเปเบฅเบ, เบเปเปเบกเบตเบซเบเบฑเบเบซเบผเบฒเบ.
Yu: เบเบตเบชเบญเบ
A: เบเบฐเบฅเบธเบเบฒเบฅเบญเบเบญเบตเบเบเบฑเปเบ. เบเบญเบเบเบตเปเบเบตเบเบเบญเบเปเบเบปเปเบฒ - เบชเบตเปเบเบปเบงเปเบฅเบ.
Yu: 2002
A: เบเบดเปเบเปเบซเบเป! เบเบญเบเบเบตเปเบเบฑเปเบเบเบทเปเปเบเบทเบญเบเปเบเบตเบเบเบญเบเปเบเบปเปเบฒ.
Yu: เปเบเบทเบญเบเบเบธเบกเบเบฒ
A: เบเบดเปเบเปเบซเบเป! เบชเบธเบเบเปเบฒเบ, เบเบญเบเบเปเบญเบเบงเบฑเบเปเบเบทเบญเบเบเบตเปเบเบตเบเบเบญเบเปเบเบปเปเบฒ - เบเบฝเบเปเบเปเบเบปเบงเปเบฅเบ, เบเบฝเบเปเบเปเบซเบเบถเปเบเบซเบผเบทเบชเบญเบเบเบปเบงเปเบฅเบ.
Yu: 18
A: เบเบญเบเปเบ, Vasisual! เบเบฝเบงเบเบตเปเบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบงเปเบฒ: เปเบเบปเปเบฒเบกเบตเบญเบฒเบเบธ 17 เบเบตเปเบฅเบฐเปเบเบปเปเบฒเปเบเบฑเบ Aquarius. เบเบตเป, เปเบเปเบเบญเบ, เปเบเบปเปเบฒเปเบเบเบเบต! เบเบฒเบงเบเบญเบเปเบเบปเปเบฒ ะฐ ััะพ ะณะพะฒะพััั ะทะฒัะทะดั, ะฒั ัะทะฝะฐะตัะต, ะทะฐะฟัััะธะฒ ะฝะฐะฒัะบ.
เบเบฑเบเบซเบฒเปเบกเปเบเบงเปเบฒเปเบเบทเปเบญเบฎเบฑเบเบชเบฒเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเปเบเปเบเบญเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบง, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบทเปเบเบทเปเปเบฅเบฐเบงเบฑเบเปเบเบทเบญเบเบเบตเปเบเบตเบเบเบญเบเบเบนเปเปเบเป, เปเบฅเบฐเปเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบเบตเบเปเบงเบต, เบเบตเปเบเปเปเปเบกเปเบเปเบฅเบทเปเบญเบเปเบฅเบฑเบเบเปเบญเบ. เบกเบฑเบเบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบเบทเปเบญเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเบฅเบดเบเบปเบเปเบ RAM เบซเบผเบทเปเบเบฑเบเปเบเบฅเปเปเบเปเบเปเบ, เปเบเบฒเบฐเบงเปเบฒ Yandex.Cloud เบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเปเบเบทเปเบญเบ virtual เบซเบผเบฒเบเปเบเบทเปเบญเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเปเบฅเบฐเบชเบฐเบซเบผเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบเบงเบเบกเบฑเบเปเบเบ arbitrarily. เบเปเบฒเบเบเบฐเบเปเบญเบเปเบเปเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฒเบเบเบญเบเบเบฒเบเบเบฐเปเบเบ. Object Storage เปเบเปเบเบทเบเปเบฅเบทเบญเบเปเบเบฑเบเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบฅเบฒเบเบฒเบเบทเบ เปเบฅเบฐเบเปเบฒเบเบเบฒเบเปเบเบเบเบปเบเปเบ Yandex.Cloud (เบเบฑเปเบเปเบกเปเบเบญเบฒเบเบเบฐเปเบง). เปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบฃเบต, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฐเบเบฒเบเบฒเบก, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบชเบดเปเบเบเบฃเบต
เบเบฑเบเบซเบฒเบญเบตเบเบเบฐเบเบฒเบเบซเบเบถเปเบเปเบกเปเบเบงเปเบฒเปเบเบทเปเบญเปเบเบเบตเป Object Storage, MongoDB, เปเบฅเบฐเบเบฒเบเบเปเปเบกเบนเบเบซเบผเบทเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบญเบทเปเบเป, เบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเปเบเบดเปเบเบเบฒเบญเบฒเปเบชเบเบฒเบเบเบญเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบญเบฑเบเปเบซเบฅเบเปเบเบเบฑเบ Yandex Functions เบเปเบญเบกเบเบฑเบเบฅเบฐเบซเบฑเบเบเบฑเบเบเบฑเบเบเบญเบเบเปเบฒเบ. เปเบฅเบฐเบเปเบญเบเบขเบฒเบเปเบฎเบฑเบเบกเบฑเบเบชเบฐเบเบงเบเบชเบฐเบเบฒเบ. เบกเบฑเบเบชเบฐเบเบงเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ (เบเบทเบเบฑเบ heroku), เบญเบฐเบเบดเบเบฒ, เบกเบฑเบเบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบ, เปเบเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบงเบฒเบกเบชเบฐเบเบงเบเบชเบฐเบเบฒเบเบเบทเปเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบเบเบเบฒเบเบเบฝเบเบชเบฐเบเบดเบเปเบเบทเปเบญเบชเปเบฒเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบก (เบชเปเบฒเบเปเบเบฅเป).
เบงเบดเบเบตเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบชเบฐ horoscope
- เบเบฝเบกเบเปเบญเบก: เปเบเบเบฒเบเปเบเบทเปเบญเบเบเบตเปเบกเบต Linux. เปเบเบซเบผเบฑเบเบเบฒเบ, เบเปเบฒเบเบญเบฒเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ Windows เบเบทเบเบฑเบ, เปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเปเบญเบ conjure เบเบฑเบเบเบฒเบเปเบเบตเบเบเบปเบง makefile. เปเบฅเบฐเปเบเบเปเบฅเบฐเบเบตเปเบเบเปเปเบเบฒเบก, เบเปเบฒเบเบเบฐเบเปเบญเบเบกเบต Python เบเบดเบเบเบฑเปเบเบขเปเบฒเบเบซเบเปเบญเบ 3.6.
- Clone เบเบฒเบ github
เบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฑเบเบชเบฐ horoscope . - เบฅเบปเบเบเบฐเบเบฝเบเปเบ Ya.Cloud:
https://cloud.yandex.ru - เบชเปเบฒเบเบเบปเบงเบเปเบฒเบเปเบญเบเบชเบญเบเบเบธเปเบ
เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบงเบฑเบเบเบธ , เปเบเบซเบฒเบเบงเบเปเบเบปเบฒเบเปเบงเบเบเบทเปเปเบเบเปเปเบเบฒเบก{BUCKET NAME}
ะธtgalice-test-cold-storage
(เบเบทเปเบเบฒเบเบเบตเปเปเบเบเบฑเบเบเบธเบเบฑเบเปเบกเปเบ hardcoded เปเบเบฑเบmain.py
เบเบปเบงเบขเปเบฒเบเบเบญเบเบเปเบญเบ). เบเบฑเบเบเปเบฒเบญเบดเบเบเบฐเบเปเบญเบเบเบฒเบเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป, เบญเบฑเบเบเบตเบชเบญเบ - เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบฐเบเบฒเบเบฐเบเบญเบเบเปเบญเบเปเบเปเบเบญเบ. - เบชเปเบฒเบ
เบเบฑเบเบเบตเบเบฒเบเบเปเบฅเบดเบเบฒเบ , เปเบซเปเปเบเบปเบฒเบกเบตเบเบปเบเบเบฒเบeditor
, เปเบฅเบฐเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเบฐเบเปเบฒเบเบปเบงเปเบเบเบเบปเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบกเบฑเบ{KEY ID}
ะธ{KEY VALUE}
- เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบฒเปเบเปเบเบงเบเบกเบฑเบเปเบเบทเปเบญเบเบฑเบเบเบถเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒ. เบเบฑเบเบซเบกเบปเบเบเบตเปเปเบกเปเบเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเปเบซเปเบเบฑเบเบเบฑเบเบเบฒเบ Ya.Cloud เบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฒเบ Ya.Cloud. เบกเบทเปเบซเบเบถเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบซเบงเบฑเบเบงเปเบฒ, เบเบฒเบเบญเบฐเบเบธเบเบฒเบเบเบฐเบเบฒเบเปเบเบฑเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เปเบเปเบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ - เบเบฑเปเบเบเบฑเปเบ. - (เบเบฒเบเปเบฅเบทเบญเบ) เบเบฒเบเบเบดเบเบเบฑเปเบ
เบเบฒเบเปเบเปเบเบญเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ yc
. เบเบญเบเบเบฑเปเบเบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบซเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฒเบเปเบเปเบเบญเบเบเบญเบเปเบงเบฑเบเปเบเบเป, เปเบเป CLI เปเบกเปเบเบเบตเปเบเบฒเบฐเบงเปเบฒเบเบธเบเบเบฐเปเบเบเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบชเปเบฒเบเบเบฒเบเบปเบเบขเบนเปเปเบเบกเบฑเบเปเบงเบเบถเปเบ. - เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบฐเบเบฝเบกเบเบฒเบเบเบฐเบเบญเบเบเบญเบ dependencies: เบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบเบเบฒเบเปเบเบเปเบเบตเบเบตเปเบกเบตเบเบปเบงเบขเปเบฒเบเบเบฑเบเบชเบฐ.
make all
. เบเปเปเบเบญเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ (เบชเปเบงเบเบซเบผเบฒเบ, เบเบฒเบกเบเบปเบเบเบฐเบเบด, เบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบ) เบเบฐเบเบทเบเบเบดเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบเปเบเบตdist
. - เบเบทเปเบกเปเบชเปเบเบฒเบเบเบฒเปเบชเปเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบงเบฑเบเบเบธ (เปเบชเปเบเบฑเบ
{BUCKET NAME}
) เบฎเบงเบเบฎเบงเบกเบเบตเปเปเบเปเบฎเบฑเบเปเบเบเบฑเปเบเบเบญเบเบเบตเปเบเปเบฒเบเบกเบฒdist.zip
. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบ, เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบชเบดเปเบเบเบตเปเปเบเปเบเบฒเบเปเบชเบฑเปเบเบเปเบฒเบชเบฑเปเบ, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเปเบฒเปเบเปAWS CLI . - เบชเปเบฒเบเบเบฑเบเบเบฑเบเปเบเบตเบเปเบงเบตเบเปเบฒเบเบญเบดเบเปเบเบตเปเบเบเปเบงเบฑเบ เบซเบผเบทเปเบเปเบเบฐเปเบซเบเบ
yc
. เบชเปเบฒเบฅเบฑเบเบเบปเบเบเบฐเปเบซเบเบ, เบเปเบฒเบชเบฑเปเบเบเบฐเบกเบตเบฅเบฑเบเบชเบฐเบเบฐเบเบตเป:
yc serverless function version create
--function-name=horoscope
--environment=AWS_ACCESS_KEY_ID={KEY ID},AWS_SECRET_ACCESS_KEY={KEY VALUE}
--runtime=python37
--package-bucket-name={BUCKET NAME}
--package-object-name=dist.zip
--entrypoint=main.alice_handler
--memory=128M
--execution-timeout=3s
เปเบกเบทเปเบญเบชเปเบฒเบเบเบฑเบเบเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ, เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบฐเบเบทเบเบเบทเปเบกเปเบชเปเปเบเปเบเบเบเบฝเบงเบเบฑเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฑเบเบเบฑเบเบเบตเปเบเปเบฒเบเบชเปเบฒเบเบชเบฒเบกเบฒเบเบเบทเบเบเบปเบเบชเบญเบเบเปเบฒเบ developer console, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเบธเบเบเปเบฒเบเปเบฅเบฐเปเบเบตเบเปเบเปเบเบฑเบเบชเบฐ.
เบชเบดเปเบเบเบตเปเบขเบนเปเบเบฒเบเปเบเป hood เปเบเป
เบเบปเบงเบเบดเบเปเบฅเปเบง makefile เบกเบตเบชเบฐเบเบดเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเปเบชเบปเบกเบเบงเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบ dependencies เปเบฅเบฐเปเบญเบปเบฒเปเบชเปเปเบเบฎเบงเบเบฎเบงเบก. dist.zip
, เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบเบเบตเป:
mkdir -p dist/
pip3 install -r requirements.txt --target dist/
cp main.py dist/main.py
cp form.yaml dist/form.yaml
cd dist && zip --exclude '*.pyc' -r ../dist.zip ./*
เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเปเบกเปเบเปเบเบทเปเบญเบเบกเบทเบเปเบฒเบเปเบเปเบฒเบเบงเบเบซเบเปเบญเบเบเบตเปเบซเปเปเบขเบนเปเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ tgalice
. เบเบฐเบเบงเบเบเบฒเบเบเบทเปเบกเบเปเปเบกเบนเบเบเบนเปเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเปเบเบ config form.yaml
:
form_name: 'horoscope_form'
start:
regexp: 'ััะฐัั|ะฝะฐั(ะฐัั|ะฝะธ)'
suggests:
- ะกัะฐัั
fields:
- name: 'name'
question: ะะพะถะฐะปัะนััะฐ, ะฝะฐะทะพะฒะธัะต ัะฒะพั ะธะผั.
- name: 'year'
question: ะขะตะฟะตัั ัะบะฐะถะธัะต ะผะฝะต ะณะพะด ะฒะฐัะตะณะพ ัะพะถะดะตะฝะธั. ะขะพะปัะบะพ ัะตัััะต ัะธััั, ะฝะธัะตะณะพ ะปะธัะฝะตะณะพ.
validate_regexp: '^[0-9]{4}$'
validate_message: ะะพะถะฐะปัะนััะฐ, ะฟะพะฟัะพะฑัะนัะต ะตัั ัะฐะท. ะะฐะทะพะฒะธัะต ะณะพะด ะฒะฐัะตะณะพ ัะพะถะดะตะฝะธั - ัะตัััะต ัะธััั.
- name: 'month'
question: ะะฐะผะตัะฐัะตะปัะฝะพ! ะขะตะฟะตัั ะฝะฐะทะพะฒะธัะต ะผะตััั ะฒะฐัะตะณะพ ัะพะถะดะตะฝะธั.
options:
- ัะฝะฒะฐัั
...
- ะดะตะบะฐะฑัั
validate_message: ะขะพ, ััะพ ะฒั ะฝะฐะทะฒะฐะปะธ, ะฝะต ะฟะพั
ะพะถะต ะฝะฐ ะผะตััั. ะะพะถะฐะปัะนััะฐ, ะฝะฐะทะพะฒะธัะต ะผะตััั ะฒะฐัะตะณะพ ัะพะถะดะตะฝะธั, ะฑะตะท ะดััะณะธั
ัะปะพะฒ.
- name: 'day'
question: ะัะปะธัะฝะพ! ะะฐะบะพะฝะตั, ะฝะฐะทะพะฒะธัะต ะผะฝะต ะดะฐัั ะฒะฐัะตะณะพ ัะพะถะดะตะฝะธั - ัะพะปัะบะพ ัะธัะปะพ, ะฒัะตะณะพ ะพะดะฝะฐ ะธะปะธ ะดะฒะต ัะธััั.
validate_regexp: '[0123]?d$'
validate_message: ะะพะถะฐะปัะนััะฐ, ะฟะพะฟัะพะฑัะนัะต ะตัั ัะฐะท. ะะฐะผ ะฝัะถะฝะพ ะฝะฐะทะฒะฐัั ัะธัะปะพ ัะฒะพะตะณะพ ัะพะถะดะตะฝะธั (ะฝะฐะฟัะธะผะตั, ะดะฒะฐะดัะฐัะพะต); ััะพ ะพะดะฝะฐ ะธะปะธ ะดะฒะต ัะธััั.
เบซเปเบญเบเบฎเบฝเบ python เปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบเบงเปเบฒเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบ parsing config เบเบตเปเปเบฅเบฐเบเบฒเบเบเบดเบเปเบฅเปเบเบปเบเปเบเปเบฎเบฑเบเบชเบธเบเบเปเบฒเบ
class CheckableFormFiller(tgalice.dialog_manager.form_filling.FormFillingDialogManager):
SIGNS = {
'ัะฝะฒะฐัั': 'ะะพะทะตัะพะณ',
...
}
def handle_completed_form(self, form, user_object, ctx):
response = tgalice.dialog_manager.base.Response(
text='ะกะฟะฐัะธะฑะพ, {}! ะขะตะฟะตัั ะผั ะทะฝะฐะตะผ: ะฒะฐะผ {} ะปะตั, ะธ ะฒั {}. n'
'ะะพั ััะพ ะฒะฐะผ, ะบะพะฝะตัะฝะพ, ะฟะพะฒะตะทะปะพ! ะะฒัะทะดั ะณะพะฒะพััั ะฒะฐะผ: {}'.format(
form['fields']['name'],
2019 - int(form['fields']['year']),
self.SIGNS[form['fields']['month']],
random.choice(FORECASTS),
),
user_object=user_object,
)
return response
เบซเบผเบฒเบเบเบตเปเบเบฑเบเปเบเบ, เบซเปเบญเบเบฎเบฝเบเบเบทเปเบเบเบฒเบ FormFillingDialogManager
เปเบกเปเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเบเบทเปเบก "เปเบเบเบเบญเบก", เปเบฅเบฐเบงเบดเบเบตเบเบฒเบเบเบญเบเบซเปเบญเบเบฎเบฝเบเปเบเบฑเบเบเปเบญเบ handle_completed_form
เบเบญเบเบชเบดเปเบเบเบตเปเบเปเบญเบเปเบฎเบฑเบเปเบกเบทเปเบญเบเบฒเบเบเบฝเบกเบเปเบญเบก.
เบเบญเบเปเบซเบเบทเบญเปเบเบเบฒเบเบเบฒเบเปเบซเบผเปเบเบปเปเบฒเบเบปเปเบเบเปเบเบตเปเบเบญเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบญเบเบเบนเปเปเบเป, เบกเบฑเบเบเบฑเบเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเบปเบกเปเบเบตเบเบเบนเปเปเบเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฑเบเบซเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญเปเบเบเปเบฒเบชเบฑเปเบ "เบเปเบงเบเปเบซเบผเบทเบญ" เปเบฅเบฐเบเปเบญเบเบญเบญเบเบเบฒเบเบเบฑเบเบชเบฐเปเบเบเปเบฒเบชเบฑเปเบ "เบญเบญเบ". เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเปเบ tgalice
เบเบฑเบเบกเบตเปเบกเปเปเบเบ, เบเบฑเปเบเบเบฑเปเบเบเบนเปเบเบฑเบเบเบฒเบเบเปเบญเบเปเบเปเบเบญเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเบเบฐเบเบญเบเบเปเบงเบเบเปเบญเบ:
dm = tgalice.dialog_manager.CascadeDialogManager(
tgalice.dialog_manager.GreetAndHelpDialogManager(
greeting_message=DEFAULT_MESSAGE,
help_message=DEFAULT_MESSAGE,
exit_message='ะะพ ัะฒะธะดะฐะฝะธั, ะฟัะธั
ะพะดะธัะต ะฒ ะฝะฐะฒัะบ "ะะนัะธัะฝัะน ะณะพัะพัะบะพะฟ" ะตัั!'
),
CheckableFormFiller(`form.yaml`, default_message=DEFAULT_MESSAGE)
)
CascadeDialogManager
เปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบเป: เบกเบฑเบเบเบฐเบเบฒเบเบฒเบกเปเบเปเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฑเบเบเบธเบเบฑเบเบเบญเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบธเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบกเบฑเบเปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เปเบฅเบฐเปเบฅเบทเบญเบเบญเบฑเบเบเปเบฒเบญเบดเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ.
เปเบเบฑเบเบเบฒเบเบเบญเบเบเบฑเบเปเบเปเบฅเบฐเบเปเปเบเบงเบฒเบก, เบเบนเปเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบฐเบชเบปเปเบเบเบทเบเบงเบฑเบเบเบธ python Response
, เปเบเบดเปเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบชเบฒเบกเบฒเบเบเปเบฝเบเปเบเบฑเบเบเปเปเบเบงเบฒเบกเบเปเบฒเบกเบฐเบเบฒ, เบซเบผเบทเปเบเบปเปเบฒเปเบเปเบเบเปเปเบเบงเบฒเบกเปเบ Alice เบซเบผเบท Telegram - เบเบถเปเบเบเบฑเบเบเปเบญเบเบเบตเป bot เบเปเบฒเบฅเบฑเบเปเบฅเปเบ; เบกเบฑเบเบเบฑเบเบเบฐเบเบญเบเบเปเบงเบเบชเบฐเบเบฒเบเบฐเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบญเบเบเปเบญเบเปเบเปเบเบญเบเบเบตเปเบเปเบญเบเบเบฒเบเบเบฑเบเบเบถเบ. เปเบฎเบทเบญเบเบเบปเบงเบเบฑเบ เปเบปเบ เบเบตเปเปเบกเปเบเบเบฑเบเบเบฒเบเปเบเบเบเบฑเปเบเบญเบทเปเบ, DialogConnector
, เบเบฑเปเบเบเบฑเปเบเบชเบฐเบเบดเบเปเบเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบฑเบเบชเบฐเปเบ Yandex Functions เปเบเบดเปเบเบเบทเบงเปเบฒเบเบตเป:
...
session = boto3.session.Session()
s3 = session.client(
service_name='s3',
endpoint_url='https://storage.yandexcloud.net',
aws_access_key_id=os.environ['AWS_ACCESS_KEY_ID'],
aws_secret_access_key=os.environ['AWS_SECRET_ACCESS_KEY'],
region_name='ru-central1',
)
storage = tgalice.session_storage.S3BasedStorage(s3_client=s3, bucket_name='tgalice-test-cold-storage')
connector = tgalice.dialog_connector.DialogConnector(dialog_manager=dm, storage=storage)
alice_handler = connector.serverless_alice_handler
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบชเปเบงเบเปเบซเบเปเบเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบญเบ Object Storage S3. เบงเบดเบเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเบเบปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเป
เปเบชเบฑเปเบเบชเบธเบเบเปเบฒเบเบชเปเบฒเบเบซเบเปเบฒเบเบตเป alice_handler
- เบญเบฑเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฑเปเบเปเบซเปเบเบถเบ Yandex.Cloud เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบเบเบฒเบฅเบฒเบกเบดเปเบเบต --entrypoint=main.alice_handler
.
เบงเปเบฒ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เปเบกเปเบเบเบฑเบเบซเบกเบปเบ. Makefiles เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเบชเปเบฒเบ, S3 เบเปเบฒเบเบเบท Object Storage เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเบฅเบดเบเบปเบ, เปเบฅเบฐเบซเปเบญเบเบชเบฐเบซเบกเบธเบ python tgalice
. เบฎเปเบงเบกเบเบฑเบเบเบฑเบเบฅเบฑเบเบชเบฐเบเบฐเปเบเบตเบเปเบงเบตเปเบฅเบฐเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบญเบ python, เบเบตเปเปเบกเปเบเบเบฝเบเบเปเบเบตเปเบเบฐเบเบฑเบเบเบฐเบเบฒเบเบฑเบเบชเบฐเบเบญเบเบเบปเบเบเบตเปเบกเบตเบชเบธเบเบฐเบเบฒเบเบเบต.
เบเปเบฒเบเบญเบฒเบเบเบฐเบเบฒเบกเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบ tgalice
? เบฅเบฐเบซเบฑเบเบเบตเปเบซเบเปเบฒเปเบเบทเปเบญเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบญเบ JSON เบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบชเบนเปเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบฅเบฐเบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบซเบฒเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบฅเบฐเบเบฑเบเบเบทเบเปเบเบเปเบญเบเปเบกเปเบเบขเบนเปเปเบเบกเบฑเบ. เบเบฑเบเบกเบตเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบปเบเบเบฐเบเบด, เบซเบเปเบฒเบเบตเปเปเบเบปเปเบฒเปเบเบงเปเบฒ "เปเบเบทเบญเบเบเบธเบกเบเบฒ" เปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ "เปเบเบทเบญเบเบเบธเบกเบเบฒ", เปเบฅเบฐ NLU เบญเบทเปเบเปเบชเปเบฒเบฅเบฑเบเบเบนเปเบเบธเบเบเบฒเบ. เบญเบตเบเบเบฒเบกเบเบงเบฒเบกเบเบดเบเบเบญเบเบเปเบญเบ, เบเบตเปเบเบงเบเบเบฐเบเบฝเบเบเปเปเบฅเปเบงเบเบตเปเบเบฐเบชเบฒเบกเบฒเบเปเบเปเบกเบเบปเบงเปเบเบเบเบฑเบเบชเบฐเปเบเปเบเบฅเป yaml เปเบเบเบเปเปเบกเบตเบเบฒเบเบฅเบปเบเบเบงเบเบเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ.
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบ NLU เบเบตเปเบฎเบธเบเปเบฎเบเบเบงเปเบฒ, เบเปเบฒเบเบชเบฒเบกเบฒเบ screw เบกเบฑเบเบเบฑเบเบเบฑเบเบชเบฐเบเบญเบเบเปเบฒเบ
เปเบฅเปเบง, เบเบญเบเบเบตเปเปเบเบปเปเบฒเบฎเปเบงเบก
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com