рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдЖрдЬ рд╣рдо рдЙрди рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдореЗрдЬрд╝реЕрди рд╡реЗрдм рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдЗрди рдЕрд╡рд╕рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХреБрдЫ рд╣реА рдорд┐рдирдЯреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдСрдЯреЛ-рд╕реНрдХреЗрд▓реЗрдмрд▓ REST API рдХреЛ рдХреЗрд╕ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рдПрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред
рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ? рдлрд┐рд░ рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдЬрд╛рдУ!
(рд╕реНрд░реЛрдд)рдЬреНрд╡рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп
рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╕реНрд░реЛрдд AWS S3 рдкрд░ рдПрдХ рд╕рд╛рджреЗ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред
- рддреЛ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ AWS S3 рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╛рдЗрд▓ рд╣реИ рдФрд░ рдХреБрдЫ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрддреА рд╣реИред
- рд╣рдо рдПрдХ рдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрд╛рд░рд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде GET рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рдПрдЧрд╛ред
- рдЙрд╕реА рд╕рдордп, рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдмрдврд╝рддреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрд╡рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдСрдЯреЛ-рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢рд╛рд╕рди, рд╕рд░реНрд╡рд░ рдЖрд╡рдВрдЯрди рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдЕрдкрдирд╛ рдХреЛрдб рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВред
рд╡рд┐рдХрд╛рд╕ рдХреЗ рддрд╣рдд рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░

