简体   繁体   中英

Detect type of Sandbox (Salesforce)

Salesforce supports different sandboxes.

For example "partial" or "development" sandbox.

Is there a way to detect which kind of sandbox my script is connected to?

I use Python and simple_salesforce.

My Python's not good enough. I can give hints but you'll have to experiment a bit yourself.

https://github.com/simple-salesforce/simple-salesforce "Additional features" says there's internal class that can expose to you session_id and instance.

You can use these to craft a HTTP GET call to

Authorization: Bearer {session_id}
{instance}/services/data/v51.0/limits

The "limits" resource will tell you (among others) what's the data and file storage available in this org. It'll return a JSON similar to

{
    ...
    "DataStorageMB" : {
        "Max" : 200,
        "Remaining" : 196
    },
    ...
}

Use DataStorageMB.Max and table at bottom of https://help.salesforce.com/articleView?id=sf.data_sandbox_environments.htm&type=5 to figure out where you are. 200 => Developer, 1024 => Developer Pro...


Edit - if you'd be using Apex (maybe exposed as REST service, "simple salesforce" has nice built-in to access them)

Integer storageLimit = OrgLimits.getMap().get('DataStorageMB').getLimit();
System.debug(storageLimit);
String sandboxType;
switch on storageLimit{
    when 200 {
        sandboxType = 'Developer';
    }
    when 1024 {
        sandboxType = 'Developer Pro';
    }
    when 5120 {
        sandboxType = 'Partial Copy';
    }
    when else {
        sandboxType = 'Full Copy';
    }
}
System.debug(sandboxType);

Steps to find the sandbox type: Setup --> Deployment Settings --> continue -- > you will find the type of sandbox.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM