From a container running in docker, you can always reference host.docker.internal which resolves to the hostname of your host.  If you need an external IP address of the host, then you'll need to do something to pass in the ipaddress to the container

It's a good question.  I had thought raising an irisbuiltins.SQLError would do the trick, but it still returns the wrapped exception you see.  I'll put in for an enhancement.

There is not.  Cache has not been ported to ARM64.  IRIS has ARM ODBC drivers if that's an option for your application.

Parameters aren't available in embedded python.  An easy workaround is to create a Property that reflects the parameter or to create an objectscript method to return the parameter.

I'm curious about the use case.

Glad to hear the interest in Python.

When you use embedded python, IRIS loads Python into memory in the process (via CPython).  The specific version of Python depends on your OS.  That's documented here:  https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI...

Loading Python into the IRIS process does just what you think it does - not a separate process and references in Python to ObjectScript objects are in-memory.  So there's no performance difference between using Embedded Python from IRIS or starting with a Python program and `import iris`.

The start.sh script just calls docker-compose up.  You should be able to do podman-compose up to start SAM.  The first time it runs, it needs to download the containers (you can see what they are in the docker-compose.yaml file) if you don't already have them in your local podman cache.

During normal runtime, SAM doesn't require access to the internet.  That said, I haven't personally tested SAM without internet access.

Good luck!  Let us know how it goes.

It sounds like you're looking for persistent storage, which means you want to use the Durable %SYS feature.  Here's the info to get you started:  https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls....

To answer your specific questions:

1. Yes, IRIS works with any StorageClass that your Kubernetes cluster has installed, including any storage class you might have created for EBS or EFS. If you haven't yet tried it, the InterSystems Kubernetes Operator can simplify deployments in Kubernetes.  Even if you don't use IKO in production, it's a good way to see how everything should be configured.  https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

2. IRIS 2022.1 also includes first-class support for AWS SQS.  You can use it in your Productions or use ObjectScript to send messages to it.  https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic....

In Embedded Python, exceptions flow back-and-forth between ObjectScript and Python as you'd expect. 

If your Python code raises an exception, but does not handle it, then the exception is passed to the ObjectScript side.  And vice-versa.  In your example, I'm not sure why you're handling the exception in python and then returning an exception object to the caller.  Why not just not catch the exception and let it get passed along to the ObjectScript side?