Yandex.Cloud āĻāĻŦāĻ‚ Python āĻāĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻˇā§āĻŸā§āĻ°ā§€āĻ¯āĻŧ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž

āĻ–āĻŦāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻ—āĻ¤āĻ•āĻžāĻ˛ Yandex.Cloud āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ˜ā§‹āĻˇāĻŖāĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ‡āĻ¯āĻŧāĻžāĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĢāĻžāĻ‚āĻļāĻ¨. āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛: āĻ†āĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–ā§‡āĻ¨ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻŸāĻŦāĻŸ), āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ°āĻ•ā§āĻˇāĻŖāĻžāĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻšāĻ˛ā§‡ āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ˛ā§‹āĻĄ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒā§‡āĻ˛ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§‡ā§ˇ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‹āĻŸā§‡āĻ‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡, āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ•āĨ¤ āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻĨāĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ—āĻŖāĻ¨āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ•ā§‡āĻ‰ āĻ•ā§‡āĻ‰ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡āĻ‡ āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ°āĻžāĻ‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸ā§‡āĻ° āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻĻāĻ•ā§āĻˇāĻ¤āĻž, āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻšā§āĻ¯āĻžāĻŸāĻŦāĻŸ āĻāĻ¤ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ˛āĻŋāĻ–āĻ¤ā§‡, āĻšā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻœ āĻĨā§‡āĻ•ā§‡ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻšā§‹āĻ¸ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡ - āĻ•ā§‡āĻŦāĻ˛ āĻĢāĻ°ā§āĻŽā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ āĻāĻ•āĻ‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨.

āĻ¤āĻŦā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻŋāĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻŸā§‡āĻ¨ā§‡ āĻ†āĻ¨āĻž āĻ…-āĻ¤ā§āĻšā§āĻ›āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻšā§āĻ¯āĻžāĻŸāĻŦāĻŸāĻ•ā§‡ āĻ¸āĻ‚āĻ˛āĻžāĻĒā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ•ā§‹āĻĨāĻžāĻ“ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ…āĻ¤āĻāĻŦ āĻ°āĻžāĻˇā§āĻŸā§āĻ°ā§€āĻ¯āĻŧ); āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ•āĻŋ? āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻŦāĻž āĻāĻŽāĻ¨āĻ•ā§€ āĻ•ā§‹āĻ¨āĻ“ āĻ¨āĻ¨-āĻœāĻŋāĻ°ā§‹ āĻĒā§āĻ˛āĻŸ āĻ¸āĻš āĻ•ā§‹āĻ¨āĻ“ āĻ§āĻ°āĻŖā§‡āĻ° āĻŦāĻŸ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨? āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ‡ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤

Yandex.Cloud āĻāĻŦāĻ‚ Python āĻāĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻˇā§āĻŸā§āĻ°ā§€āĻ¯āĻŧ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž

āĻ¨ā§ˆāĻ¤āĻŋāĻ• āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ

āĻ…āĻ§ā§ˆāĻ°ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯: āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻŋ, āĻ†āĻŽāĻŋ āĻ‡āĻ¯āĻŧāĻžāĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ—ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋ (āĻāĻŸāĻŋ S3 API āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡), āĻāĻŦāĻ‚ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ— āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ tgalice. āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ†āĻ‰āĻŸ āĻāĻŽāĻ¨ āĻĄā§‡āĻŽā§‹ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĨ¤ āĻāĻ–āĻ¨ āĻāĻ•āĻŸā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ¸āĻŦ āĻ¤āĻžāĻ•āĻžāĻ¨.

āĻ¯āĻžāĻ°āĻž āĻāĻ•āĻŸā§ āĻ•āĻŽ āĻ…āĻ§ā§ˆāĻ°ā§āĻ¯ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻŽāĻžāĻ° āĻ—āĻ˛ā§āĻĒā§‡ āĻĄā§āĻŦ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ†āĻ—ā§‡, āĻ†āĻŽāĻŋ āĻ–ā§āĻŦ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻŋāĻ›ā§ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡āĨ¤ āĻ¯āĻĨāĻž, āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ•-āĻĢāĻžāĻ‡āĻ˛ āĻ‡āĻ•ā§‹āĻŦāĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ— āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨; āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ - āĻ‡āĻ¨ āĻ¸āĻ‚āĻ˛āĻžāĻĒ āĻŦā§āĻ˛āĻ— и āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨. āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻ°āĻĒāĻ° āĻļā§āĻ°ā§.

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ…āĻ¨ā§āĻ­āĻŦ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻĄāĻŧāĻžāĻ‡ āĻ•āĻ°āĻ›āĻŋ, āĻ…ā§āĻ¯āĻžāĻ˛āĻŋāĻ¸āĻ•ā§‡ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°ā§āĻ¨ '"āĻ†āĻ‡āĻŸāĻŋ āĻ°āĻžāĻļāĻŋāĻĢāĻ˛" āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨' āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ˛āĻžāĻĒ āĻ˜āĻŸāĻ¤ā§‡ āĻšāĻŦā§‡:

