เชเชพเชฒเซ เชธเชฎเชพเชเชพเชฐเชฅเซ เชถเชฐเซเชเชค เชเชฐเซเช. เชเชเชเชพเชฒเซ Yandex.Cloud เช เชธเชฐเซเชตเชฐเชฒเซเชธ เชเชฎเซเชชเซเชฏเซเชเชฟเชเช เชธเซเชตเชพ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชพเชนเซเชฐเชพเชค เชเชฐเซ เชนเชคเซ
เชเซ เชเซ, เชเซเชเชฒเชพเช เชฌเชฟเชฒเชเซเชฒ เชเซเชเชตเชฃเซ เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ. เช เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเช เชเซ
เชชเชฐเชเชคเซ เชคเซเชฏเชพเช เชเซเชเชฒเชพเช เชเซเชเชเชพเช เชเซ. เชธเซเชชเซเชฐเชฅเชฎ, เชคเชฎเชพเชฐเชพ เชชเซเช เชเซเชกเชจเซ เชเซเชเชฒเซเช เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชถเชเซ เชเซ, เช เชจเซ เชคเซเชฎเชจเซ เชเซเชฒเชพเชเชกเชฎเชพเช เชเซเชเชเชตเซเช เชฌเชฟเชจ-เชคเซเชเซเช เชเซ. เชฌเซเชเซเช, เชเซเชเชชเชฃ เชธเชพเชฎเชพเชจเซเชฏ เชเซเชเชฌเซเชเชจเซ เชธเชเชตเชพเชฆเชจเซ เชธเซเชฅเชฟเชคเชฟ เชเซเชฏเชพเชเช เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ (เชคเซเชฅเซ เชธเซเชเซเชเชซเซเชฒ); เชธเชฐเซเชตเชฐเชฒเซเชธ เชซเชเชเซเชถเชจเชฎเชพเช เช เชเชฐเชตเชพเชจเซ เชธเซเชฅเซ เชธเชนเซเชฒเซ เชฐเซเชค เชเช เชเซ? เชคเซเชฐเซเชเซ เชธเซเชฅเชพเชจเซ, เชคเชฎเซ เชเชฒเชฟเชธ เชฎเชพเชเซ เชเชกเชชเซ เช เชจเซ เชเชเชฆเชพ เชเซเชถเชฒเซเชฏ เชเซเชตเซ เชฐเซเชคเซ เชฒเชเซ เชถเชเซ เชเซ เช เชฅเชตเชพ เชคเซ เชฌเชฟเชจ-เชถเซเชจเซเชฏ เชชเซเชฒเซเช เชธเชพเชฅเซ เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชฌเซเช? เชฒเซเช, เชนเชเซเชเชคเชฎเชพเช, เช เชเซเชเชเชพเช เชตเชฟเชถเซ เชเซ.
เชจเซเชคเชฟเช เชคเซเชฏเชพเชฐเซ
เช
เชงเซเชฐเชพ เชฎเชพเชเซ: เชเซเชฒเชพเชเชก เชชเชฐ เชซเชเชเซเชถเชจ เช
เชชเชฒเซเชก เชเชฐเชคเชพ เชชเชนเซเชฒเชพ เชนเซเช เชฎเซเชเชซเชพเชเชฒ เชธเชพเชฅเซ เชเชฐเซเชฐเซ เชจเชฟเชฐเซเชญเชฐเชคเชพเช เชเชเชคเซเชฐเชฟเชค เชเชฐเซเช เชเซเช, เชนเซเช เชฏเชพเชจเซเชกเซเชเซเชท เชเชฌเซเชเซเชเซเช เชธเซเชเซเชฐเซเชเชฎเชพเช เชธเชเชตเชพเชฆเชจเซ เชธเซเชฅเชฟเชคเชฟ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซเช เชเซเช (เชคเซ S3 API เชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ), เช
เชจเซ เชนเซเช เชธเชเชตเชพเชฆเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชฎเชพเชฐเซ เชชเซเชคเชพเชจเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช.
เชฅเซเชกเชพ เชเชเชพ เช
เชงเซเชฐเชพ เชฒเซเชเซ เชฎเชพเชเซ, เชเชเชฟเชฒเชคเชพ เชตเชฟเชถเซ เชฎเชพเชฐเซ เชตเชพเชฐเซเชคเชพเชฎเชพเช เชกเชพเชเชต เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เชนเซเช เชเชเชเช เชธเชฐเชณ เชธเชพเชฅเซ เชชเซเชฐเชพเชฐเชเชญ เชเชฐเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช. เชเชเชฒเซ เชเซ, เชธเชฟเชเชเชฒ-เชซเชพเชเชฒ เชเชเซเชฌเซเช เชซเชเชเซเชถเชจ เชฌเชจเชพเชตเซ, เชคเซเชจเซ เชกเชพเชฏเชฒเซเช เชกเซเชตเชฒเชชเชฐ เชเชจเซเชธเซเชฒเชฎเชพเช เชฐเชเซเชธเซเชเชฐ เชเชฐเซ เช
เชจเซ เชคเซเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ; เชตเชฟเชเชคเซ - เชฎเชพเช
เชเซ เชคเชฎเซ เชคเชฐเชค เช เช
เชจเซเชญเชตเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซเชต เชเซ เช
เชฎเซ เช
เชนเซเช เชถเซเช เชฒเชกเซ เชฐเชนเซเชฏเชพ เชเซเช, เชคเซ เชเชฒเชฟเชธเชจเซ เชชเซเชเซ.
เชเชฒเชฟเชธ: เชนเซเชฒเซ! เชคเชฎเซ "IT เชเชจเซเชฎเชพเชเซเชทเชฐ" เชเซเชถเชฒเซเชฏเชฎเชพเช เชเซ. เชคเชพเชฐเชพเช เชคเชฎเชจเซ เชถเซเช เชตเชเชจ เชเชชเซ เชเซ เชคเซ เชถเซเชงเชตเชพ เชฎเชพเชเซ "เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ" เชเชนเซ.
เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ: เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ
A: เชเซเชชเชพ เชเชฐเซเชจเซ เชคเชฎเชพเชฐเซเช เชจเชพเชฎ เชเชฃเชพเชตเซ
เชฏเซ: เชตเชธเซเชธเซเช
เชฒเซ
A: เชนเชตเซ เชฎเชจเซ เชคเชฎเชพเชฐเชพ เชเชจเซเชฎเชจเซเช เชตเชฐเซเชท เชเชนเซ. เชฎเชพเชคเซเชฐ เชเชพเชฐ เช
เชเชเซ, เชตเชงเชพเชฐเชพเชจเซเช เชเชเช เชจเชฅเซ.
เชฏเซ: เชธเซเชเชจเซเชก
A: เชเซเชชเชพ เชเชฐเซเชจเซ เชซเชฐเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ. เชคเชฎเชพเชฐเชพ เชเชจเซเชฎเชจเซเช เชตเชฐเซเชท เชฆเชพเชเชฒ เชเชฐเซ - เชเชพเชฐ เช
เชเชเซ.
เชฏเซ: 2002
เชเช เชฎเชนเชพเชจ! เชนเชตเซ เชคเชฎเชพเชฐเชพ เชเชจเซเชฎเชจเชพ เชฎเชนเชฟเชจเชพเชจเซ เชจเชพเชฎ เชเชชเซ.
เชฏเซ: เชซเซเชฌเซเชฐเซเชเชฐเซ
เชเช เชฎเชนเชพเชจ! เชเซเชฒเซเชฒเซ, เชฎเชจเซ เชคเชฎเชพเชฐเซ เชเชจเซเชฎเชคเชพเชฐเซเช เชเชฃเชพเชตเซ - เชฎเชพเชคเซเชฐ เชเช เชธเชเชเซเชฏเชพ, เชฎเชพเชคเซเชฐ เชเช เชเซ เชฌเซ เช
เชเช.
เชฏเซ: 18
A: เชเชญเชพเชฐ, เชตเชพเชธเซเชธเซเช
เชฒเซ! เชนเชตเซ เชเชชเชฃเซ เชเชพเชฃเซเช เชเซเช: เชคเชฎเซ 17 เชตเชฐเซเชทเชจเชพ เชเซ เช
เชจเซ เชเชเซเชตเซเชฐเชฟเชฏเชธเชจเชพ เชเซ. เชธเชพเชฐเซเช, เช
เชฒเชฌเชคเซเชค, เชคเชฎเซ เชจเชธเซเชฌเชฆเชพเชฐ เชเซ! เชคเชพเชฐเชพเช เชคเชฎเชจเซ เชเชนเซ เชเซ: ะฐ ััะพ ะณะพะฒะพััั ะทะฒัะทะดั, ะฒั ัะทะฝะฐะตัะต, ะทะฐะฟัััะธะฒ ะฝะฐะฒัะบ.
เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เชเชเชฒเซ เชธเชฐเชณ เชธเชเชตเชพเชฆ เชเชพเชณเชตเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซเช เชจเชพเชฎ เช
เชจเซ เชเชจเซเชฎ เชคเชพเชฐเซเช เชฏเชพเชฆ เชฐเชพเชเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เช
เชจเซ เชธเชฐเซเชตเชฐ เชตเชฟเชจเชพเชจเชพ เชเชพเชฐเซเชฏ เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช เช เชฌเชฟเชจ-เชคเซเชเซเช เชเซ. เชธเชเชฆเชฐเซเชญเชจเซ RAM เชฎเชพเช เช
เชฅเชตเชพ เชกเชฟเชธเซเช เชชเชฐ เชซเชพเชเชฒ เชคเชฐเซเชเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพเชจเซเช เชถเชเซเชฏ เชฌเชจเชถเซ เชจเชนเซเช, เชเชพเชฐเชฃ เชเซ Yandex.Cloud เชเช เช เชธเชฎเชฏเซ เช
เชจเซเช เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเซ เชชเชฐ เชซเชเชเซเชถเชจ เชเชฒเชพเชตเซ เชถเชเซ เชเซ เช
เชจเซ เชคเซเชฎเชจเซ เชตเชเซเชเซ เชธเซเชตเชฟเช เชเชฐเซ เชถเชเซ เชเซ. เชคเชฎเชพเชฐเซ เช
เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชฌเชพเชนเซเชฏ เชธเซเชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชชเชกเชถเซ. เชเชฌเซเชเซเชเซเช เชธเซเชเซเชฐเซเชเชจเซ เชธเซเชงเชพ Yandex.Cloud (เชเชเชฒเซ โโโโเชเซ, เชเชฆเชพเช เชเชกเชชเซ) เชฎเชพเช เชเชเชฆเชฎ เชธเชธเซเชคเซเช เช
เชจเซ เชเชเชฟเชฒ เชธเซเชเซเชฐเซเช เชคเชฐเซเชเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช. เชฎเชซเชค เชตเชฟเชเชฒเซเชช เชคเชฐเซเชเซ, เชคเชฎเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชถเชเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเช เชฎเชซเชค เชญเชพเช
เชฌเซเชเซ เชธเชฎเชธเซเชฏเชพ เช เชเซ เชเซ เชเชฌเซเชเซเชเซเช เชธเซเชเซเชฐเซเช, เชฎเซเชเชเซเชกเซเชฌเซ เช เชจเซ เช เชจเซเชฏ เชเซเชเชชเชฃ เชกเซเชเชพเชฌเซเช เช เชฅเชตเชพ เชกเซเชเชพ เชธเซเชเซเชฐเชจเซ เชเชเซเชธเซเชธ เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเซเชเชฒเซเช เชฌเชพเชนเซเชฏ เชจเชฟเชฐเซเชญเชฐเชคเชพเชเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชคเชฎเชพเชฐเชพ เชซเชเชเซเชถเชจ เชเซเชก เชธเชพเชฅเซ เชฏเชพเชจเซเชกเซเชเซเชธ เชซเชเชเซเชถเชจเซเชธ เชชเชฐ เช เชชเชฒเซเชก เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชจเซ เชนเซเช เช เชธเซเชตเชฟเชงเชพเชเชจเช เชฐเซเชคเซ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช. เชเชฎเชจเชธเซเชฌเซ, เชคเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เช เชจเซเชเซเชณ เชฐเชนเซเชถเซ เชจเชนเซเช (เชเซเชฎ เชเซ Heroku เชชเชฐ), เชชเชฐเชเชคเซ เชชเชฐเซเชฏเชพเชตเชฐเชฃ (เชซเชพเชเชฒ เชฌเชจเชพเชตเซ) เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฒเชเซเชจเซ เชเซเชเชฒเซเช เชฎเซเชณเชญเซเชค เชเชฐเชพเชฎ เชฌเชจเชพเชตเซ เชถเชเชพเชฏ เชเซ.
เชเชจเซเชฎเชพเชเซเชทเชฐ เชเซเชถเชฒเซเชฏ เชเซเชตเซ เชฐเซเชคเซ เชถเชฐเซ เชเชฐเชตเซเช
- เชคเซเชฏเชพเชฐ เชเชฐเซ: Linux เชธเชพเชฅเซ เช เชฎเซเช เชฎเชถเซเชจ เชชเชฐ เชเชพเช. เชธเซเชฆเซเชงเชพเชเชคเชฟเช เชฐเซเชคเซ, เชคเชฎเซ เชเชฆเชพเช เชตเชฟเชจเซเชกเซเช เชธเชพเชฅเซ เชชเชฃ เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชชเชเซ เชคเชฎเชพเชฐเซ เชฎเซเชเชซเชพเชเชฒ เชฒเซเชจเซเช เชเชฐเชตเชพ เชธเชพเชฅเซ เชฅเซเชกเซ เชเชพเชฆเซ เชเชฐเชตเซ เชชเชกเชถเซ. เช เชจเซ เชเซเชเชชเชฃ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชคเชฎเชพเชฐเซ เชเชเชพเชฎเชพเช เชเชเซเช เชชเชพเชฏเชฅเซเชจ 3.6 เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ.
- เชคเซเชจเซ เชเซเชฅเชฌเชฅเซ เชเซเชฒเซเชจ เชเชฐเซ
เชเชจเซเชฎเชพเชเซเชทเชฐ เชเซเชถเชฒเซเชฏเชจเซเช เชเชฆเชพเชนเชฐเชฃ . - Y.Cloud เชฎเชพเช เชจเซเชเชงเชฃเซ เชเชฐเซ:
https://cloud.yandex.ru - เชคเชฎเชพเชฐเซ เชเชพเชคเชจเซ เชฌเซ เชกเซเชฒ เชฌเชจเชพเชตเซ
เชเชฌเซเชเซเชเซเช เชธเซเชเซเชฐเซเช , เชคเซเชฎเชจเซ เชเซเชเชชเชฃ เชจเชพเชฎเชฅเซ เชฌเซเชฒเชพเชตเซ{BUCKET NAME}
ะธtgalice-test-cold-storage
(เช เชฌเซเชเซเช เชจเชพเชฎ เชนเชตเซ เชนเชพเชฐเซเชกเชเซเชกเชฎเชพเช เชเซmain.py
เชฎเชพเชฐเซเช เชเชฆเชพเชนเชฐเชฃ). เชชเซเชฐเชฅเชฎ เชกเซเชฒ เชฎเชพเชคเซเชฐ เชเชฎเชพเชตเช เชฎเชพเชเซ เชเชฐเซเชฐเซ เชฐเชนเซเชถเซ, เชฌเซเชเซ - เชธเชเชตเชพเชฆ เชธเซเชเซเชเซเชธ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ. - เชฌเชจเชพเชตเชตเชพ
เชธเซเชตเชพ เชเชพเชคเซเช , เชคเซเชจเซ เชญเซเชฎเชฟเชเชพ เชเชชเซeditor
, เช เชจเซ เชคเซเชจเชพ เชฎเชพเชเซ เชธเซเชฅเชฟเชฐ เชเชณเชเชชเชคเซเชฐเซ เชฎเซเชณเชตเซ{KEY ID}
ะธ{KEY VALUE}
- เช เชฎเซ เชคเซเชจเซ เชเชชเชฏเซเช เชธเชเชตเชพเชฆเชจเซ เชธเซเชฅเชฟเชคเชฟ เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชถเซเช. เช เชฌเชงเซเช เชเชฐเซเชฐเซ เชเซ เชเซเชฅเซ Ya.Cloud เชจเซเช เชซเชเชเซเชถเชจ Ya.Cloud เชฎเชพเชเชฅเซ เชธเซเชเซเชฐเซเช เชเชเซเชธเซเชธ เชเชฐเซ เชถเชเซ. เชเซเช เชฆเชฟเชตเชธ, เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช, เช เชงเชฟเชเซเชคเชคเชพ เชเชชเซเชเชช เชฌเชจเซ เชเชถเซ, เชชเชฐเชเชคเซ เชนเชฎเชฃเชพเช เชฎเชพเชเซ เชคเซ เชเชตเซเช เชเซ. - (เชตเซเชเชฒเซเชชเชฟเช) เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ
เชเชฆเซเชถ เชตเชพเชเซเชฏ เชเชจเซเชเชฐเชซเซเชธ yc
. เชคเชฎเซ เชตเซเชฌ เชเชจเซเชเชฐเชซเซเชธ เชฆเซเชตเชพเชฐเชพ เชซเชเชเซเชถเชจ เชชเชฃ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ CLI เชธเชพเชฐเซเช เชเซ เชเชพเชฐเชฃ เชเซ เชคเซเชฎเชพเช เชคเชฎเชพเชฎ เชชเซเชฐเชเชพเชฐเชจเซ เชจเชตเซเชจเชคเชพเช เชเชกเชชเชฅเซ เชฆเซเชเชพเชฏ เชเซ. - เชนเชตเซ เชคเชฎเซ เชเชฐเซเชเชฐ เชจเชฟเชฐเซเชญเชฐเชคเชพ เชเชธเซเชฎเซเชฌเชฒเซ เชคเซเชฏเชพเชฐ เชเชฐเซ เชถเชเซ เชเซ: เชเซเชถเชฒเซเชฏเชจเชพ เชเชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ เชซเซเชฒเซเชกเชฐเชฎเชพเชเชฅเซ เชเชฎเชพเชจเซเชก เชฒเชพเชเชจ เชชเชฐ เชเชฒเชพเชตเซ
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
เชฎเซเชจเซเชฏเซเช เชฒเซ เชซเชเชเซเชถเชจ เชฌเชจเชพเชตเชคเซ เชตเชเชคเซ, เชฌเชงเชพ เชชเชฐเชฟเชฎเชพเชฃเซ เช เช เชฐเซเชคเซ เชญเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เชนเชตเซ เชคเชฎเซ เชฌเชจเชพเชตเซเชฒ เชซเชเชเซเชถเชจ เชกเซเชตเชฒเชชเชฐ เชเชจเซเชธเซเชฒ เชฆเซเชตเชพเชฐเชพ เชเชเชพเชธเซ เชถเชเชพเชฏ เชเซ, เช เชจเซ เชชเชเซ เชเซเชถเชฒเซเชฏเชจเซ เชธเซเชงเชพเชฐเซ เช เชจเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เชนเซเชก เชนเซเช เชณ เชถเซเช เชเซ
เชฎเซเชเชซเชพเชเชฒ เชเชฐเซเชเชฐ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพ เช
เชจเซ เชเชฐเซเชเชพเชเชตเชฎเชพเช เชฎเซเชเชตเชพ เชฎเชพเชเซ เชเชเชฆเชฎ เชธเชฐเชณ เชธเซเชเซเชฐเชฟเชชเซเช เชงเชฐเชพเชตเซ เชเซ 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
. เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชกเซเชเชพ เชญเชฐเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฐเซเชชเชฐเซเชเชพ เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ 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 เชตเชฐเซเช เชฆเซเชตเชพเชฐเชพ เชฒเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ
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
เชคเซ เชธเชฐเชณ เชฐเซเชคเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ: เชคเซ เชฌเชฆเชฒเชพเชฎเชพเช เชคเซเชจเชพ เชคเชฎเชพเชฎ เชเชเชเซเชจเซ เชธเชเชตเชพเชฆเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ เชชเชฐ เชฒเชพเชเซ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ, เช
เชจเซ เชชเซเชฐเชฅเชฎ เชฏเซเชเซเชฏ เชเช เชชเชธเชเชฆ เชเชฐเซ เชเซ.
เชกเชพเชฏเชฒเซเช เชฎเซเชจเซเชเชฐ เชฆเชฐเซเช เชธเชเชฆเซเชถเชจเชพ เชชเซเชฐเชคเชฟเชญเชพเชต เชคเชฐเซเชเซ เชชเชพเชฏเชฅเซเชจ เชเชฌเซเชเซเชเซเช เชชเชฐเชค เชเชฐเซ เชเซ. Response
, เชเซ เชชเชเซ เชธเชพเชฆเชพ เชเซเชเซเชธเซเชเชฎเชพเช เช
เชฅเชตเชพ เชเชฒเชฟเชธ เช
เชฅเชตเชพ เชเซเชฒเชฟเชเซเชฐเชพเชฎเชฎเชพเช เชธเชเชฆเซเชถเชฎเชพเช เชฐเซเชชเชพเชเชคเชฐเชฟเชค เชฅเช เชถเชเซ เชเซ - เชฌเซเช เชเซเชฏเชพเช เชเชพเชฒเซ เชฐเชนเซเชฏเซเช เชเซ เชคเซเชจเชพ เชเชงเชพเชฐเซ; เชคเซเชฎเชพเช เชธเชเชตเชพเชฆเชจเซ เชฌเชฆเชฒเชพเชฏเซเชฒเซ เชธเซเชฅเชฟเชคเชฟ เชชเชฃ เชเซ เชเซเชจเซ เชธเชพเชเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชเชเซเช เชฐเชธเซเชกเซเช เช
เชจเซเชฏ เชตเชฐเซเช เชธเชเชญเชพเชณเซ เชเซ, DialogConnector
, เชคเซเชฅเซ เชฏเชพเชจเซเชกเซเชเซเชท เชซเชเชเซเชถเชจเซเชธ เชชเชฐ เชเซเชถเชฒเซเชฏ เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชธเซเชงเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
...
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
เชเซเชฎ เชคเชฎเซ เชเซเช เชถเชเซ เชเซ, เชเชฎเชพเชเชจเซ เชฎเซเชเชพ เชญเชพเชเชจเซ เชเซเชก เชเชฌเซเชเซเชเซเช เชธเซเชเซเชฐเซเชเชจเชพ S3 เชเชจเซเชเชฐเชซเซเชธ เชธเชพเชฅเซ เชเซเชกเชพเชฃ เชฌเชจเชพเชตเซ เชเซ. เชคเชฎเซ เชตเชพเชเชเซ เชถเชเซ เชเซ เชเซ เช เชเชจเซเชเซเชถเชจเชจเซ เชธเซเชงเซ เชเชชเชฏเซเช เชเซเชตเซ เชฐเซเชคเซ เชฅเชพเชฏ เชเซ
เชเซเชฒเซเชฒเซ เชฒเซเชเซ เชซเชเชเซเชถเชจ เชฌเชจเชพเชตเซ เชเซ alice_handler
โ เชคเซ เช เชเซ เช
เชฎเซ Yandex.Cloud เชจเซ เชเซเชฏเชพเชฐเซ เชชเซเชฐเชพเชฎเซเชเชฐ เชธเซเช เชเชฐเซเช เชคเซเชฏเชพเชฐเซ เชเซเชเชเชตเชพเชจเซเช เชเชนเซเชฏเซเช เชนเชคเซเช --entrypoint=main.alice_handler
.
เชคเซ เชฌเชงเชพ เชเซ, เชตเชพเชธเซเชคเชตเชฎเชพเช. เชเชธเซเชฎเซเชฌเชฒเซ เชฎเชพเชเซ เชฎเซเชเชซเชพเชเชฒเซเชธ, เชธเชเชฆเชฐเซเชญ เชธเซเชเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเซ S3 เชเซเชตเซ เชเชฌเซเชเซเชเซเช เชธเซเชเซเชฐเซเช เช
เชจเซ เชชเชพเชฏเชฅเซเชจ เชฒเชพเชเชฌเซเชฐเซเชฐเซ tgalice
. เชธเชฐเซเชตเชฐเชฒเซเชธ เชเชพเชฐเซเชฏเซ เช
เชจเซ เชชเชพเชฏเชฅเซเชจเชจเซ เช
เชญเชฟเชตเซเชฏเชเซเชคเชฟ เชธเชพเชฅเซ เชเซเชกเชพเชเชจเซ, เช เชคเชเชฆเซเชฐเชธเซเชค เชฎเชพเชจเชต เชเซเชถเชฒเซเชฏ เชตเชฟเชเชธเชพเชตเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ.
เชคเชฎเซ เชชเซเชเซ เชถเชเซ เชเซ เชเซ เชถเชพ เชฎเชพเชเซ เชคเซ เชฌเชจเชพเชตเชตเซเช เชเชฐเซเชฐเซ เชนเชคเซเช tgalice
? เชฌเชงเชพ เชฌเซเชฐเชฟเชเช เชเซเชก เชเซ เชเซ JSON เชจเซ เชตเชฟเชจเชเชคเซเชฅเซ เชชเซเชฐเชคเชฟเชธเชพเชฆ เช
เชจเซ เชธเซเชเซเชฐเซเชเชฅเซ เชฎเซเชฎเชฐเซ เช
เชจเซ เชฌเซเชเชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซ เชเซ เชคเซ เชคเซเชฎเชพเช เชฐเชนเซเชฒ เชเซ. เชเช เชจเชฟเชฏเชฎเชฟเชค เชเซเชก เชเชชเซเชฒเชฟเชเซเชถเชจ เชชเชฃ เชเซ, เชเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซเชจเซเช เชเชพเชฐเซเชฏ เชเซ เชเซ โเชซเซเชฌเซเชฐเซเชเชฐเซโ โเชซเซเชฌเซเชฐเซเชเชฐเซโ เชธเชฎเชพเชจ เชเซ, เช
เชจเซ เชเชฐเซเชฌเซ เชฎเชพเชเซ เช
เชจเซเชฏ NLU. เชฎเชพเชฐเชพ เชตเชฟเชเชพเชฐ เชฎเซเชเชฌ, เช เชชเชนเซเชฒเซเชฅเซ เช เชชเซเชฐเชคเซเช เชนเซเชตเซเช เชเซเชเช เชเซเชฅเซ เชคเชฎเซ เชคเชเชจเซเชเซ เชตเชฟเชเชคเซเชฅเซ เชเซเชฌ เชตเชฟเชเชฒเชฟเชค เชฅเชฏเชพ เชตเชฟเชจเชพ yaml เชซเชพเชเชฒเซเชฎเชพเช เชเซเชถเชณเชคเชพเชจเชพ เชชเซเชฐเซเชเซเชเชพเชเชชเชจเซเช เชธเซเชเซเช เชเชฐเซ เชถเชเซ.
เชเซ เชคเชฎเชจเซ เชตเชงเซ เชเชเชญเซเชฐ NLU เชเซเชเช เชเซ, เชคเซ เชคเชฎเซ เชคเซเชจเซ เชคเชฎเชพเชฐเซ เชเซเชถเชณเชคเชพ เชธเชพเชฅเซ เชเซเชกเซ เชถเชเซ เชเซ
เชธเชพเชฐเซเช, เชนเชตเซ เชเซเชกเชพเช
เชธเซเชฐเซเชธ: www.habr.com