public static void DeleteBlob( SqlString accountName, SqlString sharedKey, SqlBoolean useHTTPS, SqlString containerName, SqlString blobName, SqlString blobDeletionMethod, SqlGuid leaseID, SqlDateTime snapshotDateTimeToDelete, SqlString xmsclientrequestId) { AzureBlobService abs = new AzureBlobService(accountName.Value, sharedKey.Value, useHTTPS.Value); Container cont = abs.GetContainer(containerName.Value); ITPCfSQL.Azure.Blob bb = new Azure.Blob(cont, blobName.Value); Enumerations.BlobDeletionMethod bbm; if (!Enum.TryParse<Enumerations.BlobDeletionMethod>(blobDeletionMethod.Value, out bbm)) { StringBuilder sb = new StringBuilder("\"" + blobDeletionMethod.Value + "\" is an invalid blobDeletionMethod value. Valid values are: "); foreach (string s in Enum.GetNames(typeof(Enumerations.BlobDeletionMethod))) sb.Append("\"" + s + "\" "); throw new ArgumentException(sb.ToString()); } bb.Delete(bbm, leaseID.IsNull ? (Guid?)null : leaseID.Value, snapshotDateTimeToDelete.IsNull ? (DateTime?)null : snapshotDateTimeToDelete.Value, 0, xmsclientrequestId != null ? xmsclientrequestId.Value : null); }
public static void CopyBlob( SqlString destinationAccount, SqlString destinationSharedKey, SqlBoolean useHTTPS, SqlString sourceAccountName, SqlString sourceContainerName, SqlString sourceBlobName, SqlGuid sourceLeaseId, SqlGuid destinationLeaseId, SqlString destinationContainerName, SqlString destinationBlobName, SqlString xmsclientrequestId) { AzureBlobService absDest = new AzureBlobService(destinationAccount.Value, destinationSharedKey.Value, useHTTPS.Value); Container contDest = absDest.GetContainer(destinationContainerName.Value); ITPCfSQL.Azure.Blob bbDest = new Azure.Blob(contDest, destinationBlobName.Value); AzureBlobService absSrc = new AzureBlobService(sourceAccountName.Value, "", useHTTPS.Value); Container contSrc = absSrc.GetContainer(sourceContainerName.Value); ITPCfSQL.Azure.Blob bbSrc = new Azure.Blob(contSrc, sourceBlobName.Value); Responses.CopyBlobResponse resp = bbSrc.Copy(bbDest, sourceLeaseID: sourceLeaseId.IsNull ? (Guid?)null : sourceLeaseId.Value, destinationLeaseID: destinationLeaseId.IsNull ? (Guid?)null : destinationLeaseId.Value, xmsclientrequestId: xmsclientrequestId.IsNull ? null : xmsclientrequestId.Value); SqlDataRecord record = new SqlDataRecord( new SqlMetaData[] { new SqlMetaData("BlobCopyStatus", System.Data.SqlDbType.NVarChar, 255), new SqlMetaData("CopyId", System.Data.SqlDbType.NVarChar, 255), new SqlMetaData("Date", System.Data.SqlDbType.DateTime), new SqlMetaData("ETag", System.Data.SqlDbType.NVarChar, 255), new SqlMetaData("LastModified", System.Data.SqlDbType.DateTime), new SqlMetaData("RequestID", System.Data.SqlDbType.UniqueIdentifier), new SqlMetaData("Version", System.Data.SqlDbType.NVarChar, 255) }); SqlContext.Pipe.SendResultsStart(record); record.SetString(0, resp.BlobCopyStatus.ToString()); record.SetString(1, resp.CopyId); record.SetDateTime(2, resp.Date); record.SetString(3, resp.ETag); record.SetDateTime(4, resp.LastModified); record.SetGuid(5, resp.RequestID); record.SetString(6, resp.Version); SqlContext.Pipe.SendResultsRow(record); SqlContext.Pipe.SendResultsEnd(); }