āĻāĻ˛āĻŋāĻ¸: āĻšā§āĻ¯āĻžāĻ˛ā§‹! āĻ†āĻĒāĻ¨āĻŋ "āĻ†āĻ‡āĻŸāĻŋ āĻ°āĻžāĻļāĻŋāĻĢāĻ˛" āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ¯āĻŧ āĻ†āĻ›ā§‡āĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¤āĻž āĻœāĻžāĻ¨āĻ¤ā§‡ "āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨" āĻŦāĻ˛ā§āĻ¨āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€: āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨
āĻ‰āĻ¤ā§āĻ¤āĻ°āĻƒ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽ āĻŦāĻ˛ā§āĻ¨
āĻ‡āĻ‰: āĻ­āĻžāĻ¸āĻŋāĻ¸ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ
āĻ‰āĻ¤ā§āĻ¤āĻ°āĻƒ āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻŽ āĻ¸āĻžāĻ˛ āĻŦāĻ˛ā§āĻ¨āĨ¤ āĻŽāĻžāĻ¤ā§āĻ° āĻšāĻžāĻ°āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž, āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¯āĻŧāĨ¤
āĻ‡āĻ‰: āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ
āĻ‰āĻ¤ā§āĻ¤āĻ°: āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻŽā§‡āĻ° āĻŦāĻ›āĻ° āĻ˛āĻŋāĻ–ā§āĻ¨ - āĻšāĻžāĻ°āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤
āĻ‡āĻ‰: 2002
āĻāĻ•āĻŸāĻŋ āĻŽāĻšāĻžāĻ¨! āĻāĻ–āĻ¨ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻŽ āĻŽāĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨āĨ¤
āĻ‡āĻ‰: āĻĢā§‡āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°āĻŋ
āĻāĻ•āĻŸāĻŋ āĻŽāĻšāĻžāĻ¨! āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻŽāĻžāĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻŽ āĻ¤āĻžāĻ°āĻŋāĻ– āĻŦāĻ˛ā§āĻ¨ - āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž, āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ• āĻŦāĻž āĻĻā§āĻŸāĻŋ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĨ¤
āĻ‡āĻ‰: 18
āĻ‰āĻ¤ā§āĻ¤āĻ°: āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻ­āĻžāĻ¸āĻŋāĻ¸ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ! āĻāĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ: āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦāĻ¯āĻŧāĻ¸ 17 āĻŦāĻ›āĻ° āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻŽā§āĻ­āĨ¤ āĻ­āĻžāĻ˛, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻžāĻ¨! āĻ¤āĻžāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡: Đ° Ņ‡Ņ‚Đž ĐŗОвОŅ€ŅŅ‚ СвŅ‘СдŅ‹, вŅ‹ ŅƒĐˇĐŊĐ°ĐĩŅ‚Đĩ, СаĐŋŅƒŅŅ‚ив ĐŊавŅ‹Đē.

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ¯ā§‡ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻĨā§‹āĻĒāĻ•āĻĨāĻ¨ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻœāĻ¨ā§āĻŽ āĻ¤āĻžāĻ°āĻŋāĻ– āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻŸāĻŋ āĻ…-āĻ¤ā§āĻšā§āĻ›āĨ¤ āĻāĻŸāĻŋ RAM āĻŦāĻž āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ Yandex.Cloud āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ‡āĻšā§āĻ›āĻžāĻŽāĻ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻ¯ā§āĻ‡āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœāĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ Yandex.Cloud (āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻĻā§āĻ°ā§āĻ¤) āĻāĻ•āĻŸāĻŋ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻž āĻāĻŦāĻ‚ āĻœāĻŸāĻŋāĻ˛ āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻŸā§āĻ•āĻ°āĻž āĻŽā§‡āĻ˜āĻ˛āĻž āĻŽāĻ™ā§āĻ—āĻž āĻāĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĻā§‚āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻĨāĻžāĻ“. āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ (āĻ¯āĻž S3 āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡) āĻāĻŦāĻ‚ āĻŽāĻ™ā§āĻ—ā§‹ āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ°â€Œā§āĻ¯āĻžāĻĒāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ, āĻŽāĻ™ā§āĻ—ā§‹āĻĄāĻŋāĻŦāĻŋ, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻž āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¯āĻŧāĻžāĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻāĻŸāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŽāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡. āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻšāĻŦā§‡ āĻ¨āĻž (āĻ¯ā§‡āĻŽāĻ¨ āĻšā§‡āĻ°ā§‹āĻ•ā§āĻ¤ā§‡), āĻ¤āĻŦā§‡ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻŋāĻ–ā§‡ āĻ•āĻŋāĻ›ā§ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ†āĻ°āĻžāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨)āĨ¤

āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻļāĻŋāĻĢāĻ˛ ​​āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŦā§‡āĻ¨

  1. āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°ā§āĻ¨: āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ¸āĻš āĻ•āĻŋāĻ›ā§ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ¯āĻžāĻ¨āĨ¤ āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻŋāĻ›ā§ āĻœāĻžāĻĻā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ 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. āĻšāĻžāĻ¤ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻĸāĻžāĻ˛āĻž (āĻŦāĻžāĻ˛āĻ¤āĻŋāĻ¤ā§‡ {BUCKET NAME}) āĻ†āĻ—ā§‡āĻ° āĻ§āĻžāĻĒā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­ dist.zip. āĻ¯āĻĻāĻŋ āĻ‡āĻšā§āĻ›āĻž āĻšāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻĄāĻžāĻŦā§āĻ˛ā§āĻāĻ¸ āĻ¸āĻŋ āĻāĻ˛ āĻ†āĻ‡.
  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, āĻ¯āĻž āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ˛ā§‡āĻ‡āĻ¨ āĻŸā§‡āĻ•ā§āĻ¸āĻŸā§‡ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻŦāĻž āĻāĻ˛āĻŋāĻ¸ āĻŦāĻž āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ¯āĻŧ - āĻŦāĻŸāĻŸāĻŋ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ āĻšāĻ˛āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡; āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ˛āĻžāĻĒā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻāĻ‡ āĻĒā§āĻ°ā§‹ āĻ°āĻžāĻ¨ā§āĻ¨āĻžāĻ˜āĻ°āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧ, DialogConnector, āĻ¤āĻžāĻ‡ Yandex āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻāĻ‡āĻ°āĻ•āĻŽ āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡:

...
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 āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ tgalice āĻ•ā§‹āĻĄā§‡.
āĻļā§‡āĻˇ āĻ˛āĻžāĻ‡āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ alice_handler — āĻāĻ•āĻ‡ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž Yandex.Cloud āĻ•ā§‡ āĻŦāĻ˛ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŸāĻžāĻ¨āĻ¤ā§‡ --entrypoint=main.alice_handler.

āĻ¯ā§‡ āĻ¸āĻŦ, āĻ†āĻ¸āĻ˛ā§‡. āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§‡āĻ•āĻĢāĻžāĻ‡āĻ˛āĻ¸, āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ— āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ S3-āĻāĻ° āĻŽāĻ¤ā§‹ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ tgalice. āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛āĻŋāĻ¤, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĨ āĻŽāĻžāĻ¨ā§āĻˇā§‡āĻ° āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•ā§‡āĻ¨ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ tgalice? āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤āĻŋāĻ•āĻ° āĻ•ā§‹āĻĄ āĻ¯āĻž JSON-āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĨā§‡āĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ•ā§‹āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŸāĻŋ āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‡ "āĻĢā§‡āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°āĻŋ" "āĻĢā§‡āĻŦā§āĻ°ā§āĻ¯āĻŧāĻžāĻ°āĻŋ" āĻāĻ° āĻŽāĻ¤ā§‹, āĻāĻŦāĻ‚ āĻĻāĻ°āĻŋāĻĻā§āĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ NLUāĨ¤ āĻ†āĻŽāĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ¨āĻž āĻšāĻ¯āĻŧā§‡ āĻ‡āĻ¯āĻŧāĻžāĻŽāĻ˛ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ•ā§‡āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ†āĻ°āĻ“ āĻ—ā§āĻ°ā§āĻ¤āĻ° NLU āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻāĻ•ā§āĻˇāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ°āĻžāĻ¸āĻž āĻŦāĻž āĻĄāĻŋāĻĒ āĻĒāĻžāĻ­āĻ˛āĻ­, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ–āĻžā§āĻœāĻ¨ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¨āĻžāĻšā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŽā§‹āĻŸā§‡āĻ“ āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ†āĻ‡āĻŽāĻžāĻ‡āĻ˛ā§‹āĻ—āĻŋāĻ•. tgalice āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻŽāĻŋ āĻ•āĻŋāĻ›ā§ āĻ§āĻ°āĻŖā§‡āĻ° āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻĨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻ° āĻ•āĻŋ āĻ†āĻ¸ā§‡ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ•.

āĻ†āĻšā§āĻ›āĻž, āĻāĻ–āĻ¨ āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¨ āĻāĻ˛āĻŋāĻ¸ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻšā§āĻ¯āĻžāĻŸ, āĻĒāĻĄāĻŧā§āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻāĻŦāĻ‚ āĻŦāĻŋāĻ¸ā§āĻŽāĻ¯āĻŧāĻ•āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĻĻāĻ•ā§āĻˇāĻ¤āĻž!

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