Sorry for the basic question, but it seems like just about all of the publication examples on the ArcGIS API for Python docs presume that content is going to be published from a flat file sitting on a drive somewhere (e.g., here's a literal some-name.geojson file with 4 points from my camping trip that I want to publish to AGOL).
The dynamic publishing workflows documented (e.g., spatial data frame to hosted feature layer) presume that Notebook Server is part of the equation. So, when I run a script meant to simply push a spatial data frame of a few points into ArcGIS Enterprise from VS Code or command line, it just throws up and says "Exception: Job failed." (I guess because it's not connecting with any authenticated session).
So my question is: how do I go from dynamic, non-file based spatial content in memory (GeoJSON or spatial data frame) to a newly published hosted feature class on ArcGIS Enterprise, without using Notebook Server and without writing out a bunch of intermediate files?