แƒแƒšแƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒฃแƒœแƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ Yandex.Cloud-แƒ˜แƒกแƒ แƒ“แƒ Python-แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ”

แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒกแƒ˜แƒแƒฎแƒšแƒ”แƒ”แƒ‘แƒ˜แƒ—. แƒ’แƒฃแƒจแƒ˜แƒœ Yandex.Cloud-แƒ›แƒ แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ Yandex Cloud แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก: แƒ—แƒฅแƒ•แƒ”แƒœ แƒฌแƒ”แƒ แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ™แƒแƒ“แƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ•แƒ”แƒ‘ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒแƒœ แƒฉแƒแƒขแƒ‘แƒแƒขแƒก) แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒก, แƒกแƒแƒ“แƒแƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ“แƒ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ™แƒ˜ แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒก แƒ›แƒแƒ—. แƒ—แƒฅแƒ•แƒ”แƒœ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒคแƒ˜แƒฅแƒ แƒ˜, แƒ”แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒ“แƒ แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ—แƒฃแƒ›แƒชแƒ, แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒ’แƒแƒ“แƒแƒ˜แƒฎแƒแƒ“แƒแƒก. แƒ”แƒกแƒ”แƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒšแƒ˜แƒกแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ’แƒแƒœแƒ˜ แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜, แƒแƒœแƒฃ แƒ›แƒแƒกแƒจแƒ˜ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒ”แƒ—แƒ‘แƒแƒขแƒ”แƒ‘แƒ˜. แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒฌแƒ”แƒ แƒแƒก, แƒฃแƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒšแƒแƒก แƒ“แƒ แƒ“แƒแƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒแƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒฃแƒœแƒแƒ แƒ˜ แƒ“แƒ แƒ“แƒฆแƒ”แƒ˜แƒ“แƒแƒœ แƒฃแƒœแƒแƒ -แƒฉแƒ•แƒ”แƒ•แƒ”แƒ‘แƒก แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜แƒช แƒ™แƒ˜ แƒแƒ  แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ - แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒ›แƒแƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒคแƒแƒ แƒ›แƒแƒจแƒ˜ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒœแƒ˜แƒฃแƒแƒœแƒกแƒ˜. แƒฃแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ”แƒก แƒงแƒแƒ•แƒšแƒ˜แƒกแƒ, แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ pit แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ“แƒ”แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒฉแƒแƒ—แƒ แƒ”แƒ•แƒ แƒแƒ แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ˜แƒ. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ  แƒฉแƒ”แƒ—แƒ‘แƒแƒขแƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ แƒกแƒแƒ“แƒ›แƒ” แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒก (แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”); แƒ แƒ แƒแƒ แƒ˜แƒก แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒ’แƒ–แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”? แƒ›แƒ”แƒกแƒแƒ›แƒ”, แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ“แƒ แƒ‘แƒ˜แƒœแƒซแƒฃแƒ แƒ˜ แƒฃแƒœแƒแƒ แƒ˜ แƒแƒšแƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒœ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒ‘แƒแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒœแƒแƒฎแƒแƒ–แƒ˜แƒ—? แƒกแƒขแƒแƒขแƒ˜แƒ, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒแƒ› แƒœแƒ˜แƒฃแƒแƒœแƒกแƒ”แƒ‘แƒ–แƒ”แƒ.

แƒแƒšแƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒฃแƒœแƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ Yandex.Cloud-แƒ˜แƒกแƒ แƒ“แƒ Python-แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ”

แƒ›แƒแƒ แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ

แƒ›แƒแƒฃแƒ—แƒ›แƒ”แƒœแƒ”แƒšแƒ—แƒแƒ—แƒ•แƒ˜แƒก: แƒ›แƒ” แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ›แƒแƒ™แƒ˜แƒแƒคแƒ˜แƒšแƒ˜แƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒ›แƒ“แƒ”, แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ• แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก Yandex Object Storage-แƒจแƒ˜ (แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก S3 API-แƒก) แƒ“แƒ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒฉแƒ”แƒ›แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒแƒก แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒก แƒกแƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒแƒ“. tgalice. แƒ‘แƒแƒšแƒแƒก แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒ“แƒ”แƒ›แƒ แƒฃแƒœแƒแƒ แƒ˜. แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก แƒชแƒแƒขแƒ แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“.

แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœแƒช แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ›แƒแƒฃแƒ—แƒ›แƒ”แƒœแƒ”แƒšแƒ˜แƒ, แƒกแƒแƒœแƒแƒ› แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฉแƒ”แƒ›แƒก แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒแƒก แƒฉแƒแƒ•แƒฃแƒฆแƒ แƒ›แƒแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ—. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ”แƒ แƒ—แƒคแƒแƒ˜แƒšแƒ˜แƒแƒœแƒ˜ echobot แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ, แƒ“แƒแƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ— แƒ“แƒ แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ˜แƒ’แƒ˜ Dialogs แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜; แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ - in แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ’แƒ˜ ะธ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒแƒ˜แƒฌแƒงแƒ”.

แƒ—แƒฃ แƒ’แƒ˜แƒœแƒ“แƒแƒ— แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ˜แƒ’แƒ แƒซแƒœแƒแƒ— แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ•แƒ˜แƒ‘แƒ แƒซแƒ•แƒ˜แƒ— แƒแƒฅ, แƒฐแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒแƒšแƒ˜แƒกแƒแƒก.แƒฉแƒแƒ แƒ—แƒ”แƒ— "IT แƒฐแƒแƒ แƒแƒกแƒ™แƒแƒžแƒ˜แƒก" แƒฃแƒœแƒแƒ แƒ˜'. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜ แƒฃแƒœแƒ“แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก:

