小编Sad*_*had的帖子

Apple M1 上的 Oracle 12c docker 设置

我正在尝试在 M1 Mac 上的 docker 中运行 Oracle db。我已经尝试了两者的图像store/oracle/database-enterprise:12.2.0.1-slimcontainer-registry.oracle.com/database/enterprise:12.2.0.1-slim但得到了相同的错误。

docker run -d -it --name oracle -v $(pwd)/db/oradata:/ORCL store/oracle/database-enterprise:12.2.0.1-slim

我还尝试了非精简版本并通过--platform linux/amd64向 docker 命令提供 。结果是一样的。

这是结果docker logs -f oracle

Setup Oracle Database
Oracle Database 12.2.0.1 Setup
Sat Jul 31 18:44:14 UTC 2021

Check parameters ......
log file is : /home/oracle/setup/log/paramChk.log
paramChk.sh is done at 1 sec

untar DB bits ......
log file is : /home/oracle/setup/log/untarDB.log
untarDB.sh is done at 29 sec

config DB ......
log file …
Run Code Online (Sandbox Code Playgroud)

oracle docker oracle12c apple-m1

14
推荐指数
2
解决办法
3万
查看次数

Mac M1 上的 Apache Airflow 安装问题

我正在尝试在 docker 中设置 Apache Airflow,以进行本地开发。我让它在基于 Intel 的 Mac 上运行。

\n

我正在关注他们的官方文档。当我尝试运行服务时,docker compose up我看到以下回溯。

\n
# docker-compose.yaml\n---\nversion: \'3\'\nx-airflow-common:\n  &airflow-common\n  image: ${AIRFLOW_IMAGE_NAME:-apache/airflow:2.1.0}\n  environment:\n    &airflow-common-env\n    AIRFLOW__CORE__EXECUTOR: CeleryExecutor\n    AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow\n    AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow\n    AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0\n    AIRFLOW__CORE__FERNET_KEY: \'\'\n    AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: \'true\'\n    AIRFLOW__CORE__LOAD_EXAMPLES: \'true\'\n    AIRFLOW__API__AUTH_BACKEND: \'airflow.api.auth.backend.basic_auth\'\n  volumes:\n    - ./dags:/opt/airflow/dags\n    - ./logs:/opt/airflow/logs\n    - ./plugins:/opt/airflow/plugins\n  user: "${AIRFLOW_UID:-50000}:${AIRFLOW_GID:-50000}"\n  depends_on:\n    redis:\n      condition: service_healthy\n    postgres:\n      condition: service_healthy\n\nservices:\n  postgres:\n    image: postgres:13\n#    platform: linux/amd64\n    environment:\n      POSTGRES_USER: airflow\n      POSTGRES_PASSWORD: airflow\n      POSTGRES_DB: airflow\n    volumes:\n      - postgres-db-volume:/var/lib/postgresql/data\n    healthcheck:\n      test: ["CMD", "pg_isready", "-U", "airflow"]\n      interval: …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose airflow apple-m1

5
推荐指数
1
解决办法
7137
查看次数

如何为 @task 装饰的 Airflow 任务编写单元测试?

我正在尝试为使用Airflow TaskFlow API构建的一些任务编写单元测试。我尝试了多种方法,例如,通过创建 dagrun 或仅运行任务函数,但没有任何帮助。

这是我从 S3 下载文件的任务,还有更多内容,但我在本示例中删除了它。

@task()
def updates_process(files):
    context = get_current_context()
    try:
        updates_file_path = utils.download_file_from_s3_bucket(files.get("updates_file"))
    except FileNotFoundError as e:
        log.error(e)
        return

    # Do something else
Run Code Online (Sandbox Code Playgroud)

现在我试图编写一个测试用例,我可以在其中检查这个 except 子句。以下是我开始的例子

class TestAccountLinkUpdatesProcess(TestCase):
    @mock.patch("dags.delta_load.updates.log")
    @mock.patch("dags.delta_load.updates.get_current_context")
    @mock.patch("dags.delta_load.updates.utils.download_file_from_s3_bucket")
    def test_file_not_found_error(self, download_file_from_s3_bucket, get_current_context, log):
        download_file_from_s3_bucket.side_effect = FileNotFoundError
        task = account_link_updates_process({"updates_file": "path/to/file.csv"})
        get_current_context.assert_called_once()
        log.error.assert_called_once()
Run Code Online (Sandbox Code Playgroud)

我还尝试创建一个 dagrun(如文档中的示例所示)并从 dagrun 获取任务,但这也没有帮助。

python-unittest airflow airflow-taskflow

5
推荐指数
1
解决办法
1773
查看次数

在 cookie 中设置 Django REST 框架 JWT

我正在使用djangorestframework-jwt来验证用户。我已经覆盖了内置函数JSONWebTokenAPIView以在响应中返回用户详细信息。在我看来,我也在 cookie 中设置令牌。

def post(self, request, *args, **kwargs):
    serializer = self.get_serializer(data=request.data)

    if serializer.is_valid():
        user = serializer.object.get('user') or request.user
        token = serializer.object.get('token')
        response_data = {
            'access_token': token,
            'user': UserInfoSerializer(user).data
        }
        response = Response(response_data, status=status.HTTP_200_OK)
        if api_settings.JWT_AUTH_COOKIE:
            expiration = (datetime.utcnow() + api_settings.JWT_EXPIRATION_DELTA)
            response.set_cookie(api_settings.JWT_AUTH_COOKIE,
                                response.data['access_token'],
                                expires=expiration,
                                httponly=True)
        return response

    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)

它在 Django 服务器上运行良好。当我使用 REST 可浏览 api 视图验证 api 时,我可以在 cookie 中看到令牌。但是我的前端 (React) 应用程序在 localhost:3000 上运行,当我从前端服务器点击这个 api 时,我收到了成功响应,但没有在 cookie 中设置令牌。

我是否也需要设置 cookie 域?

django cookies rest jwt reactjs

4
推荐指数
1
解决办法
4675
查看次数