Autorius: Kristijan Sekereš

EWS Exchange Online baigiasi 2027 m. balandžio 1 d.: kaip perkelti integracijas į Microsoft Graph

atidarytas nešiojamasis kompiuteris su el. pašto dėžute tamsiame kambaryje

Microsoft pradėjo išjunginėti Exchange Web Services (EWS) Exchange Online aplinkoje. Pirmieji privalomi žingsniai vykdomi šį mėnesį, o po to nuomininkai (tenants), kurie niekada nekeitė savo EWS nustatymų, bus išjungiami vienas po kito. Microsoft tikslas visiškai išjungti EWS yra 2027 m. balandžio 1 d., nors spalio 1 d. Message Center pranešime MC1485116 tikimasi, kad diegimas pasaulinėje ir JAV vyriausybės debesijose bus baigtas iki 2027 m. liepos pradžios. Planuokite pagal balandžio 1 d. Microsoft aiškiai pasakė, kad po 2027 m. balandžio išimčių nebus.

Jei kuri nors jūsų įmonės sukurta sistema jungiasi prie Microsoft 365 pašto dėžučių per EWS, ji nustos veikti vėliausiai iki tos datos, o galbūt gerokai anksčiau. Įprasti įtariamieji: CRM, kuris klientų laiškus priskiria paskyroms, archyvavimo ar saugojimo scenarijus, pasitarimų kambarių rezervavimo ekranas, užklausų valdymo sistema, skaitanti bendrą pagalbos pašto dėžutę, ataskaitų užduotis, skaičiuojanti kiekvienos komandos laiškus. Sprendimas yra perrašymas naudojant Microsoft Graph, o kai kurių EWS galimybių Graph neturi visai.

Kas vyksta: data po datos

Microsoft valdo EWS kiekvienam nuomininkui per nustatymą EWSEnabled, kuris turi tris reikšmes: Null (numatytoji), True ir False. Šalia jo dabar yra antras nustatymas, EWSAllowedAppIDs: sąrašas programų ID, kurioms vis dar leidžiama naudoti EWS. Dabartiniame Microsoft Learn puslapyje pateikiami metmenys: „2026 m. spalis: EWS pradedama išjunginėti visame pasaulyje visoms organizacijoms“ ir „2027 m. balandis: EWS visiškai išjungiama“.

Išsami informacija pateikta spalio 1 d. Exchange komandos įraše EWS Deprecation Is Here. Pasaulinei komercinei debesijai:

  • 2026 m. spalio 2 d., dienos pabaigoje Ramiojo vandenyno laiku: Microsoft užfiksuoja kiekvieną nuomininką, kurio EWSEnabled nustatytas į True, bet leidžiamų programų sąrašo nėra.
  • 2026 m. spalio 8 ir 9 d.: tiems nuomininkams Microsoft sukuria leidžiamų programų sąrašą ir užpildo jį programų ID, kurios naudojo EWS per pastarąsias 60 dienų.
  • Nuo 2026 m. spalio 10 d.: kai EWSEnabled yra True, leidžiamų programų sąrašas privalomas. Programai, kurios jame nėra, prieiga atmetama.
  • Vėliau, antrasis etapas: nuomininkams, kurių nustatymas vis dar Null, EWSEnabled nustatomas į False, o tai blokuoja EWS visoms programoms. Kiekvienas iš jų gauna įspėjimą Message Center likus 7 dienoms, o Microsoft prieš pat tai užpildo leidžiamų programų sąrašą pagal 60 dienų naudojimą, kad administratorius galėtų vėl įjungti EWS nustatydamas True.
  • 2027 m. balandžio 1 d.: Microsoft tikslinė data, kai EWS bus „visiškai ir galutinai išjungta“, po kurios nuomininkų administratoriai visai nebegalės keisti EWSEnabled. MC1485116 nurodo, kad diegimas Worldwide, GCC, GCC High ir DoD aplinkose turėtų baigtis 2027 m. liepos pradžioje, todėl kai kurie nuomininkai EWS gali išlaikyti šiek tiek ilgiau. Niekas neturėtų tikėtis būti vienas iš jų.

