Share via


Verlooptijd van Azure Blob Storage beheren in Azure Content Delivery Network

De Blob Storage-service in Azure Storage is een van de verschillende op Azure gebaseerde origins die zijn geïntegreerd met Azure Content Delivery Network. Alle openbaar toegankelijke blob-inhoud kan in de cache worden opgeslagen in Azure Content Delivery Network totdat de time to live (TTL) is verstreken. De TTL wordt bepaald door de Cache-Control header in het HTTP-antwoord van de oorspronkelijke server. In dit artikel worden verschillende manieren beschreven waarop u de Cache-Control header kunt instellen op een blob in Azure Storage.

U kunt de cache-instellingen ook beheren vanuit Azure Portal door regels voor het opslaan van netwerkcaching van inhoud in te stellen. Als u een regel voor opslaan in cache maakt en het cachegedrag instelt op overschrijven of overslaan van cache, worden de in dit artikel besproken instellingen voor caching van oorsprong genegeerd. Zie Hoe caching werkt voor informatie over algemene concepten voor caching.

Tip

U kunt ervoor kiezen om geen TTL in te stellen voor een blob. In dit geval past Azure Content Delivery Network automatisch een standaard-TTL van zeven dagen toe, tenzij u cacheregels hebt ingesteld in Azure Portal. Deze standaard-TTL is alleen van toepassing op algemene optimalisaties voor weblevering. Voor grote bestandsoptimalisaties is de standaard-TTL één dag en voor mediastreamingoptimalisaties is de standaard-TTL één jaar.

Zie Overzicht van het Azure Content Delivery Network voor meer informatie over hoe Azure Content Delivery Network werkt om de toegang tot blobs en andere bestanden te versnellen.

Zie Inleiding tot Blob Storage voor meer informatie over Azure Blob Storage.

Cachebeheerheaders instellen met behulp van regels voor netwerkcaching van inhoudslevering

De voorkeursmethode voor het instellen van de header van Cache-Control een blob is het gebruik van regels voor caching in Azure Portal. Zie Het cachegedrag van Azure Content Delivery Network beheren met regels voor opslaan in cache voor meer informatie over regels voor het opslaan in cache van het netwerk voor inhoudslevering.

Notitie

Cacheregels zijn alleen beschikbaar voor Azure CDN Standard van Edgio-profielen . Voor Azure CDN Premium van Edgio-profielen moet u de regelengine voor Azure Content Delivery Network gebruiken in de portal Beheren voor vergelijkbare functionaliteit.

Ga naar de pagina regels voor cdn-caching:

  1. Selecteer in Azure Portal een netwerkprofiel voor contentlevering en selecteer vervolgens het eindpunt voor de blob.

  2. Selecteer in het linkerdeelvenster onder Instellingen de optie Regels voor opslaan in cache.

    Schermopname van de knop regels voor netwerkcaching van inhoudslevering.

    De pagina Regels voor opslaan in cache wordt weergegeven.

    Schermopname van de pagina netwerkcaching van contentlevering.

Ga als volgt te werk om de cachebeheerheaders van een Blob Storage-service in te stellen met behulp van algemene regels voor opslaan in cache:

  1. Stel onder Algemene regels voor opslaan in cache de cache van queryreeksen in op Queryreeksen negeren en stel cachinggedrag in op Onderdrukking.

  2. Voor verloopduur van cache voert u 3600 in het vak Seconden of 1 in het vak Uren in.

    Schermopname van het voorbeeld van globale regels voor het leveren van inhoudsleveringsnetwerk.

    Deze globale cacheregel stelt een cacheduur van één uur in en is van invloed op alle aanvragen voor het eindpunt. Het overschrijft eventuele Cache-Control of Expires HTTP-headers die worden verzonden door de oorspronkelijke server die is opgegeven door het eindpunt.

  3. Selecteer Opslaan.

De cachebeheerheaders van een blobbestand instellen met behulp van aangepaste regels voor opslaan in cache:

  1. Maak onder Aangepaste regels voor opslaan in cache twee voorwaarden:

    A. Stel voor de eerste overeenkomstvoorwaarde de voorwaarde Overeenkomst in op Pad en voer /blobcontainer1/* deze in voor de waarde Overeenkomst. Stel cachinggedrag in op onderdrukking en voer 4 in het vak Uren in.

    B. Voor de tweede overeenkomstvoorwaarde stelt u Match-voorwaarde in op Pad en voert u in /blobcontainer1/blob1.txt voor overeenkomstwaarde. Stel het cachegedrag in om 2 in het vak Uren te overschrijven en in te voeren.

    Schermopname van het voorbeeld van aangepaste regels voor het leveren van inhoud in het netwerk.

    Met de eerste aangepaste regel voor opslaan in cache wordt een cacheduur van vier uur ingesteld voor blobbestanden in de /blobcontainer1 map op de oorspronkelijke server die is opgegeven door uw eindpunt. De tweede regel overschrijft alleen de eerste regel voor het blob1.txt blobbestand en stelt een cacheduur van twee uur voor het bestand in.

  2. Selecteer Opslaan.

Cache-Control-headers instellen met behulp van Azure PowerShell

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Azure PowerShell is een van de snelste en krachtigste manieren om uw Azure-services te beheren. Gebruik de Get-AzStorageBlob cmdlet om een verwijzing naar de blob op te halen en stel vervolgens de .ICloudBlob.Properties.CacheControl eigenschap in.

Voorbeeld:

# Create a storage context
$context = New-AzStorageContext -StorageAccountName "<storage account name>" -StorageAccountKey "<storage account key>"

# Get a reference to the blob
$blob = Get-AzStorageBlob -Context $context -Container "<container name>" -Blob "<blob name>"

# Set the CacheControl property to expire in 1 hour (3600 seconds)
$blob.ICloudBlob.Properties.CacheControl = "max-age=3600"

# Send the update to the cloud
$blob.ICloudBlob.SetProperties()

Tip

U kunt PowerShell ook gebruiken om uw netwerkprofielen en eindpunten voor contentlevering te beheren.

Cache-Control-headers instellen met behulp van .NET

Als u de header van Cache-Control een blob wilt opgeven met behulp van .NET-code, gebruikt u de Azure Storage-clientbibliotheek voor .NET om de eigenschap BlobHttpHeaders.CacheControl in te stellen.

Voorbeeld:

    class Program
    {
        const string containerName = "<container name>";
        const string blobName = "<blob name>";
        const string connectionString = "<storage connection string>";
        static void Main()
        {
            // Retrieve storage account information from connection string
            BlobContainerClient container = new BlobContainerClient(connectionString, containerName);

            // Create a blob client for interacting with the blob service.
            BlobClient blob = container.GetBlobClient(blobName);

            // Set the CacheControl property to expire in 1 hour (3600 seconds)
            blob.SetHttpHeaders(new BlobHttpHeaders {CacheControl = "max-age=3600" });
        }
    }

Tip

Er zijn meer .NET-codevoorbeelden beschikbaar in Azure Blob Storage-voorbeelden voor .NET.

Headers voor cachebeheer instellen met behulp van andere methoden

Azure Storage Explorer

Met Azure Storage Explorer kunt u uw blobopslagbronnen bekijken en bewerken, inclusief eigenschappen zoals de eigenschap CacheControl .

De eigenschap CacheControl van een blob bijwerken met Azure Storage Explorer:

  1. Selecteer een blob en selecteer vervolgens Eigenschappen in het contextmenu.
  2. Schuif omlaag naar de eigenschap CacheControl .
  3. Voer een waarde in en selecteer Opslaan.

Eigenschappen van Azure Storage Explorer

De Azure CLI

U kunt Azure Blob-resources beheren vanaf de opdrachtregel via de Azure CLI. Als u de header voor cachebeheer wilt instellen wanneer u een blob uploadt met de Azure CLI, stelt u de eigenschap cacheControl in met behulp van de -p switch. In het volgende voorbeeld ziet u hoe u de TTL instelt op één uur (3600 seconden):

azure storage blob upload -c <connectionstring> -p cacheControl="max-age=3600" .\<blob name> <container name> <blob name>

REST API voor Azure Storage-services

U kunt de REST API van Azure Storage-services gebruiken om de eigenschap x-ms-blob-cache-control expliciet in te stellen met behulp van de volgende bewerkingen voor een aanvraag:

De header Cache-Control testen

U kunt eenvoudig de TTL-instellingen van uw blobs controleren. Test met de ontwikkelhulpprogramma's van uw browser of uw blob de Cache-Control antwoordheader bevat. U kunt ook een hulpprogramma zoals Wget, Postman of Fiddler gebruiken om de antwoordheaders te onderzoeken.

Volgende stappen