[英]Apache airflow unable to locate AWS credentials when using boto3 inside a DAG
[英]Unable to locate credentials inside fargate container, using Boto3
我正在尝试创建一个拆分文件然后将它们上传到 S3 容器的容器。 该过程按预期工作,但在尝试将文件发送到 S3 时失败,并出现错误Unable to locate credentials inside fargate container
。
我的 dockerfile 看起来像这样:
FROM python:3.8-slim
RUN apt-get update \
&& apt-get install -y wget \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir /tmp/splitter
RUN pip install --upgrade pip && \
pip install --no-cache-dir requests boto3
RUN wget -O /tmp/init.sh (WHATEVER) \
&& chmod +x /tmp/init.sh
CMD /tmp/init.sh
我的角色设置类似于亚马逊文档中出现的 ecsTaskExecutionRole。
ecsTaskExecutionRole
不适用于您的容器访问 S3。 ECS 本身能够,例如,从 ECR 中提取您的 docker 映像。
对于容器中的应用程序权限,您需要一个任务角色,而不是任务执行角色。 这可能会令人困惑,因为两者的名称相似并且都具有相同的信任策略。
任务角色可以与任务执行角色一起指定:
角色也可以在任务定义级别设置:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.