Eu escrevo coletor personalizado com python sdk. Tento armazenar dados no AWS S3. Para conectar o S3, alguma credencial, chave secreta, é necessária, mas não é bom definir no código por motivos de segurança. Gostaria de fazer com que as variáveis de ambiente chegassem aos trabalhadores do Dataflow como variáveis de ambiente. Como eu posso fazer isso?
Geralmente, para transmitir informações aos trabalhadores que você não deseja embutir no código, você deve usar PipelineOptions
- consulte Criando opções personalizadas . Então, ao construir o pipeline, apenas extraia os parâmetros de seu PipelineOptions
objeto e coloque-os em sua transformação (por exemplo, em seu DoFn
ou em um coletor).
No entanto, para algo tão confidencial como uma credencial, passar informações confidenciais em um argumento de linha de comando pode não ser uma boa ideia. Eu recomendaria uma abordagem mais segura: coloque a credencial em um arquivo no GCS e passe o nome do arquivo como a PipelineOption
. Em seguida, leia programaticamente o arquivo do GCS sempre que precisar da credencial, usando GcsIO .
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras