Compartilhar via


API de Armazenamento Local

Com a API de armazenamento local, você pode armazenar dados no armazenamento local do navegador. Para usar a API de armazenamento local, o comutador de administrador de armazenamento local do cliente deve estar habilitado.

O armazenamento local é isolado para que cada tipo de visual tenha acesso de armazenamento próprio separado.

Observação

É responsabilidade do desenvolvedor garantir que os dados armazenados estejam em conformidade com as políticas organizacionais do consumidor e informar os usuários sobre quais informações são armazenadas, se a confidencialidade dos dados assim o exigir. Em particular, os desenvolvedores visuais personalizados devem criptografar os dados se as metas ou cenários de negócios assim o esperarem.

Como usar o armazenamento local

Esta versão da API de armazenamento local está agendada para substituição. Não estamos aceitando mais solicitações. Quando possível, use a versão 2.

No exemplo a seguir, um contador é aumentado sempre que o método update é chamado. O valor do contador é salvo localmente e chamado cada vez que o visual é iniciado. Dessa forma, o contador continuará contando de onde parou, em vez de iniciar sempre que o visual for iniciado:

export class Visual implements IVisual {
        // ...
        private updateCountName: string = 'updateCount';
        private updateCount: number;
        private storage: ILocalVisualStorageService;
        // ...

        constructor(options: VisualConstructorOptions) {
            // ...
            this.storage = options.host.storageService;
            // ...

            this.storage.get(this.updateCountName).then(count =>
            {
                this.updateCount = +count;
            })
            .catch(() =>
            {
                this.updateCount = 0;
                this.storage.set(this.updateCountName, this.updateCount.toString());
            });
            // ...
        }

        public update(options: VisualUpdateOptions) {
            // ...
            this.updateCount++;
            this.storage.set(this.updateCountName, this.updateCount.toString());
            // ...
        }
}

Considerações e limitações

  • O limite de armazenamento local é de 1 MB por GUID.
  • Os dados podem ser compartilhados apenas entre visuais com o mesmo GUID.
  • Os dados não podem ser compartilhados com outra instância do Power BI Desktop.
  • A API de armazenamento local não é ativada por padrão. Se desejar ativá-la para o seu visual do Power BI, envie uma solicitação para o suporte a visuais do Power BI, pbicvsupport@microsoft.com.
  • A API de armazenamento local não dá suporte a construções await. Somente os métodos then e catch são permitidos.

O visual deve estar disponível em AppSource e ser certificado.