https:\/\/pro.arcgis.com\/en\/pro-app\/tool-reference\/server\/upload-service-definition.htm<\/>\/<\/A>. Toevallig zijn er veel meer opties om serviceparameters te regelen. <\/P>Disclaimer: Ik weet niets van python, dus ik weet zeker dat er allerlei inefficiënties in zitten, maar het werkt. <\/P>
import<\/> arcpy
import<\/> sys,<\/>span> string,<\/>span> os,<\/>span> calendar,<\/>span> datetime,<\/>span> traceback,<\/>span>smtplib
from<\/> arcpy import<\/> env
from<\/> subprocess import<\/> call
# Mail Server Settings<\/>
service =<\/>span> "GRSM_SASQUATCH"<\/>
sd_filename =<\/>span> service +<\/>span> ".sd"<\/>
try<\/>:<\/>
d =<\/>span> datetime.<\/>datetime.<\/>now(<\/>)<\/>
log =<\/>span> open(<\/>"C:\\\PYTHON_LOGS\\LOG."<\/>+<\/>span>service+<\/>span>".txt"<\/>,<\/>"a"<\/>)<\/>
log.<\/>write(<\/>"----------------------------"<\/>+<\/> span>
"
)
log.write("----------------------------" + "
")
log.write("Log: " + str(d) + "
")
log.write("\n")
# Start proces...
starttime = datetime.datetime.now()
log.write("Begin proces:\n")
log.write(" Proces gestart om " + str(starttime) + "
")
log.write("\n")
# Mail Server Instellingen
SERVER = "1.2.34"
PORT = "25"
FROM = "sasquatch@big.foot.com"
MAILDOMAIN = '@big.foot.com'
# Data Steward ontvangt de e-mail. Moet hun e-mailadres zijn... zonder @big.foot.com aan het einde
userList=["yeti"]
# krijg een lijst met gebruikersnamen uit de lijst van benoemde tuples die worden geretourneerd door ListUsers
userNames = [u for u in userList]
# neem de userNames-lijst en maak e-mailadressen door de juiste suffix toe te voegen.
emailList = [name + MAILDOMAIN for name in userNames]
TO = emailList
# Pak datum voor de e-mail
DATE = d
# Aanmelden bij portal
arcpy.SignInToPortal('https://www.arcgis.com', 'userid', 'password')
# Stel uitvoerbestandsnamen in
outdir = r"C:\PRODUCTION\GRSM_SASQUATCH"
sddraft_filename = service + ".sddraft"
sddraft_output_filename = os.path.join(outdir, sddraft_filename)
# Verwijder eventuele overgebleven SD-bestanden van mislukte vorige run
try:
os.remove(sd_filename)
print("Succesvol verwijderd ", sd_filename)
except:
print("Fout tijdens het verwijderen van bestand "<\/SPAN>, sd_filename, ", misschien bestaat het niet"<\/SPAN>)<\/SPAN>
probeer<\/SPAN>:<\/SPAN>
os.<\/SPAN>remove(<\/SPAN>sddraft_output_filename)<\/SPAN>
print<\/SPAN>(<\/SPAN>"Succesvol verwijderd "<\/SPAN>, sddraft_output_filename)<\/SPAN>
behalve<\/SPAN>:<\/SPAN>
print<\/SPAN>(<\/SPAN>"Fout bij het verwijderen van bestand "<\/SPAN>, sddraft_output_filename, ", misschien bestaat het niet"<\/SPAN>)<\/SPAN>
# Referentiekaart om te publiceren<\/SPAN>
aprx =<\/SPAN> arcpy.<\/SPAN>mp.<\/SPAN>ArcGISProject(<\/SPAN>r"C:\PRODUCTION\GRSM_SASQUATCH\GRSM_SASQUATCH.aprx"<\/SPAN>)<\/SPAN>
m =<\/SPAN> aprx.<\/SPAN>listMaps(<\/Span>:<\/SPAN>\n \n # Verkrijg het traceback-object<\/SPAN>\n tb =<\/SPAN> sys.<\/SPAN>exc_info(<\/SPAN>)<\/SPAN>[<\/SPAN>2<\/SPAN>]<\/SPAN>\n tbinfo =<\/SPAN> traceback.<\/SPAN>format_tb(<\/SPAN>tb)<\/SPAN>[<\/SPAN>0<\/SPAN>]<\/SPAN>\n # Voeg informatie samen over <\/SPAN>\n # de fout in een berichtstring<\/SPAN>\n pymsg =<\/SPAN> "PYTHON FOUTEN:\nTraceback info:\n"<\/SPAN> +<\/SPAN> tbinfo +<\/SPAN> "\nFoutinformatie:\n"<\/SPAN> +<\/SPAN> str(<\/SPAN>sys.<\/SPAN>exc_info(<\/SPAN>)<\/SPAN>[<\/SPAN>1<\/Span>]<\/span>)\n msgs =<\/span> "ArcPy FOUTEN:\n"<\/span> +<\/span> arcpy.<\/span>GetMessages(<\/span>2<\/span>)<\/span> +<\/span> "\n"<\/span>\n# Retourneer python foutmeldingen voor gebruik in <\/span>\n# script tool of Python Window<\/span>\n arcpy.<\/span>AddError(<\/span>pymsg)<\/span>\n arcpy.<\/span>AddError(<\/span>msgs)<\/span>\n# Print Python foutmeldingen voor gebruik in <\/span>\n# Python / Python Window<\/span>\n log.<\/span>write(<\/span>""<\/span> +<\/span> pymsg +<\/span> "\n"<\/span>)<\/span>\n log.<\/span>write(<\/span>""<\/span> +<\/span> msgs +<\/span> ""<\/span>)<\/span>\n log.<\/span>close(<\/span>)<\/span>\n # Definieer e-mailbericht als er iets misging<\/span>\n SUBJECT =<\/span> "Melding van niet-succesvolle AGOL-update van "<\/span>+<\/span>service \n MSG =<\/span> "Niet bijgewerkt: {} - ID: {} om "<\/span>+<\/span> str(<\/span>DATE )< /span>< operator token > + </ operator token > </ string token > ; </ string token > </ operator token > pymsg + </ operator token > </ string token > ; </ string token > </ operator token > msgs
print (MSG)
print (emailList)
# Verstuur een e-mail om de beheerder te informeren over een succesvolle archivering
#MESSAGE = "\ From: %s To: %s Subject: %s %s" % (FROM, ", ".join(TO), SUBJECT, MSG)
MESSAGE = "Subject: %s\n\n%s" % (SUBJECT, MSG)
try:
try:
print("Verbinden met server...")
server = smtplib.SMTP(SERVER,PORT)
try:
print("Inloggen...")
try:
print("E-mail verzenden...")
server.sendmail(FROM, TO, MESSAGE)
except Exception as e:
print("Fout bij verzenden e-mail\n" + e.message)
except Exception as e:
print("Fout bij authenticatie server: controleer de inloggegevens \n" + e.message)
except Exception as e:
print("Fout bij verbinden met server: controleer de URL van de server en communicatiepoort (25 en standaard) \n" + e.message)
print("Afsluiten.")
server.quit()
except Exception as e:
print(e.message)
< SPAN >{ EMOJ I _27 } </ SPAN >< SPAN >{ EMOJ I _28 } </ SPAN >< SPAN >{ EMOJ I _29 } </ SPAN >< SPAN >{ EMOJ I _30 } </ SPAN >< SPAN >{ EMOJ I _31 } </ SPAN >< SPAN >{ EMOJ I _32 } </ SPAN >< SPAN >{ EMOJ I _33 } </ SPAN >< SPAN >{ EMOJ I _34 } </ SPAN >< SPAN >{ EMOJ I _35 } </ SPAN >< SPAN >{ EMOJ I _36 } </ SPAN >< SPAN >{ EMOJ I _37 } </ SPAN >< SPAN >{ EMOJ I _38 } </ SPAN >< SPAN >{ EMOJ I _39 } </ SPAN >< SPAN >{ EMOJ I _40 } </ SPAN >< SPAN >{ EMOJ I _41 } </ SPAN >< SPAN >{ EMOJ I _42 } </ SPAN >< SPAN >{ EMOJ I _43 } </ SPAN >< SPAN >{ EMOJ I _44 } </ SPAN >< SPAN >{ EMOJ I _45 } </ SPAN >< SPAN >{ EMOJ I _46 } </ SPAN >< SPAN >{ EMOJ I _47 } </ SPAN >< SPAN >{ EMOJ I _48 } </ SPAN >< SPAN >{ EMOJ I _49 } </ SPAN >< SPAN >{ EMOJ I _50 } </ SPAN >< SPAN >{ EMOJ I _51 } </ SPAN >< SPAN >{ EMOJ I _52 } </ SPAN >< SPAN >{ EMOJ I _53 } </ SPAN >< SPAN >{ EMOJ I _54 } </ SPAN >< SPAN >{ EMOJ I _55 } </ SPAN >< SPAN >{ EMOJ I _56 } </ SPAN >< SPAN >{ EMOJ I _57 } </ SP AN >< S PAN > { E MOJ I _58 }</ S PAN >< S PAN > { E MOJ I _59 }</ S PAN >< S PAN > { E MOJ I _60 }</ S PAN >< S PAN > { E MOJ I _61 }</ S PAN >< S PAN > { E MOJ I _62 }</ S PAN >< S PAN > { E MOJ I _63 }</ S PAN >< S PAN > { E MOJ I _64 }</ S PAN >< S PAN > { E MOJ I _65 }</ S PAN >< S PAN > { E MOJ I _66 }</ S PAN >< S PAN > { E MOJ I _67 }</ S PAN >< S PAN > { E MOJ I _68 }</ S PAN >< S PAN > { E MOJ I _69 }</ S PAN >< S PAN > { E MOJ I _70 }</ S PAN >< S PAN > { E MOJ I _71 }</ S PAN >< S PAN > { E MOJ I _72 }</ S PAN >< S PAN > { E MOJ I _73 }</ S PAN >< S PAN > { E MOJ I _74 }</ S PAN >< S PAN > { E MOJ I _75 }</ S PAN >< S PAN > { E MOJ I _76 }</ S PAN >< S PAN > { E MOJ I _77 }</ S PAN >< S PAN > { E MOJ I _78 }</ S PAN >< S PAN > { E MOJ I _79 }</ S PAN >< S PAN > { E MOJ I _80 }</ S PAN >< S PAN > { E MOJ I _81 }</ S PAN >< S PAN > { E MOJ I _82 }</ S PAN >{E M O JI 8 3}{E M O JI 8 4}{E M O JI 8 5}{E M O JI 8 6}{E M O JI 8 7}{E M O JI 8 8}{E M O JI 8 9}{E M O JI 9 0}{E M O JI 9 1}{E M O JI 9 2}{E M O JI 9 3}{E M O JI 9 4}{E M O JI 9 5}{E M O JI 9 6}{E M O JI 9 7}{E M O JI 9 8}{E M O JI 9 9}{E M O JI 1 0 0}{E M O JI 1 0 1}{E M O JI 1 0 2}{E M O JI 1 0 3}{E M O JI 1 0 4}{E M O JI 1 0 5}{E M O JI 1 0 6}{E M O JI 1 0 7}{E M O JI 1 0 8}{E M O JI 1 0 9}{E M O JI 1 1 0}{E M O JI 1 1 1}{E M O JI}