2017-04-12 4 views
3

Unsere Firma hat eine Anforderung, alle Daten zu verschlüsseln, die in S3 in Ruhe sind. Normalerweise, wenn wir s3 Objekt laden, wir tun so etwas wie:unterstützt das_des_.dataframe to_parquet serverseitige Verschlüsselung?

aws s3 cp a.txt s3://b/test --sse 

Ich spiele mit dask.dataframe und möchte eine meiner Daten-Sets in Parkett in S3 gespeichert exportieren, aber kann keine Option für Sie schalten Sie die Verschlüsselung. Irgendeine Idee, wie man Verschlüsselung mit demask.dataframe anwendet?

Antwort

3

Dies ist derzeit nicht in s3fs implementiert, dem Backend, das von dask verwendet wird, um nach S3 zu schreiben. Es wäre nicht schwer hinzuzufügen, indem (einige der) folgenden Parameter in den Konstruktor für S3FileSystem aufgenommen und in die kleine Anzahl von Aufrufen auf dem boto3 s3client einbezogen werden; dann würden die Parameter in storage_options= enthalten sein, wenn to_parquet() aufgerufen wird.

ServerSideEncryption='AES256'|'aws:kms', 
SSECustomerAlgorithm='string', 
SSECustomerKey='string', 
SSEKMSKeyId='string', 

Es sollte auch eine Option zum Festlegen dieser pro Datei sowie standardmäßig für die Dateisysteminstanz geben. Fühlen Sie sich frei, eine PR zu versuchen! Beachten Sie, dass SSE wahrscheinlich nicht in moto implementiert ist. Daher kann die Verwendung von SSE schwierig sein.

Beachten Sie, dass in diesem Fall einige dieser Werte wahrscheinlich vom Befehl aws von einem Standardspeicherort wie ~/.aws/ gelesen werden.

Verwandte Themen