Would like to hear some thoughts or suggestions for management of *.sd and *.sddraft service definition files. I used to not spend too much time thinking about them which means I've never really understood the 2-part SDDRAFT=> SD> map service publishing process. But now, when publishing with the new Python API or publishing through Pro, I'm wondering if maybe I will want to work with these files directly? I believe SDDRAFT is XML and SD looks like some binary format. But maybe there are good reasons to want to crack open the XML..
So any best practices around storage (where to save them), who should have access, etc would be helpful.
.sddraft files are used when publishing with ArcPy or when using the Stage Service Tool to convert the .sddraft file to a .sd file. Outside of ArcPy publishing workflows, the .sddraft cannot be used to directly publish a service.
The .sd file can be published from Pro or ArcMap using the Upload Service Definition tool, from ArcCatalog by connecting to the location where the .sd is stored and right clicking on the .file > Publish as Service, or from a web browser via Server Manager.
I’d be cautious modifying the files directly as I’m not aware of any scenarios where this would be required, and it would be considered an unsupported workflow.
Re: storage considerations, make sure the user running the ArcGIS Server Windows service has access to the location that they’re being published from. Aside from that detail, the location of these files is generally not an issue.