Kitose Microsoft debesijose esantys nuomininkai savo grafikus gauna per Message Center.

Leidžiamų programų sąrašas suteikia laiko, bet ne sprendimą

Automatinis sąrašas sudaromas pagal 60 dienų srautą, o pačios Microsoft rugsėjo 4 d. rekomendacijose įspėjama, kad jis „gali praleisti retai veikiančias programas“. Ketvirčio pabaigos eksporto ar metų pabaigos archyvavimo užduoties jame nebus, ir kitą kartą paleista ji nepavyks.

Leidžiamų programų sąrašo pakeitimai įsigalioja per 24 valandas, o EWSEnabled pakeitimai maždaug per valandą. Bet koks taisymas po gedimo kainuoja mažiausiai dieną.

Kad pamatytų, kokia jūsų nuomininko būsena, administratorius su Exchange Online PowerShell gali paleisti:

Get-OrganizationConfig | Format-List EWSEnabled
Get-OrganizationConfig -RetrieveEwsOperationAccessPolicy | Format-List EwsAllowedAppIDs

Kam tai aktualu ir kas gali toliau neskaityti

Vietinio Exchange Server tai neliečia. Microsoft teigia, kad nutraukimas taikomas „tik Microsoft 365 ir Exchange Online“ ir kad „EWS Exchange Server aplinkoje nesikeičia“. Jei visos jūsų pašto dėžutės yra jūsų pačių serveriuose, galite čia baigti.

Hibridines konfigūracijas reikia patikrinti atidžiau. Vietinės pašto dėžutės gali toliau naudoti EWS; debesijoje esančios pašto dėžutės turi pereiti prie Graph. Microsoft rugsėjo 30 d. įraše apie hibridines aplinkas aptariami du atvejai, kuriems veiksmų reikia jau dabar, įskaitant vietines pašto dėžutes, kurių archyvai yra Exchange Online; kol kas patariama palikti EWS įjungtą ir įtraukti hibridinę programą į leidžiamų programų sąrašą.

Komercinė programinė įranga yra tiekėjo reikalas. Jei EWS kviečia komercinis produktas, Graph versiją išleisti turi tiekėjas, o jūsų užduotis yra gauti iš jo datą ir įdiegti atnaujinimą. Pačios Microsoft klientinės programos nėra išimtis: kai kurios vis dar matomos naudojimo ataskaitose ir, kol nebus atnaujintos, turi būti leidžiamų programų sąraše.

Vidinis kodas yra jūsų reikalas. Scenarijų, vidinių paslaugų, pritaikytų atvirojo kodo įrankių ir prieš daugelį metų agentūros sukurtų integracijų niekas aukščiau grandinėje nepataisys. Būtent čia ir yra darbas. Mastui suvokti: exchangelib, Python biblioteka, skirta bendrauti su Exchange per EWS, per pastarąjį mėnesį iš PyPI atsisiųsta 1 174 625 kartus. Dalis to tenka vietiniam naudojimui, bet tai leidžia suprasti, kiek kodo kalbasi tiesiogiai per EWS.

Pirmas žingsnis: suraskite viską, kas naudoja EWS

Pradėkite nuo EWS naudojimo ataskaitos Microsoft 365 administravimo centre (Reports, Usage, Exchange, tada skirtukas EWS usage). Kiekvienai programai joje nurodomas Microsoft Entra programos ID, kiekvienas tos programos iškviestas SOAP veiksmas, iškvietimų apimtis ir paskutinės veiklos data. Galite pažvelgti 7, 30 ar 90 dienų atgal ir eksportuoti į CSV.

