@@ 2754-2808 (lines=55) @@ | ||
2751 | * |
|
2752 | * @see http://msdn.microsoft.com/en-us/library/windowsazure/dd179350.aspx |
|
2753 | */ |
|
2754 | public function getBlobMetadataAsync( |
|
2755 | $container, |
|
2756 | $blob, |
|
2757 | Models\GetBlobMetadataOptions $options = null |
|
2758 | ) { |
|
2759 | Validate::isString($container, 'container'); |
|
2760 | Validate::isString($blob, 'blob'); |
|
2761 | Validate::notNullOrEmpty($blob, 'blob'); |
|
2762 | ||
2763 | $method = Resources::HTTP_HEAD; |
|
2764 | $headers = array(); |
|
2765 | $postParams = array(); |
|
2766 | $queryParams = array(); |
|
2767 | $path = $this->_createPath($container, $blob); |
|
2768 | ||
2769 | if (is_null($options)) { |
|
2770 | $options = new GetBlobMetadataOptions(); |
|
2771 | } |
|
2772 | ||
2773 | $headers = $this->addOptionalAccessConditionHeader( |
|
2774 | $headers, |
|
2775 | $options->getAccessConditions() |
|
2776 | ); |
|
2777 | ||
2778 | $this->addOptionalHeader( |
|
2779 | $headers, |
|
2780 | Resources::X_MS_LEASE_ID, |
|
2781 | $options->getLeaseId() |
|
2782 | ); |
|
2783 | $this->addOptionalQueryParam( |
|
2784 | $queryParams, |
|
2785 | Resources::QP_SNAPSHOT, |
|
2786 | $options->getSnapshot() |
|
2787 | ); |
|
2788 | ||
2789 | $this->addOptionalQueryParam( |
|
2790 | $queryParams, |
|
2791 | Resources::QP_COMP, |
|
2792 | 'metadata' |
|
2793 | ); |
|
2794 | ||
2795 | return $this->sendAsync( |
|
2796 | $method, |
|
2797 | $headers, |
|
2798 | $queryParams, |
|
2799 | $postParams, |
|
2800 | $path, |
|
2801 | Resources::STATUS_OK, |
|
2802 | Resources::EMPTY_STRING, |
|
2803 | $options |
|
2804 | )->then(function ($response) { |
|
2805 | $responseHeaders = HttpFormatter::formatHeaders($response->getHeaders()); |
|
2806 | return GetBlobMetadataResult::create($responseHeaders); |
|
2807 | }); |
|
2808 | } |
|
2809 | ||
2810 | /** |
|
2811 | * Returns a list of active page ranges for a page blob. Active page ranges are |
|
@@ 3090-3144 (lines=55) @@ | ||
3087 | * |
|
3088 | * @see http://msdn.microsoft.com/en-us/library/windowsazure/dd179414.aspx |
|
3089 | */ |
|
3090 | public function setBlobMetadataAsync( |
|
3091 | $container, |
|
3092 | $blob, |
|
3093 | array $metadata, |
|
3094 | Models\BlobServiceOptions $options = null |
|
3095 | ) { |
|
3096 | Validate::isString($container, 'container'); |
|
3097 | Validate::isString($blob, 'blob'); |
|
3098 | Validate::notNullOrEmpty($blob, 'blob'); |
|
3099 | Utilities::validateMetadata($metadata); |
|
3100 | ||
3101 | $method = Resources::HTTP_PUT; |
|
3102 | $headers = array(); |
|
3103 | $postParams = array(); |
|
3104 | $queryParams = array(); |
|
3105 | $path = $this->_createPath($container, $blob); |
|
3106 | ||
3107 | if (is_null($options)) { |
|
3108 | $options = new BlobServiceOptions(); |
|
3109 | } |
|
3110 | ||
3111 | $headers = $this->addOptionalAccessConditionHeader( |
|
3112 | $headers, |
|
3113 | $options->getAccessConditions() |
|
3114 | ); |
|
3115 | $headers = $this->addMetadataHeaders($headers, $metadata); |
|
3116 | ||
3117 | $this->addOptionalHeader( |
|
3118 | $headers, |
|
3119 | Resources::X_MS_LEASE_ID, |
|
3120 | $options->getLeaseId() |
|
3121 | ); |
|
3122 | $this->addOptionalQueryParam( |
|
3123 | $queryParams, |
|
3124 | Resources::QP_COMP, |
|
3125 | 'metadata' |
|
3126 | ); |
|
3127 | ||
3128 | $options->setLocationMode(LocationMode::PRIMARY_ONLY); |
|
3129 | ||
3130 | return $this->sendAsync( |
|
3131 | $method, |
|
3132 | $headers, |
|
3133 | $queryParams, |
|
3134 | $postParams, |
|
3135 | $path, |
|
3136 | Resources::STATUS_OK, |
|
3137 | Resources::EMPTY_STRING, |
|
3138 | $options |
|
3139 | )->then(function ($response) { |
|
3140 | return SetBlobMetadataResult::create( |
|
3141 | HttpFormatter::formatHeaders($response->getHeaders()) |
|
3142 | ); |
|
3143 | }, null); |
|
3144 | } |
|
3145 | ||
3146 | /** |
|
3147 | * Downloads a blob to a file, the result contains its metadata and |
|
@@ 3449-3497 (lines=49) @@ | ||
3446 | * |
|
3447 | * @see http://msdn.microsoft.com/en-us/library/windowsazure/ee691971.aspx |
|
3448 | */ |
|
3449 | public function createBlobSnapshotAsync( |
|
3450 | $container, |
|
3451 | $blob, |
|
3452 | Models\CreateBlobSnapshotOptions $options = null |
|
3453 | ) { |
|
3454 | Validate::isString($container, 'container'); |
|
3455 | Validate::isString($blob, 'blob'); |
|
3456 | Validate::notNullOrEmpty($blob, 'blob'); |
|
3457 | ||
3458 | $method = Resources::HTTP_PUT; |
|
3459 | $headers = array(); |
|
3460 | $postParams = array(); |
|
3461 | $queryParams = array(); |
|
3462 | $path = $this->_createPath($container, $blob); |
|
3463 | ||
3464 | if (is_null($options)) { |
|
3465 | $options = new CreateBlobSnapshotOptions(); |
|
3466 | } |
|
3467 | ||
3468 | $queryParams[Resources::QP_COMP] = 'snapshot'; |
|
3469 | ||
3470 | $headers = $this->addOptionalAccessConditionHeader( |
|
3471 | $headers, |
|
3472 | $options->getAccessConditions() |
|
3473 | ); |
|
3474 | $headers = $this->addMetadataHeaders($headers, $options->getMetadata()); |
|
3475 | $this->addOptionalHeader( |
|
3476 | $headers, |
|
3477 | Resources::X_MS_LEASE_ID, |
|
3478 | $options->getLeaseId() |
|
3479 | ); |
|
3480 | ||
3481 | $options->setLocationMode(LocationMode::PRIMARY_ONLY); |
|
3482 | ||
3483 | return $this->sendAsync( |
|
3484 | $method, |
|
3485 | $headers, |
|
3486 | $queryParams, |
|
3487 | $postParams, |
|
3488 | $path, |
|
3489 | Resources::STATUS_CREATED, |
|
3490 | Resources::EMPTY_STRING, |
|
3491 | $options |
|
3492 | )->then(function ($response) { |
|
3493 | return CreateBlobSnapshotResult::create( |
|
3494 | HttpFormatter::formatHeaders($response->getHeaders()) |
|
3495 | ); |
|
3496 | }, null); |
|
3497 | } |
|
3498 | ||
3499 | /** |
|
3500 | * Copies a source blob to a destination blob within the same storage account. |