Eigenschappen van tabelservice instellen

Met Set Table Service Properties de bewerking worden eigenschappen ingesteld voor het Azure Table Storage-eindpunt van een opslagaccount, inclusief eigenschappen voor Opslaganalyse- en CORS-regels (Cross-Origin Resource Sharing). Zie CORS-ondersteuning voor de Azure Storage-services voor meer informatie over CORS-regels.

Aanvraag

U kunt de Set Table Service Properties aanvraag als volgt opgeven. We raden HTTPS aan. Vervang accountnaam door de naam van uw opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT https://account-name.table.core.windows.net/?restype=service&comp=properties HTTP/1.1

Houd er rekening mee dat de URI altijd de slash (/) moet bevatten om de hostnaam te scheiden van het pad en de querygedeelten van de URI. In het geval van deze bewerking is het padgedeelte van de URI leeg.

URI-parameters

URI-parameter Beschrijving
restype=service&comp=properties Vereist. De combinatie van beide queryreeksen is vereist om de eigenschappen voor de Azure Storage-service in te stellen.
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven:

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de naam van het opslagaccount en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Vereist voor alle geautoriseerde aanvragen. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt.

Aanvraagbody

Voor versie 2012-02-12 en eerder is de indeling van de aanvraagbody als volgt:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <Metrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Metrics>  
</StorageServiceProperties>  

Voor versie 2013-08-15 en hoger is de indeling van de aanvraagbody als volgt:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>version-number</Version>  
        <Delete>true|false</Delete>  
        <Read>true|false</Read>  
        <Write>true|false</Write>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>version-number</Version>  
        <Enabled>true|false</Enabled>  
        <IncludeAPIs>true|false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true|false</Enabled>  
            <Days>number-of-days</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins>comma-separated-list-of-allowed-origins</AllowedOrigins>  
            <AllowedMethods>comma-separated-list-of-HTTP-verb</AllowedMethods>  
            <MaxAgeInSeconds>max-caching-age-in-seconds</MaxAgeInSeconds>  
            <ExposedHeaders>comma-separated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders> comma-separated-list-of-request-headers </AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  

Vanaf versie 2013-08-15 kunt u aanroepen Set Table Service Properties met een of meer hoofdelementen die zijn opgegeven in de aanvraagbody. De hoofdelementen zijn onder andere:

  • Logging

  • HourMetrics

  • MinuteMetrics

  • Cors

Het is niet langer nodig om elk hoofdelement in de aanvraag op te geven. Als u een hoofdelement weglaat, blijven de bestaande instellingen voor de service voor die functionaliteit behouden. Maar als u een hoofdelement opgeeft, moet u elk onderliggend element voor dat element opgeven.

In de volgende tabel worden de elementen van de aanvraagbody beschreven:

Elementnaam Beschrijving
Logging Optioneel voor versie 2013-08-15 en hoger. Vereist voor eerdere versies. Groepeert de Opslaganalyse-instellingenLogging.
Metrics Vereist voor versie 2012-02-12 en eerder. Niet van toepassing op versie 2013-08-15 en hoger. Groepeert de Opslaganalyse-instellingenMetrics. De Metrics instellingen bieden een overzicht van aanvraagstatistieken gegroepeerd per API in aggregaties per uur voor tabellen.
HourMetrics Optioneel voor versie 2013-08-15 en hoger. Niet van toepassing op eerdere versies. Groepeert de Opslaganalyse-instellingenHourMetrics. De HourMetrics instellingen bieden een overzicht van aanvraagstatistieken gegroepeerd per API in aggregaties per uur voor tabellen.
MinuteMetrics Optioneel voor versie 2013-08-15 en hoger. Niet van toepassing op eerdere versies. Groepeert de Opslaganalyse-instellingenMinuteMetrics. De MinuteMetrics instellingen bieden aanvraagstatistieken voor elke minuut voor tabellen. Voor versies ouder dan 2013-08-15, MinuteMetrics is niet opgenomen in de antwoordtekst.
Version Vereist. Hiermee wordt aangegeven welke versie van Opslaganalyse moet worden geconfigureerd.
Delete Vereist. Is alleen van toepassing op de configuratie van logboekregistratie. Hiermee wordt aangegeven of alle verwijderingsaanvragen moeten worden geregistreerd.
Read Vereist. Is alleen van toepassing op de configuratie van logboekregistratie. Hiermee wordt aangegeven of alle leesaanvragen moeten worden geregistreerd.
Write Vereist. Is alleen van toepassing op de configuratie van logboekregistratie. Hiermee wordt aangegeven of alle schrijfaanvragen moeten worden geregistreerd.
Enabled Vereist. Geeft aan of metrische gegevens zijn ingeschakeld voor de Azure Storage-service.

