Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le SessionsPythonPlugin
a été mis à jour pour utiliser la dernière version (2024-10-02-preview) de l’API de sessions dynamiques de l’interpréteur de code Azure. La nouvelle API a introduit des modifications incompatibles, qui se reflètent dans l'interface publique de l'API du plugin.
Ce guide de migration vous aidera à migrer votre code existant vers la dernière version du plug-in.
Initialisation du plug-in
La signature du constructeur de plug-in a changé pour accepter un CancellationToken
argument pour la authTokenProvider
fonction. Cette modification vous permet d’annuler le processus de génération de jetons si nécessaire :
// Before
static async Task<string> GetAuthTokenAsync()
{
return tokenProvider.GetToken();
}
// After
static async Task<string> GetAuthTokenAsync(CancellationToken ct)
{
return tokenProvider.GetToken(ct);
}
var plugin = new SessionsPythonPlugin(settings, httpClientFactory, GetAuthTokenAsync);
Méthode UploadFileAsync
La UploadFileAsync
signature de méthode a changé pour mieux représenter l’objectif des paramètres :
// Before
string remoteFilePath = "your_file.txt";
string? localFilePath = "C:\documents\your_file.txt";
await plugin.UploadFileAsync(remoteFilePath: remoteFilePath, localFilePath: localFilePath);
// After
string remoteFileName = "your_file.txt";
string localFilePath = "C:\documents\your_file.txt";
await plugin.UploadFileAsync(remoteFileName: remoteFileName, localFilePath: localFilePath);
Méthode DownloadFileAsync
De même, la signature de méthode DownloadFileAsync
a changé pour mieux représenter l’objectif des paramètres :
// Before
string remoteFilePath = "your_file.txt";
await plugin.DownloadFileAsync(remoteFilePath: remoteFilePath);
// After
string remoteFileName = "your_file.txt";
await plugin.DownloadFileAsync(remoteFileName: remoteFileName);
Méthode ExecuteCodeAsync
La ExecuteCodeAsync
signature de méthode a changé pour fournir un moyen structuré d’utiliser les résultats d’exécution :
// Before
string result = await plugin.ExecuteCodeAsync(code: "print('Hello, world!')");
// After
SessionsPythonCodeExecutionResult result = await plugin.ExecuteCodeAsync(code: "print('Hello, world!')");
string status = result.Status;
string? executionResult = result.Result?.ExecutionResult;
string? stdout = result.Result?.StdOut;
string? stderr = result.Result?.StdErr;
La classe SessionsRemoteFileMetadata
La SessionsRemoteFileMetadata
classe de modèle, utilisée par les méthodes UploadFileAsync
et ListFilesAsync
, a été mise à jour pour mieux représenter les métadonnées des fichiers et répertoires distants :
// Before
SessionsRemoteFileMetadata file = await plugin.UploadFileAsync(...);
string fileName = file.Filename;
long fileSize = file.Size;
DateTime? lastModified = file.LastModifiedTime;
// After
SessionsRemoteFileMetadata file = await plugin.UploadFileAsync(...);
string name = file.Name;
long? size = file.SizeInBytes;
DateTime lastModified = file.LastModifiedAt;