我正在尝试在 M1 Mac 上的 docker 中运行 Oracle db。我已经尝试了两者的图像store/oracle/database-enterprise:12.2.0.1-slim,container-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) 我正在尝试在 docker 中设置 Apache Airflow,以进行本地开发。我让它在基于 Intel 的 Mac 上运行。
\n我正在关注他们的官方文档。当我尝试运行服务时,docker compose up我看到以下回溯。
# 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) 我正在尝试为使用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 获取任务,但这也没有帮助。
我正在使用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 域?