从 s3 下载到操作工作流程中

2023-12-19

我正在开发 2 个 github 操作工作流程:

  1. 训练模型并将其保存到 s3(每月)
  2. 从 s3 下载模型并将其用于预测(每日)

Using https://github.com/jakejarvis/s3-sync-action https://github.com/jakejarvis/s3-sync-action我能够完成第一个工作流程。我训练一个模型,然后将“模型”目录与 s3 上的存储桶同步。

我本来计划使用相同的操作来下载模型以用于预测,但看起来此操作是单向的,仅上传而不下载。

我通过创建工作流程并尝试与跑步者同步发现了困难的方法:

  retreive-model-s3:
    runs-on: ubuntu-latest
    steps:
      - name: checkout current repo
        uses: actions/checkout@master
      - name: make dir to sync with s3
        run: mkdir models
      - name: checkout s3 sync action
        uses: jakejarvis/s3-sync-action@master
        with:
          args: --follow-symlinks
        env:
          AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          AWS_S3_ENDPOINT: ${{ secrets.AWS_S3_ENDPOINT }}
          AWS_REGION: 'us-south'  # optional: defaults to us-east-1
          SOURCE_DIR: 'models'    # optional: defaults to entire repository
      - name: dir after
        run: |
          ls -l
          ls -l models
      - name: Upload model as artifact
        uses: actions/upload-artifact@v2
        with:
          name: xgb-model
          path: models/regression_model_full.rds

运行时,当我登录 UI 时,我可以看到该对象regression_model_full.rds确实有,只是没下载。我仍然不确定这是否是预期的(操作“同步”的名称让我感到困惑)。

对于我们的 s3,我们必须使用参数AWS_S3_ENDPOINT。我发现了另一个动作,AWS S3 here https://github.com/marketplace/actions/aws-s3-github-action但与我开始时的同步操作不同,没有添加 AWS_S3_ENDPOINT 的选项。看着the repo https://github.com/keithweaver/aws-s3-github-action除了 8 个月前他自述的更新之外,它也已经有两年了。

在工作流程中从 s3 下载的“规定”或传统方式是什么?


苏我和你有同样的问题。我试图从 S3 下载以更新 GitHub 中的目录文件夹。

我从操作中学到的是,如果您要更新存储库中的某些文件,则必须遵循正常方法,就像您在本地执行操作一样,例如)签出、进行更改、推送。

因此,对于您的特定工作流程,您必须使用以下命令在工作流程中检查您的存储库actions/checkout@master在与特定目录同步后,我没有做的主要问题是将更改推回到存储库!这使我能够每天更新我的文件夹。

不管怎样,这是我的脚本,希望你觉得它有用。我正在使用您最后提到的 AWS S3 操作。

# This is a basic workflow to help you get started with Actions

name: Fetch data.

# Controls when the workflow will run
on:
  schedule:
    # Runs "at hour 6 past every day" (see https://crontab.guru)
    - cron: '00 6 * * *'
    
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: keithweaver/[email protected] /cdn-cgi/l/email-protection # Verifies the recursive flag
        name: sync folder
        with:
          command: sync
          source: ${{ secrets.S3_BUCKET }}
          destination: ./data/
          aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          aws_region: ${{ secrets.AWS_REGION }}
          flags: --delete
      - name: Commit changes
        run: |
         git config --local user.email "[email protected] /cdn-cgi/l/email-protection"
         git config --local user.name "GitHub Action"
         git add .
         git diff-index --quiet HEAD || git commit -m "{commit message}" -a
         git push origin main:main

旁注:旗帜--delete允许您通过删除 s3 文件夹中不再存在的任何文件来使当前文件夹与 s3 文件夹保持同步

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 s3 下载到操作工作流程中 的相关文章

