рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдпрд╛ рд░реАрд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдЪ рд░рд╛рдЗрдЯрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ 120 рдСрдкрд░реЗрд╢рди (рд╣рдорд╛рд░реЗ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛рд╕реЗрдЯ) рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 3s рд▓рдЧрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╕реЗ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдмрдирд╛рдирд╛ рдпрд╛ рдмрдбрд╝реЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?
рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдЖрд░рдВрднреАрдХрд░рдг рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ "рд╕реНрдиреИрдкрд╢реЙрдЯ" рд▓реЛрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбреАрдмреА рдХреЛ рд╕реАрдб рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдлрд╝рдВрдХреНрд╢рди рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рддреЛ рдХреНрдпрд╛ рдбрд┐рд╕реНрдХ рдкрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ, рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░, рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рджреГрдврд╝рддрд╛?
рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдлрд╛рдпрд░рд┐рдВрдЧред рд╕реНрдЯреЙрдкрдЧреИрдк рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдореЛрдбрд╝" рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдЬрдм рдЖрдк рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рддреЛ off" рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ
рдХреБрдЫ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВрдЧреЗ?
рд▓реЗрдХрд┐рди рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╢рдирд┐, 12 рдЕрдХреНрдЯреВрдмрд░, 2019 рдХреЛ 11:54 рдкреВрд░реНрд╡рд╛рд╣реНрди рд╡реНрдпрд╛рдЯ Ades [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:
рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ "рд╕реНрдиреИрдкрд╢реЙрдЯ" рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
рдЖрд░рдВрднреАрдХрд░рдг рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реВрдВ
рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбреАрдмреА рдХреЛ рдмреАрдЬ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдПрдХ рдЧреБрдЪреНрдЫрд╛
рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдлрд╝рдВрдХреНрд╢рди рдЯреНрд░рд┐рдЧрд░реНрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП
рдХреНрдпрд╛ рдЖрд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ рдпрд╛,
рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░, рдбрд┐рд╕реНрдХ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рд╣рда?-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/firebase/firebase-tools/issues/1167?email_source=notifications&email_token=ACATB2VEE7BBI75HECFTE23QOIMOLA5CNFSM4G5NG5X2YY3PNVWWWK3TUL52HS4DFVREXG43VMVBW63,P#AWS5GBWZLOORT
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ACATB2WHUTO43JISN54J4U3QOIMOLANCNFSM4G5NG5XQ
.
рд╣рд╛рдБ, рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛, рдзрдиреНрдпрд╡рд╛рдж!
рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рд▓реЗрдХрд┐рди рдЗрд╕ рдЯреАрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдмрд╛рдд рдореБрдЭреЗ рдЕрдм рдкрд╕рдВрдж рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд▓рдЧрддреА рд╣реИред
рдХреНрдпрд╛ рд▓реЛрдЧ рдХреГрдкрдпрд╛ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреАрдмреА рдХреЛ рдЗрд╕рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреАрдмреА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
@anantanandgupta рдЕрднреА рддрдХ рдХреЛрдИ рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд╛рдБ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрд▓реЗ рд░рд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ! рдФрд░ рдореИрдВрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рднреА рджрд╛рдпрд░реЗ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдЖрд╕рд╛рди рд╣реИ (JSON рдкреНрд░рд╛рд░реВрдк) рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЕрднреА рднреА рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ "рд░реЛрдХрдиреЗ" рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдЪреНрдЫреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╢рд╛рд▓ рдордВрдЪ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд╛рдпрд░рдмреЗрд╕ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣рд░ рдХреЛрдИ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдерд╛, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рд╕реЗ рдореИрдВрдиреЗ рдЕрдм рддрдХ рд╕рд╛рдмрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдлрд╛рдпрд░рдмреЗрд╕ рдХреЛ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдирд┐рд░реНрдгрдп рдЧрд▓рдд рдирд╣реАрдВ рдерд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд╛рдЙрдб рдкрд░ рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рдФрд░ рдХреБрд╢рд▓ рд╣реЛрдЧрд╛ред
рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдпрд╛рдиреА, рдЗрд╕реЗ "рдмреАрдЬ" рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ) рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдореИрдиреБрдЕрд▓ рд╣реЛрдЧрд╛, рд╣рдо рдмрд╛рдж рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдмреЗрд╣рддрд░ рдЯреВрд▓рд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВрдЧреЗред
рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред
@ryanpbrewster рдХреНрдпрд╛ "рдмреАрдЬ" рдбреЗрдЯрд╛ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ?
@SamyPesse рдЗрд╕реЗ рдПрдореБрд▓реЗрдЯрд░ JAR рдХреЗ рдЕрдВрджрд░ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ @ryanpbrewster рдиреЗ рдХрд╣рд╛ рдерд╛) рд▓реЗрдХрд┐рди рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП firebase-tools
рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЗрд╕рд╕реЗ рдХреИрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ? рдЖрдк рдкрд░ рдПрдХ рдЭрдВрдбрд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ firebase
рдЖрджреЗрд╢, рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ firebase.json
рдпрд╛ рдХреБрдЫ рдФрд░?
рдбреЗрдЯрд╛ рдХрд╛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдП рд╣реИрдВ рдХрд┐ рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдирд┐рд░реНрджреЗрд╢ рдореЛрдЯреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ:
рдЖрдк рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ, рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рдмреВрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░реЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ, рддреЛ рдПрдХ рдирд┐рд░реНрдпрд╛рдд рдмрдирд╛рдПрдВ:
curl "localhost:8080/emulator/v1/projects/ryanpbrewster-test:export" \
-d '{"database": "projects/ryanpbrewster-test/databases/(default)","export_directory":"."}' \
-H "Content-Type: application/json
рдЬреЛ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЛ firestore_export_1576524691/
рдЬреИрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбрдВрдк рдХрд░ рджреЗрдЧрд╛
рдЖрдкрдХреЛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдРрдкрдЗрдВрдЬрд┐рди рдмрдХреЗрдЯ ryanpbrewster-test.appspot.com
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред Daud
gcloud firestore export gs://ryanpbrewster-test.appspot.com/firestore-export
рдФрд░ Firestore рдЖрдкрдХреЗ рдЙрддреНрдкрд╛рджрди рдбреЗрдЯрд╛ рдХреА рдкреВрд░реА рдХреЙрдкреА рдХреЛ Google Cloud Storage рдореЗрдВ рдбрдВрдк рдХрд░ рджреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП --collection-ids
рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░ рдпрд╣ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрдбрд╝рд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рддреЛ рдпрд╣ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПрдЧрд╛):
gsutil cp -r gs://ryanpbrewster-test.appspot.com/firestore-export .
рдЕрднреА рдХреЗ рд▓рд┐рдП, рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдлреНрд▓реИрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ:
java -jar ~/.cache/firebase/emulators/cloud-firestore-emulator-v1.10.2.jar \
--seed_from_export=firestore_export_1576524691/firestore_export_1576524691.overall_export_metadata
рдпрджрд┐ рд╕рдм рдареАрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рд╣реЛрдЧрд╛ред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЬрд┐рд╕ рдкрде рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ .overall_export_metadata
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рди рд╣реИ, рдЬреЛ рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдкрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рдирд┐рд░реНрдпрд╛рдд рд╕реЗ firestore рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдЕрдм рдЕрдЧрд░ рдореИрдВ рдлрд╛рдпрд░рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рд╕реВрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдореБрд▓реЗрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреЛрд░реНрдЯ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ FIRESTORE_EMULATOR_HOST рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рднреА рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред рдпрджрд┐ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдмреАрдЬ рдкрде рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рднреА рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧрд╛ рдФрд░ firebase emulators:start --firestore_seed_from_export = \path\to\seed\file
рдЬреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдордп рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред
@prgwar рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП +1ред рдореИрдВ рдЗрд╕ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдореБрд▓реЗрдЯрд░ рд╕реВрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдХрд╛рд░реНрдп рдЙрддреНрдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ "тЪа рдХрд╛рд░реНрдп: рдХреНрд▓рд╛рдЙрдб рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХреЛ рдХреЙрд▓ рдЙрддреНрдкрд╛рджрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред"
@prgwar рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ firebase
рдХрдорд╛рдВрдб рд╕реЗ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рддрдп рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕реАрдзреЗ jar
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдФрд░ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдЬреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рджреАрд░реНрдШрд╛рд╡рдзрд┐ рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред
@ srolfe26 рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдПрдХ рдЕрд▓рдЧ рддрд░рд╣ рдХреА рд▓рдЧрддреА рд╣реИ, рдЖрдк рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдирд╣реАрдВред Firestore рдПрдореБрд▓реЗрдЯрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП firebase init emulators
рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ firebase emulators:start
рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБред
рдХрд┐рд╕реА рднреА рд╕рд╛рдереА WSL (1 рдпрд╛ 2) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢ рдореЗрдВ --host 0.0.0.0
рдзреНрд╡рдЬ рдЬреЛрдбрд╝рд╛ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЧрдИред
java -jar ~/.cache/firebase/emulators/cloud-firestore-emulator-v1.10.2.jar \
--seed_from_export=firestore_export_1576524691/firestore_export_1576524691.overall_export_metadata \
--host 0.0.0.0
рдХреНрдпрд╛ @prgwar рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ --firestore_seed_from_export=
рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдореИрдВ рдкреАрдЖрд░ рд▓рдЧрд╛рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реВрдВред рдореИрдВ рдЧреЗрдВрдж рдХреЛ рд▓реБрдврд╝рдХрдиреЗ рдореЗрдВ рдФрд░ рдХреИрд╕реЗ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдореБрдЭреЗ рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдЕрдЧрд░ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рд╡рд╣реА Seed_from_export рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреА рдЬрд╛ рд╕рдХреЗред
@spencerwhyte рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдЕрднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯ рд░рд╣рд╛ рд╣реВрдВ, рдХреБрдЫ рдРрд╕рд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдФрд░ рдЖрд░рдЯреАрдбреАрдмреА рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛ред
рдЖрдк рдЗрд╕ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ:
metadata.json
рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдЙрдирдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИfirebase emulators:start --import="./folder-with-backup"
firebase emulators:export
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣реА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рд▓рдЪреАрд▓реА рдЪреАрдЬ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЦреБрд▓рд╛ рд╣реВрдВ
@samtstern рдпрд╣ рд╕реБрдирдХрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!
рдпрд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХрджрдо рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдПрдореБрд▓реЗрдЯрд░ рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк / рдмреИрдХрдЕрдк рдкреНрд░рд╛рд░реВрдк рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдЙрддреНрдкрд╛рджрди рдкрд░ рдмреИрдХрдЕрдк рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рд░реВрдк рд╣реИ, рддреЛ рд╡рд╣ рдХрд░реЗрдЧрд╛ред рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ рдмрдВрдж рдХрд┐рдП рдмрд┐рдирд╛ рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдХреБрдЫ рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдЬреАрд╡рд┐рдд рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЙрд╕ рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдмрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред --import
рд▓рд┐рдП рдпрд╣ рд╕рдорд░реНрдерди рд╣рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рд╣рдо рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП firebase emulators:exec
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдпрд╣ exec
рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╣рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
@spencerwhyte
рез) рд╣рд╛рдБ, рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ рдЙрддреНрдкрд╛рджрди рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рд░реВрдкреЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣реЗрдВрдЧреЗред рддреЛ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рд╣рдо рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЖрд░рдЯреАрдбреАрдмреА рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╡рд┐рд╢рд╛рд▓ json
рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред
2) рд╣рд╛рдБ рд╣рдо emulators:exec --import
рд╕рдорд░реНрдерди рдХрд░реЗрдВрдЧреЗ
рдкреНрд░рддрд┐рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдкреАрдЖрд░ #1968 рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (рдлрд┐рд▓рд╣рд╛рд▓ рдХреЗрд╡рд▓ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП, рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИ) рдФрд░ рдЗрд╕реЗ рдЕрдЧрд▓реЗ рд╕реАрдПрд▓рдЖрдИ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рд╕рдВрднрд╡рддрдГ 7.14.0
)
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрднреА-рдЕрднреА 7.14.0
рдореЗрдВ рдЬрд╛рд░реА рдХреА рдЧрдИ
рдХреНрдпрд╛ рдпрд╣ рдХрд╣реАрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ? рд╕рд╛рде рд╣реА, рдХреНрдпрд╛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ (рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ) рдХреЗ рдмрд┐рдирд╛ рдЙрддреНрдкрд╛рджрди рдбреЗрдЯрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
рдХреНрд▓рд╛рдЙрдб рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рд╕реЗ рджреЛрд╣рд░рд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрдард┐рди рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИред
@shaimo рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдкрд░ рдереЛрдбрд╝рд╛ рдкреАрдЫреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдЕрдЧрд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рдмрд╛рд╣рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!
рдЙрддреНрдкрд╛рджрди рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдПрдХ "рдкреНрд░рдмрдВрдзрд┐рдд" рдСрдкрд░реЗрд╢рди рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдХрд╣реАрдВ рди рдХрд╣реАрдВ Google рд╕рд░реНрд╡рд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдЙрд╕ рддрд░рд╣ рдХрд╛ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдбреЗрд╕реНрдЯрд┐рдиреЗрд╢рди рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдлрд╛рдпрд░рдмреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдмрдХреЗрдЯ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдореБрдлреНрдд рдХреЛрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдлрд╛рдпрд░рдмреЗрд╕ рдХрдВрд╕реЛрд▓ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░реЗрдВред
@samtstern рдЬреИрд╕рд╛ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдореНрдпреВрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВ рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпрд╣рд╛рдВ рдирдП рдЭрдВрдбреЛрдВ рдкрд░ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИрдВ:
https://firebase.google.com/docs/emulator-suite/install_and_configure#startup
рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рд╡реИрд╕реЗ рднреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВред рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рджреЛ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддреЛ рдЪрд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЯрд░реНрдорд┐рдирд▓ 1 рдФрд░ рдЯрд░реНрдорд┐рдирд▓ 2 рдХрд╣рддреЗ рд╣реИрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░реЗрдВ
рдЯрд░реНрдорд┐рдирд▓ 1
$ firebase emulators:start
# ...
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдирдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕реЗ рдЖрдк рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
рдЯрд░реНрдорд┐рдирд▓ 2
$ firebase emulators:export ./mydirectory
# ...
рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ ./mydirectory
рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рд╣реИред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдПрдореБрд▓реЗрдЯрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ:
рдЯрд░реНрдорд┐рдирд▓ 1
$ firebase emulators:start --import=./mydirectory
# ...
рдФрд░ рдмрд╕!
@samtstern рдХреНрдпрд╛ рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдореБрд▓реЗрдЯрд░: рд╕реНрдЯрд╛рд░реНрдЯ - рдЖрдпрд╛рдд рдлрд╛рдпрд░рдмреЗрд╕-рдПрдХреНрд╕рдкреЛрд░реНрдЯ-рдореЗрдЯрд╛рдбреЗрдЯрд╛.рдЬреЗрд╕рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░-рдПрдХреНрд╕рдкреЛрд░реНрдЯ/рдлрд╛рдпрд░рд╕реНрдЯреЛрд░-рдПрдХреНрд╕рдкреЛрд░реНрдЯ рд╣реИред рдУрд╡рд░рдСрд▓_рдПрдХреНрд╕рдкреЛрд░реНрдЯ_рдореЗрдЯрд╛рдбреЗрдЯрд╛
@landonj рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо рд╣реИ emulators:export
рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ рдФрд░ рдлрд┐рд░ JSON рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЕрднреА рддрдХ рдПрдореНрдпреВрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдЯреАрдбреАрдмреА рдмреЛрдиреЗ рдкрд░ рдХреБрдЫ рднреА?
@FergyKay рдЕрднреА рддрдХ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣рд╛рдБ рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
https://github.com/firebase/firebase-tools/issues/2079
рдпрд╣ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реИ
рдореИрдВ рдареАрдХ рд╡рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреИрд╕реЗ @landonj ..
рдФрд░ рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ @samtstern рдиреЗ рдХреНрдпрд╛ рдХрд╣рд╛ ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ ...
рдореИрдВ рдХреНрдпрд╛ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?
bdw.. рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ!
firebase emulators:start --debug --only firestore,functions --import=/Users/ridermansb/Projects/meve.ai/backups/emulator-data
[реирежреиреж-режрел-рейрезрдЯреАрезрей:рейрез:реирей.ремрежрезрдЬреЗрдб] com.google.cloud.datastore.core.exception.DatastoreException: рд╕рдордЧреНрд░ рдирд┐рд░реНрдпрд╛рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓
com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:225) рдкрд░
com.google.cloud.datastore.emulator.impl.ExportImportUtil.fetchEntities(ExportImportUtil.java:54) рдкрд░
com.google.cloud.datastore.emulator.firestore.CloudFirestore.main(CloudFirestore.java:89) рдкрд░
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛":{"рдПрдореБрд▓реЗрдЯрд░":{"рдирд╛рдо":"firestore"},"message":"com.google.cloud.datastore.core.exception.DatastoreException: рд╕рдордЧреНрд░ рдирд┐рд░реНрдпрд╛рдд рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓\n\tat com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:225)\n\tat com.google.cloud.datastore.emulator.impl.ExportImportUtil.fetchEntities(ExportImportUtil.java:54)\n \tat com.google.cloud.datastore.emulator.firestore.CloudFirestore.main(CloudFirestore.java:89)\n"}}
[реирежреиреж-режрел-рейрезрдЯреАрезрей:рейрез:реирей.ремрежреирдЬреЗрдб] рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.io.FileNotFoundException: /Users/ridermansb/Projects/meve.ai/backups/emulator-data/Users/ridermansb/Projects/meve.ai/backups/ 2020-05-31/2020-05-31/2020-05-31T13:19:28_6168.overall_export_metadata (рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ)
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛": {"рдПрдореБрд▓реЗрдЯрд░": {"рдирд╛рдо": "рдлрд╛рдпрд░рд╕реНрдЯреЛрд░"}, "рд╕рдВрджреЗрд╢": "рдЗрд╕рдХреЗ рдХрд╛рд░рдг: java.io.FileNotFoundException: /Users/ridermansb/Projects/meve.ai/backups/emulator-data /Users/ridermansb/Projects/meve.ai/backups/2020-05-31/2020-05-31/2020-05-31T13:19:28_6168.overall_export_metadata (рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╣реАрдВ)\n"}}
[реирежреиреж-режрел-рейрезрдЯреАрезрей:рейрез:реирей.ремрежрейрдЬреЗрдб] java.base/java.io.FileInputStream.open0 (рдореВрд▓ рд╡рд┐рдзрд┐) рдкрд░
java.base/java.io.FileInputStream.open(FileInputStream.java:213) рдкрд░
java.base/java.io.FileInputStream рдкрд░ред(рдлрд╛рдЗрд▓рдЗрдирдкреБрдЯрд╕реНрдЯреНрд░реАрдо.рдЬрд╛рд╡рд╛:резрелрел)
com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:215) рдкрд░
... 2 рдФрд░
{"рдореЗрдЯрд╛рдбреЗрдЯрд╛":{"рдПрдореБрд▓реЗрдЯрд░":{"рдирд╛рдо":"рдлрд╛рдпрд░рд╕реНрдЯреЛрд░"},"рд╕рдВрджреЗрд╢":"\tat java.base/java.io.FileInputStream.open0(Native Method)\n\tat java.base/ java.io.FileInputStream.open(FileInputStream.java:213)\n\tat java.base/java.io.FileInputStream.(FileInputStream.java:155)\n\tat com.google.cloud.datastore.emulator.impl.ExportImportUtil.parseOverallMetadataFile(ExportImportUtil.java:215)\n\t... 2 рдФрд░\n"}}
рддреНрд░реБрдЯрд┐: рдлрд╛рдпрд░рд╕реНрдЯреЛрд░: рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЧрдпрд╛ рд╣реИ: 1
@landonj рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдпрд╣ рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдХрд╛рдо рд╣реИ
emulators:export
рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдПрдВ рдФрд░ рдлрд┐рд░ JSON рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрдпрд╛рдд рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдореИрдВ рд╕реАрдзреЗ gcloud рдмрдХреЗрдЯ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдирд┐рд░реНрдпрд╛рдд рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореБрдЭреЗ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдореИрдВрдиреЗ рдЬреЛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
> firebase emulators:start
> firebase emulators:export ~/emulator-data/
> # close the emulator
> gcloud firestore export gs://xxxxx-xxxxx-xxxxx/emulator/
> gsutil cp -r gs://xxxxx-xxxxx-xxxxx/emulator ~/emulator-data/
> firebase emulators:start --only firestore --import /home/gugahoi/emulator-data/emulator/ --debug
[2020-06-01T10:04:36.492Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-06-01T10:04:36.493Z] > authorizing via signed-in user
i emulators: Starting emulators: firestore {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: firestore"}}
[2020-06-01T10:04:36.510Z] [hub] writing locator at /tmp/hub-flux-development.json
i emulators: Shutting down emulators. {"metadata":{"emulator":{"name":"hub"},"message":"Shutting down emulators."}}
i hub: Stopping emulator hub {"metadata":{"emulator":{"name":"hub"},"message":"Stopping emulator hub"}}
[2020-06-01T10:04:36.825Z] Error: ENOENT: no such file or directory, open '/home/gugahoi/emulator-data/emulator/firebase-export-metadata.json'
at Object.openSync (fs.js:458:3)
at Object.readFileSync (fs.js:360:35)
at Object.<anonymous> (/home/gugahoi/.nvm/versions/node/v12.16.3/lib/node_modules/firebase-tools/lib/emulator/controller.js:183:44)
at Generator.next (<anonymous>)
at fulfilled (/home/gugahoi/.nvm/versions/node/v12.16.3/lib/node_modules/firebase-tools/lib/emulator/controller.js:5:58)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Error: An unexpected error has occurred.
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде firebase-exports-metadata.json
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛:
> cat firebase-export-metadata.json
{"version":"8.4.1","firestore":{"version":"1.11.4","path":"emulator","metadata_file":"emulator/emulator.overall_export_metadata"}}
рдиреАрдЪреЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реИ:
gugahoi:~/emulator-data > tree .
.
тФЬтФАтФА emulator
тФВ┬а┬а тФЬтФАтФА all_namespaces
тФВ┬а┬а тФВ┬а┬а тФФтФАтФА all_kinds
тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА all_namespaces_all_kinds.export_metadata
тФВ┬а┬а тФВ┬а┬а тФЬтФАтФА output-0
тФВ┬а┬а тФВ┬а┬а тФФтФАтФА output-1
тФВ┬а┬а тФФтФАтФА emulator.overall_export_metadata
тФЬтФАтФА firebase-export-metadata.json
тФЬтФАтФА firebase-export-metadata.json.bak
тФФтФАтФА firestore_export
тФФтФАтФА firestore_export.overall_export_metadata
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдПрдореБрд▓реЗрдЯрд░ рдпреВрдЖрдИ рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИред
рдмрд╕ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдЕрдВрддрд┐рдо рдЖрдЙрдЯрдкреБрдЯ рдЬреЛрдбрд╝реВрдВрдЧрд╛, рдпрд╣ рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рдЪрд▓рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдбреЗрдЯрд╛ рдХреЗ рдмрд┐рдирд╛:
> firebase emulators:start --only firestore --import /home/gugahoi/emulator-data/ --debug
[2020-06-01T11:31:34.256Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[2020-06-01T11:31:34.257Z] > authorizing via signed-in user
i emulators: Starting emulators: firestore {"metadata":{"emulator":{"name":"hub"},"message":"Starting emulators: firestore"}}
[2020-06-01T11:31:34.274Z] [hub] writing locator at /tmp/hub-flux-development.json
i firestore: Importing data from /home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata {"metadata":{"emulator":{"name":"firestore"},"message":"Importing data from /home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata"}}
[2020-06-01T11:31:34.302Z] Ignoring unsupported arg: projectId {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: projectId"}}
[2020-06-01T11:31:34.303Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"firestore"},"message":"Ignoring unsupported arg: auto_download"}}
[2020-06-01T11:31:34.303Z] Starting Firestore Emulator with command {"binary":"java","args":["-Duser.language=en","-jar","/home/gugahoi/.cache/firebase/emulators/cloud-firestore-emulator-v1.11.4.jar","--host","localhost","--port",8080,"--seed_from_export","/home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata","--rules","/home/gugahoi/projects/flux/flux/firestore.rules"],"optionalArgs":["port","webchannel_port","host","rules","functions_emulator","seed_from_export"],"joinArgs":false} {"metadata":{"emulator":{"name":"firestore"},"message":"Starting Firestore Emulator with command {\"binary\":\"java\",\"args\":[\"-Duser.language=en\",\"-jar\",\"/home/gugahoi/.cache/firebase/emulators/cloud-firestore-emulator-v1.11.4.jar\",\"--host\",\"localhost\",\"--port\",8080,\"--seed_from_export\",\"/home/gugahoi/emulator-data/emulator/emulator.overall_export_metadata\",\"--rules\",\"/home/gugahoi/projects/flux/flux/firestore.rules\"],\"optionalArgs\":[\"port\",\"webchannel_port\",\"host\",\"rules\",\"functions_emulator\",\"seed_from_export\"],\"joinArgs\":false}"}}
i firestore: Firestore Emulator logging to firestore-debug.log {"metadata":{"emulator":{"name":"firestore"},"message":"Firestore Emulator logging to \u001b[1mfirestore-debug.log\u001b[22m"}}
[2020-06-01T11:31:35.197Z] API endpoint: http://localhost:8080
{"metadata":{"emulator":{"name":"firestore"},"message":"API endpoint: http://localhost:8080\n"}}
[2020-06-01T11:31:35.198Z] If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:
export FIRESTORE_EMULATOR_HOST=localhost:8080
Dev App Server is now running.
{"metadata":{"emulator":{"name":"firestore"},"message":"If you are using a library that supports the FIRESTORE_EMULATOR_HOST environment variable, run:\n\n export FIRESTORE_EMULATOR_HOST=localhost:8080\n\nDev App Server is now running.\n\n"}}
[2020-06-01T11:31:35.322Z] Ignoring unsupported arg: auto_download {"metadata":{"emulator":{"name":"ui"},"message":"Ignoring unsupported arg: auto_download"}}
[2020-06-01T11:31:35.322Z] Ignoring unsupported arg: port {"metadata":{"emulator":{"name":"ui"},"message":"Ignoring unsupported arg: port"}}
[2020-06-01T11:31:35.323Z] Starting Emulator UI with command {"binary":"node","args":["/home/gugahoi/.cache/firebase/emulators/ui-v1.0.0/server.bundle.js"],"optionalArgs":[],"joinArgs":false} {"metadata":{"emulator":{"name":"ui"},"message":"Starting Emulator UI with command {\"binary\":\"node\",\"args\":[\"/home/gugahoi/.cache/firebase/emulators/ui-v1.0.0/server.bundle.js\"],\"optionalArgs\":[],\"joinArgs\":false}"}}
i ui: Emulator UI logging to ui-debug.log {"metadata":{"emulator":{"name":"ui"},"message":"Emulator UI logging to \u001b[1mui-debug.log\u001b[22m"}}
[2020-06-01T11:31:35.395Z] Web / API server started at http://localhost:4000
{"metadata":{"emulator":{"name":"ui"},"message":"Web / API server started at http://localhost:4000\n"}}
тФМтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФР
тФВ тЬФ All emulators ready! View status and logs at http://localhost:4000 тФВ
тФФтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФШ
тФМтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФмтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФР
тФВ Emulator тФВ Host:Port тФВ View in Emulator UI тФВ
тФЬтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ╝тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ╝тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФд
тФВ Firestore тФВ localhost:8080 тФВ http://localhost:4000/firestore тФВ
тФФтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ┤тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФ┤тФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФАтФШ
Other reserved ports: 4400, 4500
Issues? Report them at https://github.com/firebase/firebase-tools/issues and attach the *-debug.log files.
@gugahoi рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдиреЗ рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдореЗрдВ рдорджрдж рдХреА: https://gist.github.com/bkuri/36cef71bcf30a5416b1c353cb81f38ed
рдпрд╣ рдПрдХ рдЫреЛрдЯреА рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдПрдореБрд▓реЗрдЯрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рд╕реАрдб рдХрд░рддреА рд╣реИред рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдФрд░ рдЧрдВрддрд╡реНрдп рдкрде рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА: ./seed-storage.sh my-project /tmp/export
ред
BTW, рдЙрдкрд░реЛрдХреНрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрджрд┐рдЧреНрдзреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рджреЛ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЯреВрд▓ ( lsof
рдФрд░ screen
) рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ ( firebase
, gcloud
рдФрд░ gsutil
), рдЗрд╕рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред :+1:
рд╡реИрд╕реЗ рднреА рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдкрд░ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП?
@bkuri рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк/рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдЬреАрдм рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред
@gugahoi рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдЙрддреНрдкрд╛рджрди рд╕реЗ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрджрдо рдЙрдард╛рдП:
firebase emulators:start
emulators:export ./mydirectory
gcloud firestore export gs://my-project-bucket-id.appspot.com --collection-ids=myCollection
рдирд┐рд░реНрдпрд╛рдд рдЕрдм _Firebase Storage_ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рдд рд╣реИ (рдореИрдВрдиреЗ рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ) рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП)gsutil cp -r gs://my-project-bucket-id.appspot.com/myCollection ./production_data_export
рдиреЛрдЯ: рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИ... _gsutil_ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдлреЗрдВрдХ рджреЗрдЧрд╛: _"OSError: рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо, рдпрд╛ рд╡реЙрд▓реНрдпреВрдо рд▓реЗрдмрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЧрд▓рдд рд╣реИ"_ рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ (рдпрд╛рдиреА рдХреЛрд▓рди) рдореЗрдВ рдХрд┐рд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рд╡рд░реНрдг рд╣реИрдВ рдпрд╛ рдпрд╣ рддреНрд░реБрдЯрд┐: _"OSError: рдЕрдорд╛рдиреНрдп рддрд░реНрдХ.9.0 B]"_ рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд┐рд╕реА рдЖрдВрддрд░рд┐рдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдорд╛рдиреНрдп рд╡рд░реНрдг рднреА рд╣реИрдВред рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдиреНрд╣реЗрдВ рдЗрд╕ рддрд░рд╣ рдПрдХ рд╡реИрдз рд╡рд┐рдВрдбреЛрдЬ рдирд╛рдо (рдпрд╛рдиреА рдХреЛрд▓рди рдХреЛ рд╣рдЯрд╛рдХрд░) рдХреЗ рд╕рд╛рде рдирд╛рдо рдмрджрд▓реЗрдВ: gsutil mv gs://my-project-bucket-id.appspot.com/2020-05-22T02:01:06_86152 gs://my-project-bucket-id.appspot.com/myCollection
firestore_export
рдФрд░ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдпрд╛рдд рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ firebase-export-metadata.json
рдлрд╝рд╛рдЗрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред рдмрд╕ рджреГрд╢реНрдп рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдорд┐рд▓реА рд╕рдВрд░рдЪрдирд╛ рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИ:$ tree .
.
тФЬтФАтФА local_data_export
тФВ тФЬтФАтФА firebase-export-metadata.json
тФВ тФФтФАтФА firestore_export
тФВ тФЬтФАтФА all_namespaces
тФВ тФВ тФФтФАтФА all_kinds
тФВ тФВ тФЬтФАтФА all_namespaces_all_kinds.export_metadata
тФВ тФВ тФФтФАтФА output-0
тФВ тФФтФАтФА firestore_export.overall_export_metadata
тФФтФАтФА production_data_export
тФЬтФАтФА firebase-export-metadata.json
тФФтФАтФА firestore_export
тФЬтФАтФА all_namespaces
тФВ тФФтФАтФА kind_myCollection
тФВ тФЬтФАтФА all_namespaces_kind_myCollection.export_metadata
тФВ тФЬтФАтФА output-0
тФВ тФФтФАтФА output-1
тФФтФАтФА firestore_export.overall_export_metadata
8 directories, 9 files
firebase emulators:start --import=./mock_up_data/production_data_export/
рдХрд╛рд╢ рдпреЗ рдирд┐рд░реНрджреЗрд╢ рдорджрджрдЧрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрддреЗред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрдмрдХрд┐ рд╣рдо рдлрд╛рдпрд░рдмреЗрд╕ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдордЬрдмреВрдд рд╕рдорд╛рдзрд╛рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрджреНрдпрддрди рдХреЗ рд░реВрдк рдореЗрдВ: рдЬрдм рдореИрдВрдиреЗ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рдирд┐рд░реНрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд┐рдП, рддреЛ рдореИрдВ рдЗрд╕реЗ WSL2 рдореЗрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд╡реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдереЗ рд▓реЗрдХрд┐рди рдЙрдмрдВрдЯреВ рдореЗрдВ рд╡рд╣реА рдХрджрдо рдареАрдХ рд▓рдЧ рд░рд╣реЗ рдереЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ WSL2 рдореЗрдВ рдХреБрдЫ рд╣рд╕реНрддрдХреНрд╖реЗрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ .
рдореИрдВ рдЗрд╕реЗ рджреВрд╕рд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореИрдВ рдЕрдкрдиреЗ рдПрдореБрд▓реЗрдЯрд░ рдбреЗрдЯрд╛ рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдореБрдЭреЗ рдЕрдкрдиреЗ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдореЗрдВ 7000 Google рд╢реАрдЯ рдкрдВрдХреНрддрд┐рдпрд╛рдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдореЗрд░рд╛ рд╕реНрдореГрддрд┐ рд╕реАрдорд╛ рднреА рдкрд╛рд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрдм рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдирд┐рд░реНрдпрд╛рдд рдЖрдпрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдПрдореБрд▓реЗрдЯрд░ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд╕реНрдерд╛рдиреАрдп рдмреИрдХрдЕрдк рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ?
@nvanhoesel рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдЙрддреНрдкрд╛рджрди рдФрд░ рдЕрдиреБрдХрд░рдгрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХрд╛ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдореБрд▓реЗрдЯрд░ рдирд┐рд░реНрдпрд╛рдд рдХреЛ Google рдХреНрд▓рд╛рдЙрдб рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд╕рдХреЗред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдлрд╛рдпрд░рд╕реНрдЯреЛрд░ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдпрд╛рдиреА, рдЗрд╕реЗ "рдмреАрдЬ" рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ) рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдореИрдиреБрдЕрд▓ рд╣реЛрдЧрд╛, рд╣рдо рдмрд╛рдж рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдмреЗрд╣рддрд░ рдЯреВрд▓рд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВрдЧреЗред
рд░реАрдпрд▓рдЯрд╛рдЗрдо рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред