domino logo
5.0
  • Tech Ecosystem
  • Get Started
  • Domino Cloud
  • Collaborate
  • Projects
  • Work with Data
  • Workspaces
  • Environments
  • Executions
  • Deploy Models and Apps
  • Model Monitoring
  • Organizations
  • Security and Credentials
  • Notifications
  • Search
  • Domino CLI
  • Troubleshooting
  • Get Help
domino logo
About Domino
Domino Data LabKnowledge BaseData Science BlogTraining
User Guide
>
Environments
>
Customize Environments
>
Use Partner Environments
>
Use SAS as a Workspace

Use SAS as a Workspace

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.

Prerequisites

To use a SAS workspace in Domino, you must have a valid SAS license file.

Obtain the licenses from SAS
  1. Go to my.sas.com to download the license file.

  2. Store the file in a project created by the Domino administrator.

    Note
  3. Go to the file in Domino’s File Explorer.

  4. Right-click View Latest Raw File and select Copy Link Address. Save this URL to be used in the Dockerfile Instructions.

Step 1: Environment setup

If your Domino deployment does not have a SAS workspace environment, you must create one. See Compute Environment Management for more information.

Choose a base image
  1. In Domino, click Environments.

  2. Click Create Environment.

  3. Give the environment a name.

  4. 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.

  5. Select a Visibility setting and click Create Environment. Domino opens the environment’s Overview page.

  6. Click Edit Definition and go to the Dockerfile Instructions.

    Available SAS workspace environments
SAS productRepository path

Analytics Pro Advanced Programming

quay.io/domino/sas:apro4-ap

Analytics Pro

quay.io/domino/sas:apro4

Data Science 3.5

quay.io/domino/sas:sasds35

Analytics for Containers 9.4

quay.io/domino/sas:sa4c94

Step 2: Dockerfile instructions

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`

Step 3: Pluggable workspace properties

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

Step 4: Optional: Persist SAS preferences and add-ons

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.

  1. 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
  2. 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.

Step 5: Build and test the environment

Click Build. The Revisions page for the environment opens.

Domino Data LabKnowledge BaseData Science BlogTraining
Copyright © 2022 Domino Data Lab. All rights reserved.