рдЕрдореЗрдЬрд╝рди рд╡реЗрдм рд╕реЗрд╡рд╛ рдШрдЯрдХ рдкреНрд░рдпреБрдХреНрдд:
- рдЕрдореЗрдЬрд╝реЕрди рдПрд╕ 3 - рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ, рдЬреЛ рдЖрдкрдХреЛ рд▓рдЧрднрдЧ рдЕрд╕реАрдорд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
- AWS рдкрд╣рдЪрд╛рди рдФрд░ рдкрд╣реБрдВрдЪ рдкреНрд░рдмрдВрдзрди (IAM) - рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рдЬреЛ AWS рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкрд╣реБрдВрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЖрдИрдПрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЖрдк рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдХреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдпрд╛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
- AWS рд▓реИрдореНрдмреНрдбрд╛ рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХрд╛ рдмреИрдХ рдЕрдк рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд┐рдП рдмрд┐рдирд╛ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рд╢реБрд▓реНрдХ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЙрдирдХреА рдЕрд╡рдзрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рд╕рдордп рдЬрд┐рд╕рдХреЗ рджреМрд░рд╛рди рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлреНрд░реА рдПрдХреНрд╕реЗрд╕ (рдлреНрд░реА рдЯрд┐рдпрд░) рдХрд╛ рд╕реНрддрд░ рдореБрдлреНрдд рдФрд░ 400K Gb-s рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рдорд╛рд╣ 1 рдорд┐рд▓рд┐рдпрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЕрд░реНрде рд╣реИред рд╕рдорд░реНрдерд┐рдд рднрд╛рд╖рд╛рдПрдБ: Node.js, Java, C #, Go, Python, Ruby, PowerShell
ред рд╣рдо рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:
- рдмреЛрдЯреЛ 3 рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрд╕рдбреАрдХреЗ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЕрдореЗрдЬрд╝реЕрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ;
- рдЕрдореЗрдЬрд╝реЕрди рдПрдкреАрдЖрдИ рдЧреЗрдЯрд╡реЗ рдХрд┐рд╕реА рднреА рдкреИрдорд╛рдиреЗ рдкрд░ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ, рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ, рдмрдирд╛рдП рд░рдЦрдиреЗ, рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдбреЗрд╡рд▓рдкрд░ рд╕реЗрд╡рд╛ рд╣реИред рдбрд┐рдмрдЧрд┐рдВрдЧ, рд╢реЛрдзрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдПрдкреАрдЖрдИ (рдЪрд░рдгреЛрдВ) рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реЗрд╡рд╛ рдЖрдкрдХреЛ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реИрдореНрдмрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд░реАрд╕реНрдЯ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд▓реИрдВрдмрдбрд╛ рд╕рд░реНрд╡рд░ рд╡рд┐рддрд░рдг, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рд╕реБрд▓рдн рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред
HTTP / REST API рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рдЯрд┐рдпрд░ рдореЗрдВ 12 рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рдорд╛рд╣ рдПрдХ рдорд┐рд▓рд┐рдпрди API рдХреЙрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
рдбреЗрдЯрд╛ рдХреА рддреИрдпрд╛рд░реА
рдЯреИрдм рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ GET REST рдЕрдиреБрд░реЛрдз рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд╖реЗрддреНрд░ рдкрд░рд┐рд╕реАрдорди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд╛рдирдХрд╛рд░реА рдЕрдм рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдкреАрдЖрдИ рдХреЗ рдЖрдЧреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреНрд╡рд┐рдХ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рд░реВрд╕реА рд░реВрдмрд▓ рдореЗрдВ рдирд┐рдЧрдорд┐рдд рдмреЙрдиреНрдб рдкрд░ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╛рдкрд╛рд░ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреА, рдЗрд╕реЗ рдмреЙрдиреНрдб рдореЗрдВ рд╕рд╣реЗрдЬрд╛редрдЯреИрдХреНрд╕ рдореЗрдВ рдЗрд╕реЗ рд╕рд╣реЗрдЬрд╛ рдФрд░ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрд╕ 3 рдмрд╛рд▓реНрдЯреА рдореЗрдВ рд░рдЦрд╛ред
рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдмреЙрдиреНрдбреНрд╕.рдЯреИрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝реЗрдЧреА, рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз рдкрд░ рдЬрд╛рд░реА рдХрд░реЗрдВред AWS рд▓рд╛рдореНрдмрд╛ рдЗрд╕рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рдирдИ рднреВрдорд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдирд┐рд░реНрдорд┐рдд рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ AWS S3 рдореЗрдВ рд╕реНрдерд┐рдд рдмрд╛рд▓реНрдЯреА рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
AWS рд▓рд╛рдореНрдмрд╛ рдХреЗ рд▓рд┐рдП рднреВрдорд┐рдХрд╛рдПрдБ рдмрдирд╛рдПрдБ
- AWS рдкреНрд░рдмрдВрдзрди рдХрдВрд╕реЛрд▓ рдореЗрдВ, AWS IAM рд╕реЗрд╡рд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдлрд┐рд░ "Roles" рдЯреИрдм рдкрд░, "рднреВрдорд┐рдХрд╛ рдмрдирд╛рдПрдБ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ;
рдПрдХ рдирдИ рднреВрдорд┐рдХрд╛ рдЬреЛрдбрд╝рдирд╛ - рдЕрдм рд╣рдо рдЬреЛ рднреВрдорд┐рдХрд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ AWS S3 рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП AWS рд▓рд╛рдореНрдмрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд▓реЗ рдЪрд░рдг рдореЗрдВ, "рдЪрдпрдирд┐рдд рдкреНрд░рдХрд╛рд░ рдХреЗ рднрд░реЛрд╕реЗрдордВрдж" -> "рд╕реЗрд╡рд╛ рд╕реЗрд╡рд╛" рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ "рдЙрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬреЛ рдЗрд╕ рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреА" -> "рд▓реИрдореНрдмреНрдбрд╛" рдФрд░ "рдЕрдЧрд▓рд╛: рдЕрдиреБрдорддрд┐рдпрд╛рдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд▓рд╛рдореНрдмрд╛ рд╕реЗрд╡рд╛ рднреВрдорд┐рдХрд╛ - рдЕрдм рдЖрдкрдХреЛ AWS рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣реБрдБрдЪ рдиреАрддрд┐рдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирдИ рдмрдирд╛рдИ рдЧрдИ рднреВрдорд┐рдХрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреНрдпреЛрдВрдХрд┐ рдиреАрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛рдлреА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИ, рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЗрд╕реЗ "S3" рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ S3 рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЧрдИ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред "AmazonS3ReadOnlyAccess" рдиреАрддрд┐ рдХреЗ рд╡рд┐рдкрд░реАрдд рдЪреЗрдХрдмреЙрдХреНрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ рдФрд░ "рдЕрдЧрд▓рд╛: рдЯреИрдЧ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд░реЛрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдиреАрддрд┐рдпрд╛рдВ - рдЪрд░рдг (рдЯреИрдЧ рдЬреЛрдбрд╝реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ)) рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рд╣реЛрдиреЗ рдкрд░ рд░реЛрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЯреИрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЬрд╛рдПрдВ - рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрдиред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рднреВрдорд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ - "ForLambdaS3-ReadOnly", рдПрдХ рд╡рд┐рд╡рд░рдг рдЬреЛрдбрд╝реЗрдВ рдФрд░ "рднреВрдорд┐рдХрд╛ рдмрдирд╛рдПрдБ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЯрд╛рдЗрдЯрд▓ рд░реЛрд▓реНрд╕
рд╕рдм рдХреБрдЫ, рднреВрдорд┐рдХрд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕реЗ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
AWS рд▓рд╛рдореНрдмрд╛ рдореЗрдВ рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдмрдирд╛рдПрдБ
- AWS рд▓рд╛рдореНрдмрд╛ рд╕реЗрд╡рд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ "рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдПрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
рдлрдВрдХреНрд╢рди рдХреНрд░рд┐рдПрд╢рди
рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ рд╕рднреА рдлрд╝реАрд▓реНрдб рднрд░реЗрдВ:
- рдирд╛рдо - "getAllBondsList";
- рд░рдирдЯрд╛рдЗрдо - "рдкрд╛рдпрдерди 3.6"
- рднреВрдорд┐рдХрд╛ - "рдПрдХ рдореМрдЬреВрджрд╛ рднреВрдорд┐рдХрд╛ рдЪреБрдиреЗрдВ"
- рдореМрдЬреВрджрд╛ рднреВрдорд┐рдХрд╛ - рдпрд╣рд╛рдВ рд╣рдо рдЙрд╕ рднреВрдорд┐рдХрд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдКрдкрд░ рдмрдирд╛рдИ рдереА - ForLambdaS3-ReadOnly
рднреВрдорд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдФрд░ рд╡рд┐рдХрд▓реНрдк - рдпрд╣ рдХреЗрд╡рд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЯреЗрд╕реНрдЯ рд░рди рдкрд░ рдЙрд╕рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕реА рднреА рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореБрдЦреНрдп рдШрдЯрдХ (рдпрджрд┐ рдЖрдк рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) boto3 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ:
import boto3 s3 = boto3.resource('s3') bucket = s3.Bucket('your-s3-bucket') obj = bucket.Object(key = 'bonds.txt') response = obj.get()
рд╣рдорд╛рд░реЗ рдкрд╛рдпрдерди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдмрдВрдзрди рдЦреЛрд▓реЗрдВред
- рдХреЙрд▓рдо рд╣реЗрдбрд░ рдкрдврд╝реЗрдВ;
- рдкреГрд╖реНрда рджреНрд╡рд╛рд░рд╛ рд░рд┐рдХреЙрд░реНрдб рддреЛрдбрд╝рдирд╛ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ 10 рд╕рдВрдЧреНрд░рд╣);
- рд╡рд╛рдВрдЫрд┐рдд рдкреГрд╖реНрда рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ;
- рд╕реНрддрдВрднреЛрдВ рдФрд░ рдЕрднрд┐рд▓реЗрдЦреЛрдВ рдХрд╛ рдирд╛рдо рдорд╛рдирдЪрд┐рддреНрд░рд┐рдд рдХрд░реЗрдВ;
- рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдВред
рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдФрд░ рддрдХрдиреАрдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ рдФрд░ рдореЗрд░реЗ GubHub рдореЗрдВ рдкреВрд░реНрдг рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ ред
for i in range(0, len(lines_proc)): d = dict((u''.join(key), u''.join(value)) for (key, value) in zip(headers, lines_proc[i].split("\t"))) response_body.append(d) return { 'statusCode': 200, 'page' : num_page, 'body': response_body }
"рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб" рдмреНрд▓реЙрдХ рдореЗрдВ рдХреЛрдб рдбрд╛рд▓реЗрдВ (рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ :) рд▓рд┐рдЦреЗрдВ) рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЗ рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ "рд╕рд╣реЗрдЬреЗрдВ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдХреЛрдб рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ - рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрдирд╛рдПрдВред рдХреЛрдб рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝рдВрдХреНрд╢рди рд▓реЙрдиреНрдЪ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред "рдЯреЗрд╕реНрдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рдЯреЗрд╕реНрдЯ рдИрд╡реЗрдВрдЯ рдмрдирд╛рдПрдВ: рд╡рд┐рднрд┐рдиреНрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде lambda_handler рдлрд╝рдВрдХреНрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ред рдЕрд░реНрдерд╛рддреН:
- рдкреИрд░рд╛рдореАрдЯрд░ 'рдкреЗрдЬ' рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдирд╛: '100';
- 'рдкреЗрдЬ' рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдирд╛: '1000000';
- 'рдкреЗрдЬ' рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдирд╛: 'bla-bla-bla';
- 'рдкреЗрдЬ' рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдЪрд▓рд╛рдирд╛ред
рдЯреЗрд╕реНрдЯ рдЗрд╡реЗрдВрдЯ рдкреЗрдЬ 100
рдЯреЗрд╕реНрдЯ рдЗрд╡реЗрдВрдЯ рдкреЗрдЬ рднреЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдорд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рдХрд░рдирд╛ == 100. рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд┐рдпрд╛, рд╕реНрдерд┐рддрд┐ 200 (рдУрдХреЗ) рд▓реМрдЯрд╛ рджреА, рд╕рд╛рде рд╣реА рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдЬреЛ рдкреЗрдЬрд┐рдиреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд╕реМрд╡реЗрдВ рдкреЗрдЬ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИред
рдЯреНрд░рд┐рдЧрд░рд┐рдВрдЧ рдЗрд╡реЗрдВрдЯ рдЗрд╡реЗрдВрдЯ рдкреЗрдЬ 100
рдкреНрд░рдпреЛрдЧ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ - "рдкреЗрдЬрдмреНрд▓рд╛рдмреНрд▓рд╛"ред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 415 рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛ рдкрд╛рд░рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
рдЯреЗрд╕реНрдЯ рдИрд╡реЗрдВрдЯ PageBlaBlaBla
PageBlaBlaBla рдИрд╡реЗрдВрдЯ рдЯреНрд░рд┐рдЧрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдПрдкреАрдЖрдИ рдирд┐рд░реНрдорд╛рдг
рдЕрдиреНрдп рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ рдПрдХ рд╕рдордЭ рд╣реИ рдХрд┐ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдЖрдЗрдП рдКрдкрд░ рдмрдирд╛рдП рдЧрдП рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рдмрд┐рдВрджреБ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╢реБрд░реБрдЖрдд рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
- AWS API рдЧреЗрдЯрд╡реЗ рд╕реЗрд╡рд╛ рдкрд░ рдЬрд╛рдПрдВред рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдПрдкреАрдЖрдИ рдирд╛рдо рд╕реЗрдЯ рдХрд░реЗрдВ - getAllBondsList
рдПрдХ рдирдпрд╛ рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВ - рдирдП рдмрдирд╛рдП рдЧрдП API рдореЗрдВ GET рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд░рд┐рдпрд╛рдПрдБ рдЪреБрдиреЗрдВ -> рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБ, рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдореЗрдВ рдЬреАрдИрдЯреА рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдЪреЗрдХрдорд╛рд░реНрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдирдИ рд╡рд┐рдзрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рдЕрдЧрд▓рд╛, рд╣рдо рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ GET рд╡рд┐рдзрд┐ рд╣рдорд╛рд░реЗ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди getAllBondsList рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред рдЗрд╕реЗ рдЪреБрдиреЗрдВ рдФрд░ рд╕реЗрд╡ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд▓реИрдореНрдмреНрдбрд╛ рдлрдВрдХреНрд╢рди рдмрд╛рдЗрдВрдбрд┐рдВрдЧ - рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдПрдкреАрдЖрдИ рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЖрд░рдПрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛред
рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ -> рдПрдкреАрдЖрдИ рддреИрдирд╛рдд рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░, рддреИрдирд╛рддреА рдЪрд░рдг -> рдирдпрд╛ рдЪрд░рдг
рдПрдкреАрдЖрдИ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЖрдк рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DEV / QA / PROD)ред рд╣рдо рддреБрд░рдВрдд PROD рдХреЛ рддреИрдирд╛рдд рдХрд░реЗрдВрдЧреЗред
рдПрдкреАрдЖрдИ рддреИрдирд╛рдд рдХрд░реЗрдВ
рддреИрдирд╛рддреА рдХреЗ рдмрд╛рдж, рдирд╡ рдирд┐рд░реНрдорд┐рдд рдПрдкреАрдЖрдИ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рд╣рдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдПрдбреНрд░реЗрд╕ рдмрд╛рд░ рдореЗрдВ рдЗрд╕ URL рдкрд░ рдЬрд╛рдПрдВрдЧреЗ (рдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдХрд░реНрд▓ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗ) - рд╣рдореЗрдВ рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдорд┐рд▓реЗрдЧреА рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
рдПрдкреАрдЖрдИ рдпреВрдЖрд░рдПрд▓
рдореИрдВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдПрдкреАрдЖрдИ рдЧреЗрдЯрд╡реЗ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯрдореИрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕рдореЗрдВ, рдЖрдк рдХрд╛рдлреА рдЖрд░рд╛рдо рд╕реЗ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рдПрдкреАрдЖрдИ рдкрд░реАрдХреНрд╖рдгURL рдХреЛ PROD рд╕реНрдЯреЗрдЬ рд╕реЗ Postman рддрдХ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ API рдкрд░ GET рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рднреЗрдЬреЗрдВ:

рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ ... GET рдЕрдиреБрд░реЛрдз рдиреЗ рдХреЛрдб 400 рдХреЗ рд╕рд╛рде рдПрдХ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ рдПрдХ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдХрд┐ рдкреГрд╖реНрда рдкреИрд░рд╛рдореАрдЯрд░ API рдХреЙрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВред
- рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкрд╛рд░рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред
рд╣рдо GET рдЕрдиреБрд░реЛрдз рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ рдФрд░ Method Request рдЪрд░рдг рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред
рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз
рд╡рд┐рдзрд┐ рдЕрдиреБрд░реЛрдз рдХреА рд╡рд┐рд╕реНрддреГрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдЖрдкрдХреЛ URL рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдмреНрд▓реЙрдХ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдПрдХ рдирдпрд╛ рдкреИрд░рд╛рдореАрдЯрд░ "рдкреЗрдЬ" рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛:
рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдирд╛
рд╣рдо рдореЗрдердб рдПрдХреНрдЬрд╝реАрдХреНрдпреВрд╢рди рдкреЗрдЬ рдкрд░ рд╡рд╛рдкрд╕ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо рдкреГрд╖реНрда рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ "рдореИрдкрд┐рдВрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ" рдмреНрд▓реЙрдХ рдЦреЛрд▓рддреЗ рд╣реИрдВред рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ "рдЬрдм рдХреЛрдИ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ (рдЕрдиреБрд╢рдВрд╕рд┐рдд)" рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рддреЛ рдЖрд╡реЗрджрди / рдЬреМрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдФрд░ рдЪреЗрдХрдорд╛рд░реНрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рдо рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкреГрд╖реНрда рдХреЛ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рда рдмреЙрдХреНрд╕ рдореЗрдВ рдХреЛрдб рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╕реНрд╡реАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕реЗрд╡ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рд╡рд┐рдзрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз
рдкрд╣рд▓реЗ API рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдлрд┐рд░ рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "рдкреГрд╖реНрда" рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде:

