public async Task <string> DownloadInventoryAsync(string jobId, CancellationToken token) { var describeReq = new DescribeJobRequest(Vault, jobId); var describeResult = await client.DescribeJobAsync(describeReq, token); var ok = false; while (!ok) // while job incompleted { if (describeResult.Completed) { ok = true; } else { await Task.Delay(Timeout, token); describeResult = await client.DescribeJobAsync(describeReq, token); } } var req = new GetJobOutputRequest(Vault, jobId, null); var result = await client.GetJobOutputAsync(req, token); using (var reader = new StreamReader(result.Body)) { return(await reader.ReadToEndAsync()); } //using (var output = new MemoryStream()) //{ // await Common.CopyStreamAsync(result.Body, output, null, result.ContentLength); // var reader = new StreamReader(output); // ReadFromJson(reader); //} }
internal virtual DescribeJobResponse DescribeJob(DescribeJobRequest request) { var marshaller = DescribeJobRequestMarshaller.Instance; var unmarshaller = DescribeJobResponseUnmarshaller.Instance; return(Invoke <DescribeJobRequest, DescribeJobResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// Returns information about a specific job including shipping information, job status, /// and other important metadata. /// </summary> /// <param name="request">Container for the necessary parameters to execute the DescribeJob service method.</param> /// /// <returns>The response from the DescribeJob service method, as returned by Snowball.</returns> /// <exception cref="Amazon.Snowball.Model.InvalidResourceException"> /// The specified resource can't be found. Check the information you provided in your /// last request, and try again. /// </exception> public DescribeJobResponse DescribeJob(DescribeJobRequest request) { var marshaller = new DescribeJobRequestMarshaller(); var unmarshaller = DescribeJobResponseUnmarshaller.Instance; return(Invoke <DescribeJobRequest, DescribeJobResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// Initiates the asynchronous execution of the DescribeJob operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeJob operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task <DescribeJobResponse> DescribeJobAsync(DescribeJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new DescribeJobRequestMarshaller(); var unmarshaller = DescribeJobResponseUnmarshaller.Instance; return(InvokeAsync <DescribeJobRequest, DescribeJobResponse>(request, marshaller, unmarshaller, cancellationToken)); }
/// <summary> /// Initiates the asynchronous execution of the DescribeJob operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeJob operation on AmazonSnowballClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeJob /// operation.</returns> public IAsyncResult BeginDescribeJob(DescribeJobRequest request, AsyncCallback callback, object state) { var marshaller = new DescribeJobRequestMarshaller(); var unmarshaller = DescribeJobResponseUnmarshaller.Instance; return(BeginInvoke <DescribeJobRequest>(request, marshaller, unmarshaller, callback, state)); }
public static Task <DescribeJobResponse> DescribeJobAsync(string vaultName, string jobId) { using (var client = GetGlacierClient()) { DescribeJobRequest request = new DescribeJobRequest(GetAccountId(), vaultName, jobId); return(client.DescribeJobAsync(request)); } }
/// <summary> /// Initiates the asynchronous execution of the DescribeJob operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeJob operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob">REST API Reference for DescribeJob Operation</seealso> public virtual Task <DescribeJobResponse> DescribeJobAsync(DescribeJobRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobResponseUnmarshaller.Instance; return(InvokeAsync <DescribeJobResponse>(request, options, cancellationToken)); }
/// <summary> /// Initiates the asynchronous execution of the DescribeJob operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the DescribeJob operation on AmazonS3ControlClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndDescribeJob /// operation.</returns> public virtual IAsyncResult BeginDescribeJob(DescribeJobRequest request, AsyncCallback callback, object state) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobResponseUnmarshaller.Instance; return(BeginInvoke(request, options, callback, state)); }
internal virtual DescribeJobResponse DescribeJob(DescribeJobRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeJobRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeJobResponseUnmarshaller.Instance; return(Invoke <DescribeJobResponse>(request, options)); }
public GlacierArchiveInfo ArchiveInfo(string jobId) { DescribeJobRequest describeJobRequest = new DescribeJobRequest() { AccountId = "-", JobId = jobId, VaultName = _vault }; DescribeJobResponse response = _amazonGlacierClient.DescribeJob(describeJobRequest); return(new GlacierArchiveInfo(response.DescribeJobResult)); }
public bool JobCompleted(string jobId) { DescribeJobRequest describeJobRequest = new DescribeJobRequest() { AccountId = "-", JobId = jobId, VaultName = _vault }; DescribeJobResponse response = _amazonGlacierClient.DescribeJob(describeJobRequest); return(response.DescribeJobResult.Completed); }
private static bool IsInventoryReady(string jobId, string vaultName) { using (IAmazonGlacier client = new AmazonGlacierClient(RegionEndpoint.EUWest1)) { DescribeJobRequest request = new DescribeJobRequest() { JobId = jobId, VaultName = vaultName }; DescribeJobResponse response = client.DescribeJob(request); return(response.Completed); } }
/// <summary> /// DescribeJob接口的同步版本,获取训练任务详情 /// </summary> /// <param name="req">参考<see cref="DescribeJobRequest"/></param> /// <returns>参考<see cref="DescribeJobResponse"/>实例</returns> public DescribeJobResponse DescribeJobSync(DescribeJobRequest req) { JsonResponseModel <DescribeJobResponse> rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeJob"); rsp = JsonConvert.DeserializeObject <JsonResponseModel <DescribeJobResponse> >(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return(rsp.Response); }
public override async Task DownloadFileAsync(StorageFile file, Stream output, CancellationToken token, Action <TransferProgress> progressCallback) { if (file.IsFolder) { throw new NotSupportedException("Glacier is not supported directories"); } string jobId; if (((GlacierFile)file).JobId == null) { var initReq = new InitiateJobRequest(Vault, new JobParameters { ArchiveId = file.Id, Type = "archive-retrieval" }); var initResult = await client.InitiateJobAsync(initReq, token); jobId = initResult.JobId; ((GlacierFile)file).JobId = jobId; } else { jobId = ((GlacierFile)file).JobId; } var describeReq = new DescribeJobRequest(Vault, jobId); var describeResult = await client.DescribeJobAsync(describeReq, token); var ok = false; while (!ok) // while job incompleted { if (describeResult.Completed) { ok = true; } else { await Task.Delay(Timeout, token); describeResult = await client.DescribeJobAsync(describeReq, token); } } var req = new GetJobOutputRequest(Vault, jobId, null); var result = await client.GetJobOutputAsync(req, token); await Common.CopyStreamAsync(result.Body, output, null, result.ContentLength); }
private static void HandleStatus(string[] args) { int interval; var region = RegionEndpoint.EnumerableAllRegions.SingleOrDefault(reg => reg.SystemName == args[2]); if (args.Length < 7 || !int.TryParse(args[5], out interval) || region == null) { Console.WriteLine("args should be aws_key aws_secret region vault_name job_id interval_secs output_filename"); return; } var aws_key = args[0]; var aws_secret = args[1]; var vault_name = args[3]; var job_id = args[4]; var filename = args[6]; var creds = new BasicAWSCredentials(aws_key, aws_secret); var config = new AmazonGlacierConfig { RegionEndpoint = region, Timeout = TimeSpan.FromDays(10) }; var client = new AmazonGlacierClient(creds, config); var descReq = new DescribeJobRequest(vault_name, job_id); do { Console.WriteLine("Checking status..."); var jobStatus = client.DescribeJobAsync(descReq).Result; if (jobStatus.Completed) { Console.WriteLine("Job completed."); break; } Console.WriteLine($"Job incomplete."); Console.WriteLine($"Job status: {jobStatus.StatusCode}"); Thread.Sleep(interval); } while (true); var retrReq = new GetJobOutputRequest(vault_name, job_id, "bytes=0-1073741824"); var retrievalPromise = client.GetJobOutputAsync(retrReq).Result; var json = new StreamReader(retrievalPromise.Body).ReadToEnd(); File.WriteAllText(filename, json); Console.WriteLine($"Output written to {filename}"); }
/// <summary> /// 查询指定作业详情 /// </summary> /// <param name="request">请求参数信息</param> /// <returns>请求结果信息</returns> public DescribeJobResponse DescribeJob(DescribeJobRequest request) { return(new DescribeJobExecutor().Client(this).Execute <DescribeJobResponse, DescribeJobResult, DescribeJobRequest>(request)); }
/// <summary> /// 查询指定作业详情 /// </summary> /// <param name="request">请求参数信息</param> /// <returns>请求结果信息</returns> public async Task <DescribeJobResponse> DescribeJob(DescribeJobRequest request) { return(await new DescribeJobExecutor().Client(this).Execute <DescribeJobResponse, DescribeJobResult, DescribeJobRequest>(request).ConfigureAwait(false)); }