Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SessionsPythonPlugin è stato aggiornato per utilizzare l'ultima versione (2024-10-02-preview) dell'API Sessioni Dinamiche dell'Interprete di Codice di Azure. La nuova API ha introdotto modifiche di rilievo, che si riflettono nella superficie DELL'API pubblica del plug-in.
Questa guida alla migrazione consente di eseguire la migrazione del codice esistente alla versione più recente del plug-in.
Inizializzazione del plug-in
La firma del costruttore del plug-in è stata modificata per accettare un CancellationToken come argomento della funzione authTokenProvider. Questa modifica consente di annullare il processo di generazione del token, se necessario:
// 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);
Metodo UploadFileAsync
La firma del UploadFileAsync metodo è stata modificata per rappresentare meglio lo scopo dei parametri:
// 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);
Metodo DownloadFileAsync
Analogamente, la firma del DownloadFileAsync metodo è stata modificata per rappresentare meglio lo scopo dei parametri:
// Before
string remoteFilePath = "your_file.txt";
await plugin.DownloadFileAsync(remoteFilePath: remoteFilePath);
// After
string remoteFileName = "your_file.txt";
await plugin.DownloadFileAsync(remoteFileName: remoteFileName);
Metodo ExecuteCodeAsync
La firma del ExecuteCodeAsync metodo è stata modificata per fornire un modo strutturato per lavorare con i risultati dell'esecuzione:
// 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;
Classe SessionsRemoteFileMetadata
La SessionsRemoteFileMetadata classe del modello, usata dai UploadFileAsync metodi e ListFilesAsync , è stata aggiornata per rappresentare meglio i metadati di file e directory remoti:
// 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;