public static void PushLeaseBlobResponse(Responses.LeaseBlobResponse lbr) { SqlDataRecord record = new SqlDataRecord(new SqlMetaData[] { new SqlMetaData("LeaseId", System.Data.SqlDbType.UniqueIdentifier), new SqlMetaData("Date", System.Data.SqlDbType.DateTime), new SqlMetaData("LeaseBreakTimeSeconds", System.Data.SqlDbType.Int), new SqlMetaData("RequestId", System.Data.SqlDbType.UniqueIdentifier), new SqlMetaData("Version", System.Data.SqlDbType.NVarChar, 4000) }); if (lbr.LeaseId.HasValue) { record.SetGuid(0, lbr.LeaseId.Value); } record.SetDateTime(1, lbr.Date); if (lbr.LeaseTimeSeconds.HasValue) { record.SetInt32(2, lbr.LeaseTimeSeconds.Value); } record.SetGuid(3, lbr.RequestID); record.SetString(4, lbr.Version); SqlContext.Pipe.SendResultsStart(record); SqlContext.Pipe.SendResultsRow(record); SqlContext.Pipe.SendResultsEnd(); }
public static void BreakContainerLeaseImmediately( SqlString accountName, SqlString sharedKey, SqlBoolean useHTTPS, SqlString containerName, SqlInt32 timeoutSeconds, SqlGuid xmsclientrequestId) { AzureBlobService abs = new AzureBlobService(accountName.Value, sharedKey.Value, useHTTPS.Value); Container cont = abs.GetContainer(containerName.Value); Responses.LeaseBlobResponse lbr = cont.BreakLeaseImmediately( timeoutSeconds.IsNull ? 0 : timeoutSeconds.Value, xmsclientrequestId.IsNull ? (Guid?)null : xmsclientrequestId.Value); PushLeaseBlobResponse(lbr); }
public static void AcquireContainerInfiniteLease( SqlString accountName, SqlString sharedKey, SqlBoolean useHTTPS, SqlString containerName, SqlGuid proposedLeaseId, SqlInt32 timeoutSeconds, SqlGuid xmsclientrequestId) { AzureBlobService abs = new AzureBlobService(accountName.Value, sharedKey.Value, useHTTPS.Value); Container cont = abs.GetContainer(containerName.Value); Responses.LeaseBlobResponse lbr = cont.AcquireInfiniteLease( proposedLeaseId.IsNull ? (Guid?)null : proposedLeaseId.Value, timeoutSeconds.IsNull ? 0 : timeoutSeconds.Value, xmsclientrequestId.IsNull ? (Guid?)null : xmsclientrequestId.Value); PushLeaseBlobResponse(lbr); }
public static void RenewBlobLease( SqlString accountName, SqlString sharedKey, SqlBoolean useHTTPS, SqlString containerName, SqlString blobName, SqlGuid leaseId, SqlInt32 timeoutSeconds, SqlGuid xmsclientrequestId) { AzureBlobService abs = new AzureBlobService(accountName.Value, sharedKey.Value, useHTTPS.Value); Container cont = abs.GetContainer(containerName.Value); Blob blob = cont.GetBlob(blobName.Value); Responses.LeaseBlobResponse lbr = blob.RenewLease( leaseId.IsNull ? Guid.Empty : leaseId.Value, timeoutSeconds.IsNull ? 0 : timeoutSeconds.Value, xmsclientrequestId.IsNull ? (Guid?)null : xmsclientrequestId.Value); PushLeaseBlobResponse(lbr); }