Trys dalykai, kuriuos apie ją reikia žinoti:

  • Duomenys apibendrinami kas savaitę ir gali pasirodyti tik po 10 dienų.
  • Programos ID nėra savininkas. Kiekvieną ID palyginkite su Enterprise applications sąrašu Microsoft Entra, tada suraskite asmenį ar komandą, kuri ją prižiūri. Tikėkitės kelių ID, kurių niekas neatpažins.
  • SOAP veiksmų stulpelis parodo, koks didelis kiekvienas darbas. Programa, kuri kviečia tik FindItem ir GetItem, yra trumpas darbas. Programa, kuri kviečia SyncFolderItems, Subscribe ir ExportItems, yra projektas.

Net 90 dienų praleidžia metines užduotis, todėl patikrinkite ir kitą pusę: suplanuotas užduotis ir cron įrašus, o kodo saugyklose ieškokite EWS galinio taško (Exchange.asmx), EWS Managed API for .NET ir exchangelib. Microsoft nutraukimo puslapyje taip pat pateikiama nuoroda į .NET kodo EWS analizatorių (jis pažymi EWS iškvietimus Visual Studio ir VS Code aplinkose ir siūlo Graph atitikmenis) ir į mokomąją medžiagą apie dirbtinio intelekto padedamą pertvarkymą.

Antras žingsnis: nuspręskite, kas bus su kiekviena integracija

Kiekviena sąraše esanti programa gauna vieną iš keturių atsakymų:

  1. Atsisakyti. Kai kurios integracijos egzistuoja tik todėl, kad niekas jų neišjungė.
  2. Atnaujinti. Tiekėjų produktai atnaujinami tiekėjo. Susitarkite dėl datos jau dabar.
  3. Perrašyti naudojant Microsoft Graph. Numatytasis sprendimas vidiniam kodui.
  4. Suprojektuoti iš naujo. Viskam, kas remiasi galimybe, kurios Graph niekada neturės (žr. toliau).

Microsoft taip pat nurodo Power Platform kaip būdą iš naujo įgyvendinti darbo eigą. Scenarijui, kuris persiunčia priedus į aplanką, tai gali būti pigiausias sprendimas.

Ką iš tikrųjų reiškia perrašymas naudojant Graph

Daugelis EWS operacijų turi tiesioginį Graph atitikmenį, o Microsoft palaiko EWS ir Graph atitikmenų lentelę. Atitikmenys yra lengvoji dalis. Sunkesnės dalys yra tos, kurių ji neparodo.

Leidimai tampa siauresni, ir tai privalumas

Programa, kuri naudoja EWS be prisijungusio naudotojo, turi EWS programos leidimą, kurį Microsoft apibūdina kaip „visišką prieigą prie visų pašto dėžučių“. Graph jį skaido į atskirus leidimus: Mail.Read, Mail.ReadBasic, Mail.Send, Calendars.ReadWrite, MailboxSettings.Read ir t. t.

Taip pat galite apriboti, kurias pašto dėžutes programa pasiekia. RBAC for Applications in Exchange Online suteikia leidimą valdymo aprėpčiai (management scope) arba administraciniam vienetui ir pakeičia senesnes Application Access Policies. Kambarių rezervavimo ekranas gali skaityti dvylikos kambarių pašto dėžučių kalendorius ir nieko daugiau. Vienas spąstas: tokiu būdu suteikti leidimai pridedami prie bet kokio viso nuomininko lygmens leidimo Microsoft Entra, todėl jei ten vis dar duotas sutikimas Mail.Read, jūsų aprėptis nieko neapriboja. Pašalinkite Entra leidimą.

Programų autentifikavimui, kur įmanoma, naudokite sertifikatus, o ne kliento slaptažodžius, ir nelaikykite prisijungimo duomenų scenarijuose ar kodo saugyklose.

Sinchronizavimas ir pranešimai kuriami iš naujo, o ne verčiami

Tai paprastai didžiausias pokytis viskam, kas laiko vietinę pašto dėžutės duomenų kopiją.

