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(); }