Domino supports interactive SAS® sessions if your administrator configures a compute environment and interactive workspace. If this is configured, you can switch your project to that environment.
This topic describes how to create the necessary compute environment, if it doesn’t exist. You might need help from a Domino or SAS admin.
To use a SAS workspace in Domino, you must have a valid SAS license file.
-
Go to
my.sas.com
to download the license file. -
Store the file in a project created by the Domino administrator.
Note -
Go to the file in Domino’s File Explorer.
-
Right-click View Latest Raw File and select Copy Link Address. Save this URL to be used in the Dockerfile Instructions.
If your Domino deployment does not have a SAS workspace environment, you must create one. See Compute Environment Management for more information.
-
In Domino, click Environments.
-
Click Create Environment.
-
Give the environment a name.
-
In Start from an existing Environment, enter the repository path for the SAS software version. You must have a valid license issued by SAS for the product you select.
-
Select a Visibility setting and click Create Environment. Domino opens the environment’s Overview page.
-
Click Edit Definition and go to the Dockerfile Instructions.
- Available SAS workspace environments
SAS product | Repository path |
---|---|
Analytics Pro Advanced Programming |
|
Analytics Pro |
|
Data Science 3.5 |
|
Analytics for Containers 9.4 |
|
The Dockerfile instructions must include the command to download and apply the valid SAS license file. The license file must be hosted on a server accessible through an HTTP request from the Domino cluster. When building the environment image, this file must be available to the build host without authentication restrictions.
Enter the following command in your Dockerfile Instructions:
`RUN apply-license <url_to_license_file>`
Note: Although not recommended, a SAS license file can also be provided as base64 encoded text, or included as a project file.
Base64 example
`ENV SAS_LICENSE=”UgbWFnbmEgYWx...pcXVhLgo=”`
`RUN apply-license $SAS_LICENSE`
Project file example
In your Pre Run Script:
`apply-license /mnt/my-sas-license.jwt`
Paste the following code into Pluggable Workspace Tools to enable the SAS workspace.
SAS Analytics Pro Advanced Programming (Viya 4)
sasapro:
title: "SAS APro Advanced"
iconUrl: "https://upload.wikimedia.org/wikipedia/commons/1/10/SAS_logo_horiz.svg"
start: [ "/opt/domino/workspaces/sas-apro-ap/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/"
port: 8888
rewrite: false
requireSubdomain: false
jupyterlab:
title: "JupyterLab"
iconUrl: "/assets/images/workspace-logos/jupyterlab.svg"
start: [ "/opt/domino/workspaces/jupyterlab/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
port: 8888
rewrite: false
requireSubdomain: false
SAS Analytics Pro (Viya 4)
sasapro:
title: "SAS Analytics Pro"
iconUrl: "https://upload.wikimedia.org/wikipedia/commons/1/10/SAS_logo_horiz.svg"
start: [ "/opt/domino/workspaces/sas-apro/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/"
port: 8888
rewrite: false
requireSubdomain: false
jupyterlab:
title: "JupyterLab"
iconUrl: "/assets/images/workspace-logos/jupyterlab.svg"
start: [ "/opt/domino/workspaces/jupyterlab/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
port: 8888
rewrite: false
requireSubdomain: false
SAS Data Science (Viya 3.5)
sasds:
title: "SAS Data Science"
iconUrl: "https://upload.wikimedia.org/wikipedia/commons/1/10/SAS_logo_horiz.svg"
start: [ "/opt/domino/workspaces/sasds/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/start.html"
port: 8888
rewrite: false
requireSubdomain: false
jupyter:
title: "Jupyter"
iconUrl: "https://raw.github.com/dominodatalab/workspace-configs/develop/workspace-logos/Jupyter.svg"
start: [ "/opt/domino/workspaces/jupyter/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
supportedFileExtensions: [ ".ipynb" ]
port: 8888
rewrite: false
requireSubdomain: false
SAS Analytics for Containers (SAS 9.4)
sasstudio:
title: "SAS Studio"
iconUrl: "https://raw.githubusercontent.com/ChuckRIHead/chuckspaces/master/workspace-logos/sas-logo.png"
start: [ /opt/domino/workspaces/sa4c/start ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/SASStudio/"
port: 8888
rewrite: false
requireSubdomain: false
jupyter:
title: "Jupyter"
iconUrl: "https://raw.github.com/dominodatalab/workspace-configs/develop/workspace-logos/Jupyter.svg"
start: [ "/opt/domino/workspaces/jupyter/start" ]
httpProxy:
internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
supportedFileExtensions: [ ".ipynb" ]
port: 8888
rewrite: false
requireSubdomain: false
To persist your SAS Studio preferences between Domino sessions, you can define a Post Run Script to automatically copy them to your Project Files when you Stop and Sync a session, and define a Pre Run Script to copy them from your Project Files into locations that SAS Studio recognizes at the start of subsequent sessions.
-
Add the following lines in the Pre Run Script.
# Copy preferences to workspace PREFS_DIR="$DOMINO_WORKING_DIR/.sasstudio5" mkdir -p $PREFS_DIR rsync -rpq $PREFS_DIR $HOME
-
Add the following lines in the Post Run Script.
# Copy preferences from workspace PREFS_DIR="$HOME/.sasstudio5" mkdir -p $PREFS_DIR rsync -rpq $PREFS_DIR $DOMINO_WORKING_DIR
These scripts save add-ons per project, so collaborators launching a workspace in the same project will have the same add-ons. However, the scripts save preferences per user in the project so that each user can have a different set of preferences.