小编Sti*_*ian的帖子

Terraform 删除应用程序服务计划时出错 StatusCode=409 服务器场 [asp] 无法删除,因为它分配了 Web 应用程序 [azure-function]

我有一个 Azure Function 和一个 Azure 服务计划,它们都是使用以下 Terraform 代码创建的:

resource "azurerm_app_service_plan" "asp" {
    name = "asp-${var.environment}"
    resource_group_name      = var.rg_name
    location                 = var.location
    kind = "FunctionApp"
    reserved            = true
    sku {
        tier = "ElasticPremium"
        size = "EP1"
    }
}

resource "azurerm_function_app" "function" {
    name = "function-${var.environment}"
    resource_group_name= var.rg_name
    location= var.location
    app_service_plan_id= azurerm_app_service_plan.asp.id
    storage_connection_string=azurerm_storage_account.storage.primary_connection_string
    os_type = "linux"


    site_config {
      linux_fx_version = "DOCKER|${data.azurerm_container_registry.acr.login_server}/${var.image_name}:latest"
    }

    identity {
      type = "SystemAssigned"
    }


    app_settings              = {
    #Lots of variables, but irrelevant for this issue I assume?
    } …
Run Code Online (Sandbox Code Playgroud)

azure terraform azure-app-service-plans azure-functions

8
推荐指数
1
解决办法
7995
查看次数

如何使用pysftp将字符串写入ftp上的文件?

我有一个存储在变量中的大型 xml 文件。我想使用 pysftp 将它直接写入 ftp。我相信我需要使用 pysftp.putfo 并且这需要一个类似对象的文件。这是一个最小的例子:

from io import StringIO
from pysftp import Connection, CnOpts

cnopts = CnOpts()
cnopts.hostkeys = None
with Connection('localhost'
                    ,username= 'admin'
                    ,password = 'test'
                    ,cnopts=cnopts
                    ) as sftp:
        sftp.putfo(StringIO('xml string'))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: Expected unicode or bytes, got None
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?是否有更简单更好的方法来实现我将字符串变量写入 ftp 上的文件的目标?

python stringio pysftp

7
推荐指数
2
解决办法
5133
查看次数

在 slim python 3.6 docker 映像上运行 python mysql 客户端

我有一个在 python:3.6-jessie 图像上运行的工作服务。我正在尝试减小它的大小以加速无服务器冷启动。

我试过图像 python:3.6-alpine、python:3.6-slim-buster 和 python:3.6-slim-jessie。

对于所有这些,我最终不得不安装许多额外的软件包,并且我最终遇到了以下错误,我无法用更多的软件包修复:

ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我目前的 Dockerfile 是

FROM python:3.6-jessie as build

ENV PYTHONUNBUFFERED 0
ENV FLASK_APP "api/app.py"

RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
WORKDIR /opt/venv

COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

COPY . .

FROM python:3.6-slim-jessie
COPY --from=build /opt/venv /opt/venv
WORKDIR /opt/venv
RUN apt-get update
RUN apt-get --assume-yes install gcc
RUN apt-get --assume-yes install python-mysqldb

ENV PATH="/opt/venv/bin:$PATH"

RUN rm -rf configs …
Run Code Online (Sandbox Code Playgroud)

python mysql python-3.x docker dockerfile

4
推荐指数
2
解决办法
3996
查看次数

使用 GitHub Actions 构建 Docker 镜像:没有这样的文件或目录

我们打算使用 Git Actions 在每次提交时构建 Docker。

这是我们当前的 Git Actions yml:

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

name: CI

# Controls when the workflow will run
on:
  push:
    branches: 
      - '**'
  pull_request:
    branches:
      - '**'

  # 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:

  docker-build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2 …
Run Code Online (Sandbox Code Playgroud)

docker github-actions

3
推荐指数
1
解决办法
5613
查看次数