แƒแƒšแƒ˜แƒกแƒ: แƒ’แƒแƒ›แƒแƒ แƒฏแƒแƒ‘แƒ! แƒ—แƒฅแƒ•แƒ”แƒœ แƒฎแƒแƒ แƒ— "IT แƒฐแƒแƒ แƒแƒกแƒ™แƒแƒžแƒ˜แƒก" แƒฃแƒœแƒแƒ แƒจแƒ˜. แƒ—แƒฅแƒ•แƒ˜แƒ— โ€žแƒ“แƒแƒ˜แƒฌแƒงแƒ”โ€œ แƒ“แƒ แƒ’แƒแƒแƒ แƒ™แƒ•แƒ˜แƒ” แƒ แƒแƒก แƒ’แƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒแƒœ แƒ•แƒแƒ แƒกแƒ™แƒ•แƒšแƒแƒ•แƒ”แƒ‘แƒ˜.
แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜: แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ
แƒžแƒแƒกแƒฃแƒฎแƒ˜: แƒ’แƒ—แƒฎแƒแƒ•แƒ—, แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜
แƒ˜แƒฃ: แƒ•แƒแƒกแƒ˜แƒ–แƒฃแƒแƒšแƒ˜
_ แƒแƒฎแƒšแƒ แƒ›แƒ˜แƒ—แƒฎแƒแƒ แƒ˜ แƒจแƒ”แƒœแƒ˜ แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒšแƒ˜. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ—แƒฎแƒ˜ แƒชแƒ˜แƒคแƒ แƒ˜, แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜.
แƒ˜แƒฃ: แƒ›แƒ”แƒแƒ แƒ”
แƒžแƒแƒกแƒฃแƒฎแƒ˜: แƒ’แƒ—แƒฎแƒแƒ•แƒ—, แƒกแƒชแƒแƒ“แƒแƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ. แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒšแƒ˜ - แƒแƒ—แƒฎแƒ˜ แƒชแƒ˜แƒคแƒ แƒ˜.
Yu: 2002 แƒฌ
แฒ“แƒ˜แƒ“แƒ˜! แƒแƒฎแƒšแƒ แƒ“แƒแƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒ”.
แƒ˜แƒฃ: แƒ—แƒ”แƒ‘แƒ”แƒ แƒ•แƒแƒšแƒ˜
แฒ“แƒ˜แƒ“แƒ˜! แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ›แƒ˜แƒ—แƒฎแƒแƒ แƒ˜แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ แƒ˜แƒฆแƒ˜ - แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒแƒ แƒ˜ แƒชแƒ˜แƒคแƒ แƒ˜.
Yu: 18 แƒฌ
_ แƒ’แƒ›แƒแƒ“แƒšแƒแƒ‘แƒ—, แƒ•แƒแƒกแƒ˜แƒกแƒฃแƒแƒšแƒ˜! แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒชแƒ˜แƒ—: แƒ—แƒฅแƒ•แƒ”แƒœ 17 แƒฌแƒšแƒ˜แƒก แƒฎแƒแƒ แƒ— แƒ“แƒ แƒ›แƒ”แƒ แƒฌแƒงแƒฃแƒšแƒ˜ แƒฎแƒแƒ แƒ—. แƒ™แƒแƒ แƒ’แƒ˜, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ’แƒแƒ’แƒ˜แƒ›แƒแƒ แƒ—แƒšแƒ! แƒ•แƒแƒ แƒกแƒ™แƒ•แƒšแƒแƒ•แƒ”แƒ‘แƒ˜ แƒ’แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ˜แƒแƒœ: ะฐ ั‡ั‚ะพ ะณะพะฒะพั€ัั‚ ะทะฒั‘ะทะดั‹, ะฒั‹ ัƒะทะฝะฐะตั‚ะต, ะทะฐะฟัƒัั‚ะธะฒ ะฝะฐะฒั‹ะบ.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ—แƒฃแƒœแƒ“แƒแƒช แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ แƒ˜แƒฆแƒ˜, แƒฎแƒแƒšแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒ”แƒก แƒแƒ แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ˜แƒ. แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ RAM-แƒจแƒ˜ แƒแƒœ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ Yandex.Cloud-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ  แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒ’แƒแƒ แƒ” แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ. Object Storage แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ˜แƒแƒค แƒ“แƒ แƒ’แƒแƒฃแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ”แƒš แƒกแƒแƒชแƒแƒ•แƒแƒ“ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  Yandex.Cloud-แƒจแƒ˜ (แƒแƒœแƒฃ, แƒแƒšแƒ‘แƒแƒ— แƒกแƒฌแƒ แƒแƒคแƒแƒ“). แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒคแƒแƒกแƒ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒชแƒแƒ“แƒแƒ—, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฃแƒคแƒแƒกแƒ แƒœแƒแƒญแƒ”แƒ แƒ˜ แƒ›แƒแƒฆแƒ แƒฃแƒ‘แƒšแƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒ’แƒ แƒกแƒแƒ“แƒฆแƒแƒช แƒจแƒแƒ แƒก. แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก Python-แƒ˜แƒก แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ”แƒ‘แƒ˜ แƒ แƒแƒ’แƒแƒ แƒช Object Storage (แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก S3 แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก) แƒ“แƒ Mongo-แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› Object Storage-แƒ–แƒ”, MongoDB-แƒกแƒ แƒ“แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒแƒจแƒ˜ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ” แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— Yandex Functions-แƒจแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. แƒ“แƒ แƒ›แƒ” แƒ›แƒ˜แƒœแƒ“แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ“. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ”แƒก แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ (แƒ แƒแƒ’แƒแƒ แƒช แƒฐแƒ”แƒ แƒแƒ™แƒฃแƒ–แƒ”), แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ™แƒแƒ›แƒคแƒแƒ แƒขแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒ— (แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ).

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒแƒ— แƒฐแƒแƒ แƒแƒกแƒ™แƒแƒžแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜

  1. แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ: แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— Linux-แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”. แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒšแƒ‘แƒแƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— Windows-แƒ˜แƒ—แƒแƒช แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒฏแƒแƒ“แƒแƒฅแƒ แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ›แƒแƒ™แƒ˜แƒแƒคแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ—. แƒ“แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› Python 3.6 แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜.
  2. แƒ™แƒšแƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ Github-แƒ“แƒแƒœ แƒฐแƒแƒ แƒแƒกแƒ™แƒแƒžแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜.
  3. แƒ“แƒแƒ แƒ”แƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒ แƒ“แƒ˜แƒ— Y.Cloud-แƒจแƒ˜: https://cloud.yandex.ru
  4. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜ แƒแƒ แƒ˜ แƒ•แƒ”แƒ“แƒ แƒแƒจแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ, แƒ“แƒแƒฃแƒซแƒแƒฎแƒ”แƒ— แƒ›แƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— {BUCKET NAME} ะธ tgalice-test-cold-storage (แƒ”แƒก แƒ›แƒ”แƒแƒ แƒ” แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒแƒฎแƒšแƒ แƒ›แƒงแƒแƒ แƒ˜ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ main.py แƒฉแƒ”แƒ›แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜). แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ—แƒแƒ˜แƒ’แƒฃแƒšแƒ˜ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ”แƒแƒ แƒ” - แƒ“แƒ˜แƒแƒšแƒแƒ’แƒฃแƒ แƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“.
  5. แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ›แƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜, แƒ›แƒ˜แƒ”แƒชแƒ˜ แƒ›แƒแƒก แƒ แƒแƒšแƒ˜ editorแƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ—แƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒ”แƒ‘แƒ˜ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก {KEY ID} ะธ {KEY VALUE} โ€” แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒฉแƒแƒกแƒแƒฌแƒ”แƒ แƒแƒ“. แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› Ya.Cloud-แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒ› แƒจแƒ”แƒซแƒšแƒแƒก Ya.Cloud-แƒ“แƒแƒœ แƒกแƒแƒชแƒแƒ•แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ. แƒแƒ“แƒ”แƒกแƒ›แƒ”, แƒ˜แƒ›แƒ”แƒ“แƒ˜ แƒ›แƒแƒฅแƒ•แƒก, แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฎแƒšแƒ แƒแƒกแƒ”แƒ.
  6. (แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ ) แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ yc. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ•แƒ”แƒ‘ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› CLI แƒ™แƒแƒ แƒ’แƒ˜แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก แƒ˜แƒœแƒแƒ•แƒแƒชแƒ˜แƒ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ.
  7. แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒแƒ›แƒ–แƒแƒ“แƒแƒ— แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ: แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ˜แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ–แƒ” แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒ“แƒแƒœ แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ—. make all. แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ (แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก, แƒแƒ แƒแƒกแƒแƒญแƒ˜แƒ แƒ). dist.
  8. แƒฉแƒแƒแƒกแƒฎแƒ˜แƒ— Object Storage-แƒจแƒ˜ แƒฎแƒ”แƒšแƒ˜แƒ— (แƒ•แƒ”แƒ“แƒ แƒแƒจแƒ˜ {BUCKET NAME}) แƒฌแƒ˜แƒœแƒ แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ แƒฅแƒ˜แƒ•แƒ˜ dist.zip. แƒ—แƒฃ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒ, แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— AWS CLI.
  9. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ•แƒ”แƒ‘ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒœ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— 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

แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒฎแƒ”แƒšแƒ˜แƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒ˜แƒ•แƒกแƒ”แƒ‘แƒ แƒ”แƒ แƒ—แƒœแƒแƒ˜แƒ แƒแƒ“.

แƒแƒฎแƒšแƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒฃแƒœแƒแƒ แƒ˜ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ“แƒ”แƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ“แƒ”แƒก.

แƒแƒšแƒ˜แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒฌแƒ˜แƒคแƒแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒฃแƒœแƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ Yandex.Cloud-แƒ˜แƒกแƒ แƒ“แƒ Python-แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ”

แƒ แƒ แƒแƒ แƒ˜แƒก แƒ™แƒแƒžแƒแƒขแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ

แƒ›แƒแƒ™แƒ˜แƒแƒŸแƒ˜ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ แƒ“แƒ แƒแƒ แƒฅแƒ˜แƒ•แƒจแƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก 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: ะŸะพะถะฐะปัƒะนัั‚ะฐ, ะฟะพะฟั€ะพะฑัƒะนั‚ะต ะตั‰ั‘ ั€ะฐะท. ะ’ะฐะผ ะฝัƒะถะฝะพ ะฝะฐะทะฒะฐั‚ัŒ ั‡ะธัะปะพ ัะฒะพะตะณะพ ั€ะพะถะดะตะฝะธั (ะฝะฐะฟั€ะธะผะตั€, ะดะฒะฐะดั†ะฐั‚ะพะต); ัั‚ะพ ะพะดะฝะฐ ะธะปะธ ะดะฒะต ั†ะธั„ั€ั‹.

แƒแƒ› แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒแƒ‘แƒแƒšแƒแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒแƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒ˜แƒฆแƒ”แƒ‘แƒก แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒ™แƒšแƒแƒกแƒ˜

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, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ“แƒแƒ˜แƒฅแƒ›แƒœแƒแƒก แƒฃแƒ‘แƒ แƒแƒšแƒ แƒขแƒ”แƒฅแƒกแƒขแƒแƒ“, แƒแƒœ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒแƒ“ Alice-แƒจแƒ˜ แƒแƒœ Telegram-แƒจแƒ˜ - แƒ˜แƒ›แƒ˜แƒกแƒ“แƒ แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ—แƒฃ แƒกแƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ‘แƒแƒขแƒ˜; แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒก. แƒ›แƒ—แƒ”แƒš แƒแƒ› แƒกแƒแƒ›แƒ–แƒแƒ แƒ”แƒฃแƒšแƒแƒก แƒกแƒฎแƒ•แƒ แƒ™แƒšแƒแƒกแƒ˜ แƒ›แƒแƒ แƒ—แƒแƒ•แƒก, 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 แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ—แƒแƒœ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ”แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  tgalice แƒ™แƒแƒ“แƒจแƒ˜.
แƒ‘แƒแƒšแƒ แƒฎแƒแƒ–แƒ˜ แƒฅแƒ›แƒœแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก alice_handler - แƒ˜แƒ’แƒ˜แƒ•แƒ”, แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒ—แƒฎแƒแƒ แƒ˜แƒ— Yandex.Cloud-แƒก, แƒ แƒแƒ› แƒ’แƒแƒ˜แƒงแƒ•แƒแƒœแƒแƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก --entrypoint=main.alice_handler.

แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“. แƒ›แƒแƒ™แƒ”แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, S3-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“ แƒ“แƒ แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ tgalice. แƒžแƒ˜แƒ—แƒแƒœแƒ˜แƒก แƒฃแƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒ แƒ”แƒฅแƒกแƒžแƒ แƒ”แƒกแƒ˜แƒฃแƒšแƒแƒ‘แƒแƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒ”แƒก แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒฏแƒแƒœแƒกแƒแƒฆแƒ˜ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒฃแƒ แƒ˜ แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒ™แƒ˜แƒ—แƒฎแƒแƒ—, แƒ แƒแƒขแƒแƒ› แƒ˜แƒงแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ tgalice? แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒกแƒแƒฌแƒงแƒ”แƒœแƒ˜ แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒก JSON-แƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ“แƒแƒœ แƒžแƒแƒกแƒฃแƒฎแƒแƒ›แƒ“แƒ” แƒ“แƒ แƒกแƒแƒชแƒแƒ•แƒ˜แƒ“แƒแƒœ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒฃแƒ™แƒแƒœ, แƒ›แƒแƒกแƒจแƒ˜ แƒ“แƒ”แƒ•แƒก. แƒแƒกแƒ”แƒ•แƒ” แƒแƒ แƒ˜แƒก แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ, แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ แƒแƒ› "แƒ—แƒ”แƒ‘แƒ”แƒ แƒ•แƒแƒšแƒ˜" แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ "แƒ—แƒ”แƒ‘แƒ”แƒ แƒ•แƒแƒšแƒ˜" แƒ“แƒ แƒกแƒฎแƒ•แƒ NLU แƒฆแƒแƒ แƒ˜แƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒ”แƒ›แƒ˜ แƒ˜แƒ“แƒ”แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก, แƒ แƒแƒ—แƒ แƒจแƒ”แƒซแƒšแƒแƒ— แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒขแƒแƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฎแƒแƒขแƒ•แƒ yaml แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒฃแƒคแƒ แƒ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ NLU, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฃแƒ แƒ—แƒแƒ— แƒ˜แƒ’แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒฃแƒœแƒแƒ แƒก แƒ แƒแƒกแƒ แƒแƒœ แƒ“แƒ˜แƒž แƒžแƒแƒ•แƒšแƒแƒ•แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ—แƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒชแƒ”แƒ™แƒ•แƒ”แƒ‘แƒก แƒขแƒแƒ›แƒ‘แƒฃแƒ แƒ˜แƒ—, แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ—แƒฃ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒ’แƒกแƒฃแƒ แƒ— แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒ, แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒแƒœแƒกแƒขแƒ แƒฃแƒฅแƒขแƒแƒ แƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒแƒ˜แƒ›แƒ˜แƒšแƒแƒ’แƒ˜แƒฃแƒ แƒ˜. tgalice-แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒแƒก แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒ“แƒ˜ แƒ แƒแƒฆแƒแƒช แƒจแƒฃแƒแƒšแƒ”แƒ“แƒฃแƒ  แƒ’แƒ–แƒแƒ–แƒ”. แƒ•แƒœแƒแƒฎแƒแƒ— แƒ แƒ แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก แƒแƒฅแƒ”แƒ“แƒแƒœ.

แƒแƒ‘แƒ, แƒแƒฎแƒšแƒ แƒจแƒ”แƒ›แƒแƒ’แƒ•แƒ˜แƒ”แƒ แƒ—แƒ“แƒ˜ แƒแƒšแƒ˜แƒกแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒฉแƒแƒขแƒ˜แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒจแƒ•แƒ”แƒœแƒ˜แƒ”แƒ แƒ˜ แƒฃแƒœแƒแƒ แƒ”แƒ‘แƒ˜!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