Как использовать крючок s3 в потоке воздуха - PullRequest
1 голос
/ 13 февраля 2020

У меня есть папка s3, которую я перемещаю в GCS. Я использую Airflow, чтобы заставить перемещения происходить.

В этой среде мой s3 является «постоянно растущей» папкой, то есть мы не удаляем файлы после того, как мы их получили.

def GetFiles(**kwargs):
    foundfiles = False

    s3 = S3Hook(aws_conn_id='S3_BDEX')
    s3.get_conn()
    bucket = s3.get_bucket(
        bucket_name='/file.share.external.bdex.com/Offrs'
    )
    files = s3.list_prefixes(bucket_name='/file.share.external.bdex.com/Offrs')
    print("BUCKET:  {}".format(files))


check_for_file = BranchPythonOperator(
    task_id='Check_FTP_and_Download',
    provide_context=True,
    python_callable=GetFiles,
    dag=dag
)

Здесь мне нужен список файлов и их дата / время создания. Таким образом, я могу сравнить существующие файлы, чтобы определить, являются ли они новыми или нет.

Я знаю, что могу подключиться, потому что функция get_bucket сработала. Однако в этом случае я получаю следующие ошибки:

Invalid bucket name "/file.share.external.bdex.com/Offrs": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$"

Спасибо

...