Als geografisch redundante replicatie met leestoegang is ingeschakeld, worden zowel primaire als secundaire metrische gegevens verzameld. Als geografisch redundante replicatie met leestoegang niet is ingeschakeld, worden alleen primaire metrische gegevens verzameld.
IncludeAPIs Alleen vereist als metrische gegevens zijn ingeschakeld. Is alleen van toepassing op de configuratie van metrische gegevens. Geeft aan of metrische gegevens samenvattingsstatistieken moeten genereren voor aangeroepen API-bewerkingen.
RetentionPolicy/Enabled Vereist. Hiermee wordt aangegeven of een bewaarbeleid is ingeschakeld voor de Azure Storage-service.
RetentionPolicy/Days Alleen vereist als een bewaarbeleid is ingeschakeld. Geeft het aantal dagen aan dat metrische gegevens of logboekgegevens moeten worden bewaard. Alle gegevens die ouder zijn dan deze waarde, worden verwijderd. De minimumwaarde die u kunt opgeven, is 1. De grootste waarde is 365 (één jaar).
Cors Optioneel. Ondersteund voor versie 2013-08-15 en hoger. Alle CORS-regels groepeert.

Als u deze elementgroep weglaat, worden bestaande CORS-instellingen niet overschreven.
CorsRule Optioneel. Hiermee geeft u een CORS-regel voor Table Storage. U kunt maximaal vijf CorsRule-elementen opnemen in de aanvraag. Als er geen CorsRule elementen in de aanvraagbody zijn opgenomen, worden alle CORS-regels verwijderd en CORS uitgeschakeld voor Table Storage.
AllowedOrigins Vereist als CorsRule het element aanwezig is. Biedt een door komma's gescheiden lijst met oorsprongsdomeinen die worden toegestaan via CORS of bevat * om alle domeinen toe te staan. Een oorspronkelijk domein kan ook een jokerteken bevatten in het subdomein om aanvragen via CORS toe te laten voor alle subdomeinen van een domein. Beperkt tot 64 oorsprongsdomeinen. Elke toegestane oorsprong mag maximaal 256 tekens bevatten.
ExposedHeaders Vereist als het CorsRule element aanwezig is. Biedt een door komma's gescheiden lijst met antwoordheaders om beschikbaar te maken voor CORS-clients. Beperkt tot 64 gedefinieerde headers en twee kopteksten met voorvoegsel. Elke koptekst mag maximaal 256 tekens bevatten.
MaxAgeInSeconds Vereist als het CorsRule element aanwezig is. Geeft het aantal seconden aan dat de client of browser een voorbereidend antwoord in de cache moet opslaan.
AllowedHeaders Vereist als het CorsRule element bestaat. Biedt een door komma's gescheiden lijst met kopteksten die deel mogen uitmaken van de cross-origin-aanvraag. Beperkt tot 64 gedefinieerde headers en 2 kopteksten met voorvoegsel. Elke koptekst mag maximaal 256 tekens bevatten.
AllowedMethods Vereist als het CorsRule element bestaat. Biedt een door komma's gescheiden lijst met HTTP-methoden die door de oorsprong mogen worden uitgevoerd. Voor Azure Storage zijn DELETEtoegestane methoden , GET, HEAD, , MERGE, POST, OPTIONSen PUT.

Antwoord

Het antwoord bevat een HTTP-statuscode, een set antwoordheaders en een antwoordtekst.

Statuscode

Een geslaagde bewerking retourneert statuscode 202 (Geaccepteerd).

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Beschrijving
x-ms-request-id Hiermee geeft u een waarde op die een aanvraag op unieke wijze identificeert voor de service.
x-ms-version Hiermee geeft u de versie van de bewerking die wordt gebruikt voor het antwoord. Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-client-request-id Kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header, als deze aanwezig is in de aanvraag en de waarde maximaal 1024 zichtbare ASCII-tekens is. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord.

Hoofdtekst van de reactie

Geen.

Autorisatie

Alleen de accounteigenaar kan deze bewerking aanroepen.

Opmerkingen