рдпрд╣ рдПрдХ рд╕рдлрд▓рддрд╛ рд╣реИ! рдЕрдм рдЕрдиреБрд░реЛрдз рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджрд╕рд╡реЗрдВ рдкреГрд╖реНрда рдкрд░ рд╕рдорд╛рд╣рд┐рдд рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯ рдЖрдпрд╛! рд╣реБрд░реНрд░реЗ! - рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдПрдкреАрдЖрдИ рдХреЛ рдмрд╛рд╣рд░ рд╕реЗ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╣рдорд▓реЛрдВ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдкреНрдд рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣реЗрдбрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
API рдХреБрдВрдЬрд┐рдпреЛрдВ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ API рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рдЧреБрдЪреНрдЫрд╛ рдмрдирд╛рдПрдВ - KeyForBondsListред
рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА
API рдХреБрдВрдЬреА рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрди рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ getAllBondsList API рдХреЛ рдЕрдиреБрд░реЛрдз рд╢реАрд░реНрд╖рдХ рдореЗрдВ рдкрд╛рд╕ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ getAllBondsList рдПрдкреАрдЖрдИ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ KeyForBondsList рдмрд╛рдБрдзреЗрдВред
рдЪрд▓рд┐рдП рдореЗрдердб рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдореЗрдВ GET рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ API Key рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдЕрд╕рддреНрдп рд╕реЗ рд╕рддреНрдп рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдЕрдм рдПрдкреАрдЖрдИ рдХреЛ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдЙрдкрдпреЛрдЧ рдпреЛрдЬрдирд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЗрд╕реЗ рдПрдХ рдирд╛рдо рдФрд░ рд╡рд┐рд╡рд░рдг рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░рд╛, рдпрд╣рд╛рдВ рдЖрдк рдПрдкреАрдЖрдИ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ, рдЖрджрд┐ред
рдЙрдкрдпреЛрдЧ рдпреЛрдЬрдирд╛ рдмрдирд╛рдирд╛
рдЕрдЧрд▓рд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧ рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдПрдХ рдЙрдкрдпреЛрдЧ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреЗрдЬ рдмрд╛рдВрдзрдирд╛
рдЕрдЧрд▓реЗ рдкреГрд╖реНрда рдкрд░, рд╣рдо рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреАрдЖрдИ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧ рдпреЛрдЬрдирд╛ рдмрдЯрди рдореЗрдВ рдРрдб рдПрдкреАрдЖрдИ рдХреАрдЬрд╝ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдПрдкреАрдЖрдИ рдХреАрдЬрд╝ рдХреЛ рдирд╛рдо рд╕реЗ рдЦреЛрдЬреЗрдВ:
рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдПрдкреАрдЖрдИ рдХреАрдЬрд╝ рдЯреВ рдпреВрдЬрд╝ рдкреНрд▓рд╛рди
рддреИрдирд╛рддреА рдФрд░ рд╣рдорд╛рд░реЗ рдПрдкреАрдЖрдИ рдХреЗ рдЬреАрдИрдЯреА рдХреЙрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЬрд╡рд╛рдм рдорд┐рд▓рддрд╛ рд╣реИ: "рдирд┐рд╖рд┐рджреНрдз", рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрд░реЛрдз рд╢реАрд░реНрд╖рд▓реЗрдЦ API API рдЧреБрдо рд╣реИ:

