![](/img/trans.png)
[英]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.