De volgende beperkingen zijn van toepassing op CORS-regels in Azure Storage:

  • U kunt maximaal vijf regels opslaan.

  • De maximale grootte van alle CORS-regelinstellingen voor de aanvraag, met uitzondering van XML-tags, mag niet groter zijn dan 2 KiB.

  • De lengte van een toegestane koptekst, weergegeven koptekst of toegestane oorsprong mag niet langer zijn dan 256 tekens.

  • Toegestane headers en weergegeven headers kunnen zijn:

    • Letterlijke headers waarin de exacte headernaam wordt opgegeven, zoals x-ms-meta-processed. U kunt maximaal 64 letterlijke headers voor de aanvraag opgeven.

    • Kopteksten met een voorvoegsel waarin een voorvoegsel van de koptekst is opgegeven, zoals x-ms-meta-data\. Als u op deze manier een voorvoegsel opgeeft, wordt een koptekst die begint met dat voorvoegsel, toegestaan of weergegeven. U kunt maximaal twee kopteksten met voorvoegsel opgeven voor de aanvraag.

  • De methoden (of HTTP-woorden) die in het AllowedMethods -element zijn opgegeven, moeten voldoen aan de methoden die worden ondersteund door de API's van de Azure Storage-service. Ondersteunde methoden zijn DELETE, GET, HEAD, MERGE, POST, OPTIONSen PUT.

Het opgeven van CORS-regels voor de aanvraag is optioneel. Als u aanroept Set Table Service Properties zonder het element in de Cors aanvraagbody op te geven, blijven alle bestaande CORS-regels behouden.

Als u CORS wilt uitschakelen, roept u Set Table Service Properties aan met lege CORS-regels (bijvoorbeeld </Cors>) en geen interne CORS-regels. Met deze aanroep worden alle bestaande regels verwijderd en CORS voor Table Storage uitgeschakeld.

Alle CORS-regelelementen zijn vereist als u het CorsRule element opgeeft. Als een element ontbreekt, mislukt de aanvraag met foutcode 400 (Ongeldige aanvraag).

Vanaf versie 2013-08-15 zijn elementen voor XML-instellingen optioneel. U kunt een specifiek element bijwerken door XML te verzenden die alleen het bijgewerkte element bevat en geen invloed heeft op andere instellingen.

Zie CORS-ondersteuning voor de Azure Storage-services voor gedetailleerde informatie over CORS-regels en evaluatielogica.

Voorbeeld van aanvraag en antwoord

De volgende voorbeeld-URI doet een aanvraag voor het wijzigen van de Table Storage-eigenschappen voor het fictieve opslagaccount met de naam myaccount:

PUT https://myaccount.table.core.windows.net/?restype=service&comp=properties HTTP/1.1  

De aanvraag wordt verzonden met de volgende headers:

x-ms-version: 2013-08-15  
x-ms-date: Mon, 21 Oct 2013 04:38:23 GMT  
Authorization: SharedKey  
myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.table.core.windows.net  

De aanvraag wordt verzonden met de volgende XML-hoofdtekst:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <Logging>  
        <Version>1.0</Version>  
        <Delete>true</Delete>  
        <Read>false</Read>  
        <Write>true</Write>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </Logging>  
    <HourMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>false</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </HourMetrics>  
    <MinuteMetrics>  
        <Version>1.0</Version>  
        <Enabled>true</Enabled>  
        <IncludeAPIs>true</IncludeAPIs>  
        <RetentionPolicy>  
            <Enabled>true</Enabled>  
            <Days>7</Days>  
        </RetentionPolicy>  
    </MinuteMetrics>  
    <Cors>  
        <CorsRule>  
            <AllowedOrigins> http://www.fabrikam.com,http://www.contoso.com</AllowedOrigins>  
            <AllowedMethods>GET,PUT</AllowedMethods>  
            <MaxAgeInSeconds>500</MaxAgeInSeconds>  
            <ExposedHeaders>x-ms-meta-data*,x-ms-meta-customheader</ExposedHeaders>  
            <AllowedHeaders>x-ms-meta-target*,x-ms-meta-customheader</AllowedHeaders>  
        </CorsRule>  
    </Cors>  
</StorageServiceProperties>  
  

Nadat de aanvraag is verzonden, wordt het volgende antwoord geretourneerd:

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: Mon, 21 Oct 2013 04:38:24 GMT  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2013-08-15  
  

Zie ook