рдЖрдЗрдП рдПрдкреАрдЖрдИ рдХреАрдЬрд╝ рд╕реЗ рдХреЙрдкреА рдХрд░рдХреЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ -> KeyForBondsList -> рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА -> рдХреБрдВрдЬреА "x-api-key" рдХреЗ рд╕рд╛рде рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЗрд╕реЗ рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВ:

рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛! рдЗрд╕ рдмрд╛рд░, рдЕрдиреБрд░реЛрдз рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдбреЗрдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдПрдкреАрдЖрдИ рдХреЙрд▓ рдЧреБрдкреНрдд рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛ рдШреБрд╕рдкреИрдард┐рдпреЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рд╕рд╛рд░рд╛рдВрд╢
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдЕрдореЗрдЬрд╝реЕрди рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдСрдЯреЛ-рд╕реНрдХреЗрд▓реЗрдмрд▓ REST API рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред рд▓реЗрдЦ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдордЭрд╛рдиреЗ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдкреВрд░реЗ рдЕрдиреБрдХреНрд░рдо рдХреА рд░рдЪрдирд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЪрд░рдгреЛрдВ рдХреЗ рдПрдХ рдпрд╛ рджреЛ рджреЛрд╣рд░рд╛рд╡ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЙрдб рдПрдкреАрдЖрдИ рдХреЛ 5 рдорд┐рдирдЯ рдпрд╛ рдЙрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдкрдиреА рд░рд┐рд╢реНрддреЗрджрд╛рд░ рд╕рд╛рджрдЧреА, рд╕рд╕реНрддреЗрдкрди рдФрд░ рд╢рдХреНрддрд┐ рдХреЗ рдХрд╛рд░рдг, AWS API рдЧреЗрдЯрд╡реЗ рд╕реЗрд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдФрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡реНрдпрд╛рдкрдХ рдЕрд╡рд╕рд░ рдЦреЛрд▓рддреА рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдореЗрдХрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирд┐рд╢реБрд▓реНрдХ рдЕрдореЗрдЬрд╝реЕрди рд╡реЗрдм рд╕реЗрд╡рд╛ рд╡рд╛рд░реНрд╖рд┐рдХ рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░рдиреЗ рдФрд░ рдКрдкрд░ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП REST API рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдФрд░ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЦреБрд╢реА рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рдореИрдВ рд▓реЗрдЦ рдкрд░ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реВрдВ рдФрд░ рдЖрдкрдХреА рд╕рдлрд▓рддрд╛ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ!