Definir propriedades de serviço do arquivo

A Set File Service Properties operação define propriedades para o recurso de serviço de arquivo usando a API FileREST. Embora essa API tenha suporte total, é uma API de gerenciamento herdada. Em vez disso, recomendamos que você use Os Serviços de Arquivos – Definir Propriedades do Serviço, que é fornecido pelo provedor de recursos do Armazenamento do Azure (Microsoft.Storage). Para saber mais sobre como interagir programaticamente com o recurso de serviço de arquivo usando o provedor de recursos do Armazenamento do Azure, consulte Operações no serviço Arquivo.

Disponibilidade do protocolo

Protocolo de compartilhamento de arquivos habilitado Disponível
SMB Sim
NFS Sim

Solicitação

Você pode especificar a solicitação Set File Service Properties da seguinte maneira. Recomendamos que você use HTTPS. Substitua account-name pelo nome da sua conta de armazenamento:

Método URI da solicitação Versão HTTP
PUT https://account-name.file.core.windows.net/?restype=service&comp=properties HTTP/1.1

Observação

O URI sempre deve incluir um caractere de barra (/) para separar o nome do host das partes de caminho e consulta do URI. Nesta operação, a parte do caminho do URI está vazia.

Parâmetros do URI

Parâmetro do URI Descrição
restype=service&comp=properties Obrigatórios. A combinação das duas cadeias de caracteres de consulta é necessária para definir as propriedades do serviço de armazenamento.
timeout Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de serviço de arquivo.

Cabeçalhos da solicitação

Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:

Cabeçalho da solicitação Descrição
Authorization Obrigatórios. Especifica o esquema de autorização, o nome da conta de armazenamento e a assinatura. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
Date or x-ms-date Obrigatórios. Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para saber mais, confira Autorizar solicitações para o Armazenamento do Azure.
x-ms-version Necessário para todas as solicitações autorizadas. Especifica a versão da operação a ser usada para esta solicitação. Essa operação está disponível apenas na versão 2015-02-21 e posterior. Para habilitar as métricas para o serviço Arquivo, você deve especificar a versão 2015-04-05 ou posterior.

Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
x-ms-client-request-id Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres KiB (1 kibibyte) registrado nos logs de Análise de Armazenamento quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. Para obter mais informações, consulte Monitorar Arquivos do Azure.

Corpo da solicitação

O formato do corpo da solicitação para a versão 2020-02-10 é o seguinte:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <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-seperated-list-of-response-headers</ExposedHeaders>  
            <AllowedHeaders>comma-seperated-list-of-request-headers</AllowedHeaders>  
        </CorsRule>  
    </Cors>    
    <ShareDeleteRetentionPolicy>
        <Enabled>true|false</Enabled>
        <Days>integer-value</Days>
    </ShareDeleteRetentionPolicy>
    <ProtocolSettings>
        <SMB>
            <Multichannel>
                <Enabled>true|false</Enabled>
            </Multichannel>
            <Versions>comma-separated-list-of-smb-versions</Versions>
            <AuthenticationMethods>comma-separated-list-of-auth-methods</AuthenticationMethod>
            <KerberosTicketEncryption>csv-of-kerb-encryption-algorithms</KerberosTicketEncryption>
            <ChannelEncryption>csv-of-smb-encryption-algorithms</ChannelEncryption>
        </SMB>
    </ProtocolSettings>
</StorageServiceProperties>  
  

Não é necessário especificar todos os elementos raiz na solicitação. Se você omitir um elemento raiz, as configurações existentes para o serviço para essa funcionalidade serão preservadas. No entanto, se você especificar um determinado elemento raiz, deverá especificar cada elemento filho para esse elemento. Os elementos raiz incluem:

  • HourMetrics
  • MinuteMetrics
  • Cors
  • ProtocolSettings

Os elementos do corpo da solicitação são descritos na tabela a seguir:

Nome Descrição
HourMetrics Opcional para a versão 2015-04-05 e posterior. Não aplicável a versões anteriores. Agrupa as configurações de Análise de ArmazenamentoHourMetrics, que fornecem um resumo das estatísticas de solicitação agrupadas pela API em agregações por hora.
MinuteMetrics Opcional para a versão 2015-04-05 e posterior. Não aplicável a versões anteriores. Agrupa as configurações de Análise de ArmazenamentoMinuteMetrics, que fornecem estatísticas de solicitação para cada minuto.
Version Obrigatório se as métricas estiverem habilitadas. A versão do Storage Analytics a ser configurada. Use 1.0 para esse valor.
Enabled Obrigatórios. Indica se as métricas estão habilitadas para o serviço Arquivo.
IncludeAPIs Necessário somente se as métricas estiverem habilitadas. Indica se a métrica deve gerar estatísticas de resumo para operações chamadas de API.
RetentionPolicy/Enabled Obrigatórios. Indica se uma política de retenção está habilitada para o serviço Arquivo. Se for falso, os dados de métricas serão retidos e o usuário será responsável por excluí-los.
RetentionPolicy/Days Necessário apenas se uma política de retenção estiver habilitada. Indica o número de dias em que os dados de métricas devem ser retidos. Todos os dados mais antigos que esse valor são excluídos. O mínimo que você pode especificar é 1e o valor máximo é 365 (um ano). Os dados de métricas são excluídos com o melhor esforço após a expiração do período de retenção.
Cors Opcional. O Cors elemento tem suporte para a versão 2015-02-21 e posterior. Agrupa todas as regras de CORS (compartilhamento de recursos entre origens). Omitir esse grupo de elementos não substitui as configurações de CORS existentes.
CorsRule Opcional. Especifica a regra de CORS para o serviço Arquivo. Você pode incluir até cinco elementos CorsRule na solicitação. Se nenhum CorsRule elemento estiver incluído no corpo da solicitação, todas as regras CORS serão excluídas e o CORS será desabilitado para o serviço Arquivo.
AllowedOrigins Obrigatório se o CorsRule elemento estiver presente. Uma lista separada por vírgulas de domínios de origem que são permitidos por meio do CORS ou "*" para permitir todos os domínios. Um domínio de origem também pode incluir um caractere curinga no subdomínio para permitir solicitações via CORS para todos os subdomínios de um domínio. Limitado a 64 domínios de origem. Cada origem permitida pode ter até 256 caracteres.
ExposedHeaders Obrigatório se o CorsRule elemento estiver presente. Uma lista de cabeçalhos de resposta separados por vírgulas para expor para clientes de CORS. Limitado a 64 cabeçalhos definidos e dois cabeçalhos prefixados. Cada cabeçalho pode conter até 256 caracteres.
MaxAgeInSeconds Obrigatório se o CorsRule elemento estiver presente. O número de segundos que o cliente/navegador deve armazenar em cache uma resposta de simulação.
AllowedHeaders Obrigatório se o CorsRule elemento existir. Uma lista separada por vírgulas de cabeçalhos que têm permissão para fazer parte da solicitação entre origens. Limitado a 64 cabeçalhos definidos e 2 cabeçalhos prefixados. Cada cabeçalho pode conter até 256 caracteres.
AllowedMethods Necessário se o elemento CorsRule existir. Uma lista de métodos de HTTP separados por vírgulas com permissão para serem executados pela origem. Para Arquivos do Azure, os métodos permitidos são DELETE, GET, HEAD, MERGE, POST, OPTIONSe PUT.
ShareDeleteRetentionPolicy Opcional. As propriedades de exclusão reversível para os compartilhamentos de arquivos do Azure nessa conta de armazenamento.
Days Opcional. Indica o número de dias que o compartilhamento de arquivos do Azure deve ser retido (excluído temporariamente). O mínimo que você pode especificar é 1e o valor máximo é 365 (um ano).
Enabled Opcional. Indica se a conta de armazenamento tem a exclusão reversível habilitada para Arquivos do Azure.
ProtocolSettings Opcional. Agrupa as configurações para protocolos do sistema de arquivos.
SMB Opcional. Agrupa as configurações de SMB.
Multichannel Opcional. Contém as configurações de multicanal SMB. O multicanal SMB contém a Enabled propriedade booliana, que alterna o estado do multicanal SMB.
Version Opcional a partir da versão 2020-04-08. Lista separada por vírgulas de versões SMB permitidas. Os valores permitidos são SMB2.1, SMB3.0 e SMB3.1.1.
AuthenticationMethods Opcional a partir da versão 2020-04-08. Lista separada por vírgulas de métodos de autenticação permitidos. Os valores permitidos são NTLMv2 e Kerberos.
KerberosTicketEncryption Opcional a partir da versão 2020-04-08. Lista separada por vírgulas de algoritmos de criptografia de tíquete Kerberos permitidos. Os valores permitidos são RC4-HMAC e AES-256.
ChannelEncryption Opcional a partir da versão 2020-04-08. Lista separada por vírgulas de protocolos de criptografia de canal SMB permitidos. Os valores permitidos são AES-128-CCM, AES-128-GCM e AES-256-GCM.

Resposta

A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.

Código de status

Uma operação bem-sucedida retorna o código de status 202 (Aceito).

Cabeçalhos de resposta

A resposta para esta operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos padrão HTTP adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.

Cabeçalho de resposta Descrição
x-ms-request-id Um valor que identifica exclusivamente uma solicitação feita no serviço.
x-ms-version Especifica a versão da operação que foi usada para a resposta. Para obter mais informações, consulte Controle de versão para os Serviços de Armazenamento do Azure.
x-ms-client-request-id Pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor do cabeçalho será igual ao valor do x-ms-client-request-id cabeçalho se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o x-ms-client-request-id cabeçalho não estiver presente na solicitação, ele não estará presente na resposta.

Corpo da resposta

Nenhum.

Autorização

Somente o proprietário da conta pode chamar essa operação.

Comentários

As seguintes restrições e limitações se aplicam às regras do CORS em Arquivos do Azure:

  • No máximo cinco regras podem ser armazenadas.

  • O tamanho máximo de todas as configurações de regras cors na solicitação, excluindo marcas XML, não deve exceder 2 KiB.

  • O comprimento de um cabeçalho permitido, cabeçalho exposto ou origem permitida não deve exceder 256 caracteres.

  • Cabeçalhos permitidos e cabeçalhos expostos podem ser um dos seguintes:

    • Cabeçalhos literais, onde o nome exato do cabeçalho é fornecido, como x-ms-meta-processed. Um máximo de 64 cabeçalhos literais pode ser especificado na solicitação.

    • Cabeçalhos prefixados, onde é fornecido um prefixo para o cabeçalho, como x-ms-meta-data*. Especificar um prefixo dessa maneira permite ou expõe qualquer cabeçalho que comece com esse prefixo. Um máximo de dois cabeçalhos prefixados pode ser especificado na solicitação.

  • Os métodos (ou verbos HTTP) especificados no elemento devem estar em AllowedMethods conformidade com os métodos compatíveis com as APIs do serviço de armazenamento do Azure. Os métodos com suporte são DELETE, GET, HEAD, MERGE, POST, OPTIONSe PUT.

Especificar as regras de CORS na solicitação é opcional. Se você chamar Set File Service Properties sem especificar o elemento CORS no corpo da solicitação, todas as regras cors existentes serão mantidas.

Para desabilitar o CORS, chame Set File Service Properties com uma configuração de regras CORS vazia (ou seja, </Cors>) e sem regras internas do CORS. Essa chamada exclui todas as regras existentes e desabilita o CORS para o serviço arquivo.

Todos os elementos da regra de CORS serão necessários se o elemento de CorsRule for especificado. A solicitação falhará com o código de erro 400 (Solicitação Incorreta) se algum elemento estiver ausente.

Para obter mais informações sobre regras cors e lógica de avaliação, consulte Suporte de compartilhamento de recursos entre origens para os serviços de Armazenamento do Azure.

Exemplo de solicitação e resposta

O URI de exemplo a seguir faz uma solicitação para alterar as propriedades do serviço arquivo para uma conta de armazenamento chamada myaccount:

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

A solicitação é enviada com os seguintes cabeçalhos:

x-ms-version: 2020-02-10  
x-ms-date: <date>  
Authorization: SharedKey myaccount:Z1lTLDwtq5o1UYQluucdsXk6/iB7YxEu0m6VofAEkUE=  
Host: myaccount.file.core.windows.net  

A solicitação é enviada com o seguinte corpo XML:

<?xml version="1.0" encoding="utf-8"?>  
<StorageServiceProperties>  
    <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>
    <ShareDeleteRetentionPolicy>
        <Enabled>true</Enabled>
        <Days>7</Days>
    </ShareDeleteRetentionPolicy>
    <ProtocolSettings>
        <SMB>
            <Multichannel>
                <Enabled>true</Enabled>
            </Multichannel>
            <Versions>SMB3.1.1</Versions>
            <AuthenticationMethods>Kerberos</AuthenticationMethods>
            <KerberosTicketEncryption>AES-256</KerberosTicketEncryption>
            <ChannelEncryption>AES-256-GCM</ChannelEncryption>
        </SMB>
    </ProtocolSettings>
</StorageServiceProperties>  

Depois que a solicitação tiver sido enviada, a resposta a seguir será retornada:

HTTP/1.1 202 Accepted  
Connection: Keep-Alive  
Transfer-Encoding: chunked  
Date: <date>  
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: cb939a31-0cc6-49bb-9fe5-3327691f2a30  
x-ms-version: 2015-04-05  

Confira também

Para obter mais informações sobre regras cors e lógica de avaliação, consulte Suporte de compartilhamento de recursos entre origens para os serviços de Armazenamento do Azure.

Para obter mais informações sobre Análise de Armazenamento, consulte Análise de Armazenamento.