Sinchronizavimas. SyncFolderItems atitinka Graph laiškų delta užklausą (delta query), o SyncFolderHierarchy pašto aplankų delta užklausą. Laiškų delta veikia po vieną aplanką, todėl visai pašto dėžutei sinchronizuoti reikia sekti aplankų medį ir kiekvienam aplankui saugoti atskirą delta nuorodą. Filtravimas ribotas (tik pagal gavimo datą), o rezultatuose yra ištrynimai, perkėlimai iš aplanko ir perskaitymo būsenos pakeitimai net tada, kai jie neatitinka jūsų filtro.

Pranešimai. EWS srautinės (streaming) ir siunčiamosios (push) prenumeratos tampa Graph pakeitimų pranešimais (change notifications), pristatomais į jūsų valdomą webhook arba į Azure Event Hubs ar Event Grid. Webhook turi būti pasiekiamas iš Microsoft pusės, o tai yra architektūros pokytis scenarijui, kuris anksčiau laikė atvirą ryšį iš už ugniasienės. Pašto, kalendoriaus ir kontaktų prenumeratos galioja ne ilgiau kaip 10 080 minučių (šiek tiek mažiau nei septynias dienas) arba 1 440 minučių, kai pranešime perduodami duomenys, todėl kažkas turi jas atnaujinti. Kiekvienai pašto dėžutei leidžiama ne daugiau kaip 1 000 aktyvių prenumeratų visoms programoms kartu.

Patikimas modelis: pranešimą laikykite užuomina, paleiskite delta užklausą ir pažiūrėkite, kas pasikeitė, o tą pačią užklausą paleiskite ir pagal laikmatį, kad sugautumėte tai, kas būtų pasimetę dėl praleisto pranešimo.

Duomenys, ID ir pralaidumas

  • Išsaugoti ID. Jei jūsų CRM ar užklausų valdymo sistema išsaugojo EWS elementų ID, kad susietų laiškus su įrašais, tas sąsajas reikia konvertuoti. Graph būtent tam turi funkciją translateExchangeIds. Konvertavimą planuokite kaip atskirą migracijos žingsnį.
  • Paieškos. ResolveNames atitinka People API, GetUserAvailability atitinka getSchedule, nebuvimo biure nustatymai atitinka pašto dėžutės nustatymus. Tai artimi, bet ne identiški atitikmenys.
  • Ribojimas (throttling). Graph kiekvienai programos ir pašto dėžutės porai leidžia 10 000 užklausų per 10 minučių, keturias lygiagrečias užklausas ir 150 MB įkėlimų per 5 minutes. Masinę užduotį, kuri vienai pašto dėžutei paleisdavo dešimtis lygiagrečių EWS gijų, reikia perprojektuoti pagal šiuos skaičius.

Spragos ir tai, kas niekada neatsiras

Microsoft skelbia veiksmų planą su EWS galimybėmis, kurių Graph dar trūksta. Jame yra visiškai tikslus archyvų, viešųjų aplankų ir grupių pašto dėžučių importas ir eksportas, prieiga prie vietinių archyvų (in-place archives), aplankų leidimai per Exchange Admin API ir ne juodraštinių laiškų kūrimas iš MIME. Daugumos tikslinis laikas yra 2026 m. ketvirtasis ketvirtis. Trys turėjo būti įgyvendinti trečiąjį ketvirtį, kuris jau baigėsi: užrašų API Graph aplinkoje tapo visuotinai prieinamas 2026 m. rugpjūtį, o asmeniniai kontaktų sąrašai nuo 2026 m. birželio yra peržiūros (beta) etape. Dėl kitų patikrinkite, kas iš tikrųjų išleista, prieš kurdami sprendimą, kuris nuo to priklauso. Pačios Microsoft įspėjimas: jei galimybės nėra veiksmų plane, „neplanuokite“, kad Graph atitikmuo atsiras prieš išjungiant EWS.

Patvirtinta, kad trys galimybės į Graph niekada neateis:

  • Bendroji prieiga prie viešųjų aplankų (aplankų ir elementų kūrimas, skaitymas, atnaujinimas, trynimas).
  • Bendroji prieiga prie Microsoft 365 grupių pašto dėžučių. Vietoj to Graph apima grupių pokalbius, gijas ir įrašus.
  • Prieiga prie aptikimo (discovery) pašto dėžučių. Vietoj to Microsoft nurodo Purview eDiscovery.

Jei įrankis priklauso nuo vienos iš jų, neužtenka perkelti kodo: pirmiausia duomenys ar darbo eiga turi persikelti kitur, o tai užtrunka ilgiau nei perrašymas.

Šešių mėnesių planas

Nuo šiandien iki 2027 m. balandžio 1 d. liko kiek mažiau nei šeši mėnesiai. Reali eilė:

2026 m. spalis: išsiaiškinkite, kur esate. Patikrinkite EWSEnabled ir leidžiamų programų sąrašą. Eksportuokite 90 dienų naudojimo ataskaitą. Peržiūrėkite Microsoft užpildytą sąrašą, pašalinkite tai, kam ten ne vieta, ir pridėkite jums žinomas retas užduotis. Jei jūsų nuomininko nustatymas vis dar Null, apsvarstykite galimybę patys nustatyti sąrašą ir True, užuot laukę, kol Microsoft perjungs į False, ir tada aiškinęsi, kas sugedo.

2026 m. lapkritis: rūšiavimas. Kiekvienam programos ID priskirkite savininką ir atsakymą (atsisakyti, atnaujinti, perrašyti, suprojektuoti iš naujo). Peržiūrėkite kodą. Pažymėkite viską, kas susiję su viešaisiais aplankais, grupių ar aptikimo pašto dėžutėmis, ir pradėkite perprojektavimą jau dabar. Sukurkite Graph programų registracijas su apribotos aprėpties leidimais.

2026 m. gruodis ir 2027 m. sausis: kūrimas. Pradėkite nuo integracijos, kurios verslui pritrūktų pirmiausia. Sinchronizavimo ir pranešimų infrastruktūrą sukurkite vieną kartą ir naudokite pakartotinai. Konvertuokite išsaugotus ID.

2027 m. vasaris: abi versijos veikia lygiagrečiai. Kol EWS dar veikia, paleiskite senąją ir naująją versiją su tomis pačiomis pašto dėžutėmis ir palyginkite rezultatus. Kai kiekviena naujoji versija priimama, pašalinkite jos ID iš leidžiamų programų sąrašo. Tai kartu ir bandymas: palaukite 24 valandas ir įsitikinkite, kad niekas kitas nesustojo.

2027 m. kovas: išjunkite EWS patys. Nustatykite EWSEnabled į False gerokai prieš balandžio 1 d. Viskas, ką praleidote, suges tada, kai dar galėsite EWS vėl įjungti. Po balandžio 1 d. šios galimybės nebebus. Iki tol tyčia išbandykite ir ketvirtines bei metines užduotis: užduotis, kuri vykdoma uždarant pirmąjį ketvirtį, pirmą kartą bus paleista jau be EWS.

Kur gauti pagalbos

Sunkiausias atvejis yra integracija, kurios pirminis kūrėjas jau išėjęs. Mūsų senų sistemų priežiūros paslauga sukurta būtent tam: perskaitome esamą kodą, perrašome EWS dalis naudodami Microsoft Graph (leidimai, sinchronizavimas, pranešimai, ID migracija) ir leidžiame senąją bei naująją versiją lygiagrečiai, kol skaičiai sutampa. Jei vietoj to jums reikia inžinierių, kurie dirbtų jūsų pačių komandoje, žr. mūsų darbuotojų papildymo paslaugą.

Jei jūsų naudojimo ataskaitoje pilna programų ID, kurių niekas neatpažįsta, rašykite adresu office@c9group.dev.

Platformų migracija

Nauji vadovai ir taisyklių pakeitimai el. paštu

Kai pasikeičia taisyklė, nusikelia terminas arba paskelbiame naują vadovą, atsiunčiame tai el. paštu.

Pirmiausia atsiųsime patvirtinimo nuorodą. Prenumeratos galite atsisakyti bet kada. Privatumo politika