随机推荐

  • Swift 5 中的异或?

    我正在尝试在 Swift 5 中执行 XOR 操作 文档似乎没有明确提到使用两个布尔值进行此操作 https docs swift org swift book LanguageGuide AdvancedOperators html ht
  • DateTimeFormatter 在格式化后添加至今的年份[重复]

    这个问题在这里已经有答案了 我正在尝试转换日期格式2019 12 30到有格式的日期30 12 2019为此我想使用DateTimeFormatter我有以下代码 LocalDate date LocalDate parse 2019 12
  • Summernote 中的转义 HTML

    我正在使用名为 Summernote 的所见即所得 wysiwyg 我将其值发送到服务器 并在服务器上使用 HTML Purifier 对其进行净化 之后我将其保存到数据库 mysql 然后 我需要在所见即所得中显示纯化的 html 因此将
  • strtol() 返回错误值

    我这里有一个奇怪的 当我传入以下字符串时 strtol atol 和 atoi 都会返回错误的值 long test strtol 3087663490 p 10 根据我的调试器 它返回 2147483647 我完全被难住了 有什么建议吗
  • Rstudio loadNamespace(name) 中的 Rstudio knit pdf:没有名为“rmarkdown”的包

    我刚刚更新到 Rstudio 版本 0 98 1074 当我尝试使用带有脚本的编译笔记本或带有 rmd 的 Knit pdf 时 我得到 loadNamespace 错误错误 没有名为 rmarkdown 的包 但我可以打字rmarkdow
  • Outlook MailItem:如何区分邮件是传入还是传出?

    我正在用 C 编写 VSTO Outlook 插件 我需要区分给定的 MailItem 是传入还是传出 或者两者都不是 例如当它是草稿时 有什么万无一失的方法可以做到这一点吗 我现在拥有的最佳解决方案是获取收件人 抄送和密送的列表 从活动帐
  • 由正方形网格组成的多边形

    我正在寻找一种算法来查找围绕连续的没有孔的正方形网格的多边形 如下所示 我已经让每个网格方块存储有关它们组成的周围区域的边缘类型的数据 即顶部 右上角 顶部底部 无边缘等 所以我认为这数据可以被算法利用 如果有人可以为这种算法提供一些伪代码
  • 如何像 SQL 连接一样使用 OData Expand?

    我试图弄清楚如何完成相当于 select from Users u inner join Comments c on c UserId u Id where Id 1569 表别名以获得更好的 SQL 可读性 在 StackOverflow
  • MAMP mySQL Snow Leopard 中的 Ruby On Rails

    我正在尝试找到在 MAMP 服务器上运行 Ruby on Rails 并使用 MAMP 的 mySQL 数据库的分步说明 我也在雪豹上 我已经阅读了 Hivelogic 的相关文章 但我真的不想编译rails ruby 和mySQL 大家有
  • 如何在mathematica中任意指定线条的粗细或点的大小

    我知道有一些选择 例如PointSize Large or PlotStyle gt Thick 但是如果我想要更大或更厚怎么办 谢谢 PointSize number 相对于图像的大小 AbsolutePointSize number 绝
  • 不使用 Visual Studio GUI 设计器(工具箱)构建 C# GUI

    在 Java Swing 中 我们只需编写 Java 代码即可创建 GUI 例如在 Eclipse 中 使用 NetBeans 工具箱将组件拖放到 UI 是可选的 我想知道C 中是否有相同的概念 我可以将组件放入 GUI 中并仅通过编码来添
  • 如何将一系列数组元素克隆到新数组?

    我有一个包含 10 个元素的数组 X 我想创建一个新数组 其中包含 X 中从索引 3 开始到索引 7 结束的所有元素 当然 我可以轻松编写一个循环来为我完成此操作 但我想让我的代码尽可能干净 C 中有没有一种方法可以帮我做到这一点 类似于
  • bash 如何从管道输入或命令行参数中读取

    我想从管道或命令行参数读取一些数据 比如 1 以提供的为准 优先考虑管道 该片段告诉我管道是否打开 但我不知道要在里面放什么以免阻塞脚本 test sh 使用read or cat if t 0 then echo nopipe DATA
  • WPF 将 FrameworkElement 事件绑定到命令

    我怎样才能绑定一个UserControl s FrameworkElement事件到视图模型命令 我使用 MVVM 和 Prism 因此视图和视图模型之间的清晰分离会很好 我尝试了多种方法 但都不起作用
  • org.springframework.security:org.springframework.security.web:jar:3.0.5.RELEASE 的 POM 丢失,没有可用的依赖信息

    当包含进pom xml
  • 如何将 QCompleter 与 InputDialog 一起使用?

    我正在编写一个 Python 应用程序 用户可以在 QInputDialog 中输入字符串 我如何使用 QCompleter 使输入更容易 我已经在不同的网站上搜索并阅读了文档https doc qt io qt 5 qcompleter
  • iTextSharp 的 Rtf 支持哪里去了

    在版本 5 中 iText 已分为两个分支 iText PDF 和 iText RTF 我用的iTextSharp现在好像是iText PDF NET 是否有 iText RTF 端口 我认为 iTextSharp 主页会提到这一点 但几乎
  • 跨多个 WAR 文件的 java web 模板

    我有一个设计得很糟糕的多 WAR Web 应用程序 有一个 WAR 负责处理针对数据库的某些授权 并使用 jsp 标记库定义标准网页 主 WAR 基本上检查用户的权限 然后基于此显示指向其他已部署 WARS 的上下文路径的链接 其他部署的每
  • Entity Framework Core - 迁移 - 没有为此对象定义无参数构造函数

    我正在 Visual Studio 2017 中使用最新的 Net Core 和 EF Core 我创建了一个模型 并且运行良好 此后我进行了一些修改 当我尝试添加新的迁移时收到以下错误 Build succeeded 0 Warning
  • 从 s3 下载到操作工作流程中

    我正在开发 2 个 github 操作工作流程 训练模型并将其保存到 s3 每月 从 s3 下载模型并将其用于预测 每日 Using https github com jakejarvis s3 sync action https gith