Visual FoxPro
Visual FoxPro
Azure Storage: Delete Container
See more Azure Cloud Storage Examples
Azure Storage Blob Service REST API: Sample code to mark a container for deletion. The container and any blobs contained within it are later deleted during garbage collection.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loRest
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loAzAuth
LOCAL lcResponseStr
lnSuccess = 0
* Azure Blob Service Example: Delete Container
* See also: https://msdn.microsoft.com/en-us/library/azure/dd179408.aspx
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loRest = CreateObject('Chilkat.Rest')
* Connect to the Azure Storage Blob Service
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
* In this example, the storage account name is "chilkat".
lnSuccess = loRest.Connect("chilkat.blob.core.windows.net",lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
* Provide Azure Cloud credentials for the REST call.
loAzAuth = CreateObject('Chilkat.AuthAzureStorage')
loAzAuth.AccessKey = "AZURE_ACCESS_KEY"
* The account name used here should match the 1st part of the domain passed in the call to Connect (above).
loAzAuth.Account = "chilkat"
loAzAuth.Scheme = "SharedKey"
loAzAuth.Service = "Blob"
* This causes the "x-ms-version: 2021-08-06" header to be automatically added.
loAzAuth.XMsVersion = "2021-08-06"
lnSuccess = loRest.SetAuthAzureStorage(loAzAuth)
* Note: The application does not need to explicitly set the following
* headers: x-ms-date, Authorization. These headers
* are automatically set by Chilkat.
* To call Delete Container on a container that has an active lease, specify the lease ID in this header.
* If this header is not specified when there is an active lease, Delete Container will return 409 (Conflict).
* If you specify the wrong lease ID, or a lease ID on a container that does not have an active lease,
* Delete Container will return 412 (Precondition failed).
* IMPORTANT: Delete this line, or insert a valid lease ID, otherwise the request
* will fail with a 400 status code..
lnSuccess = loRest.AddHeader("x-ms-lease-id","SOME_LEASE_ID")
* The expected success response is a 202 response status code with no response body.
* In this example, the container to be deleted is named "mycontainer".
lcResponseStr = loRest.FullRequestNoBody("DELETE","/mycontainer?restype=container")
IF (loRest.LastMethodSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loAzAuth
CANCEL
ENDIF
* When successful, the Azure Storage service will respond with a 202 response code,
* with no response body.
* If the container with the same name already exists, then the operation will fail.
IF (loRest.ResponseStatusCode <> 202) THEN
* Examine the request/response to see what happened.
? "response status code = " + STR(loRest.ResponseStatusCode)
? "response status text = " + loRest.ResponseStatusText
? "response header: " + loRest.ResponseHeader
? "response body (if any): " + lcResponseStr
? "---"
? "LastRequestStartLine: " + loRest.LastRequestStartLine
? "LastRequestHeader: " + loRest.LastRequestHeader
RELEASE loRest
RELEASE loAzAuth
CANCEL
ENDIF
? "Success: Container marked for deletion."
RELEASE loRest
RELEASE loAzAuth