createNotebookInstanceLifecycleConfig method
- required String notebookInstanceLifecycleConfigName,
- List<
NotebookInstanceLifecycleHook> ? onCreate, - List<
NotebookInstanceLifecycleHook> ? onStart,
Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.
Each lifecycle configuration script has a limit of 16384 characters.
The value of the $PATH
environment variable that is available
to both scripts is /sbin:bin:/usr/sbin:/usr/bin
.
View CloudWatch Logs for notebook instance lifecycle configurations in log
group /aws/sagemaker/NotebookInstances
in log stream
.notebook-instance-name
/LifecycleConfigHook
Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.
For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.
May throw ResourceLimitExceeded.
Parameter notebookInstanceLifecycleConfigName
:
The name of the lifecycle configuration.
Parameter onCreate
:
A shell script that runs only once, when you create a notebook instance.
The shell script must be a base64-encoded string.
Parameter onStart
:
A shell script that runs every time you start a notebook instance,
including when you create the notebook instance. The shell script must be
a base64-encoded string.
Implementation
Future<CreateNotebookInstanceLifecycleConfigOutput>
createNotebookInstanceLifecycleConfig({
required String notebookInstanceLifecycleConfigName,
List<NotebookInstanceLifecycleHook>? onCreate,
List<NotebookInstanceLifecycleHook>? onStart,
}) async {
ArgumentError.checkNotNull(notebookInstanceLifecycleConfigName,
'notebookInstanceLifecycleConfigName');
_s.validateStringLength(
'notebookInstanceLifecycleConfigName',
notebookInstanceLifecycleConfigName,
0,
63,
isRequired: true,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'SageMaker.CreateNotebookInstanceLifecycleConfig'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'NotebookInstanceLifecycleConfigName':
notebookInstanceLifecycleConfigName,
if (onCreate != null) 'OnCreate': onCreate,
if (onStart != null) 'OnStart': onStart,
},
);
return CreateNotebookInstanceLifecycleConfigOutput.fromJson(
jsonResponse.body);
}