在AWS CloudFront中,我在"默认缓存行为设置"区域中设置了"允许的HTTP方法":
GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
我的CloudFront链接到AWS S3存储桶.所以我将AWS S3 CORS配置设置为:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
我当前的AWS S3存储桶策略是:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::<bucket_name_here>/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当curl我遇到:
$ curl -I -s -X POST -H "Origin: www.example.com" [hash_here].cloudfront.net
HTTP/1.1 405 Method Not Allowed
Content-Type: application/xml
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: …Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-web-services cors http-status-code-405 amazon-cloudfront
我记得过去人们vcvarsall.bat在 Windows 上编译任何东西之前都会先运行一下。假设默认安装位置,我在哪里可以找到cl.exe、link.exe、 和朋友;如果它不在PATH?
试图:
#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
const inline LPCWSTR find_cl() {
/* Most of this list derived from
https://gitlab.kitware.com/cmake/cmake/-/blob/417b765f/Modules/GetPrerequisites.cmake#L670 */
static const LPCSTR cl_paths[12] = {
"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin",
"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin",
"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\VC\\bin",
"C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\bin",
"C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\bin",
"C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\bin",
"C:\\Program Files\\Microsoft Visual Studio 8\\VC\\BIN",
"C:\\Program …Run Code Online (Sandbox Code Playgroud) 将旧项目从 2.7 和 Ubuntu 18.04 [逐步、Python 3.10 和 22.04 next\xe2\x80\xa6 然后 Flask!] 从供应商依赖项迁移到requirements.txt. 从项目根目录中删除了依赖项并在我的requirements.txt.
我的requirements.txtcontainsgoogle-cloud-storage==1.44.0和 wasvenv-2-7/bin/python -m pip install -t lib -r requirements.txt与 aappengine_config.py位于同一目录中app.yaml:
# From https://cloud.google.com/appengine/docs/legacy/standard/python/tools/using-libraries-python-27\nimport os\n\nfrom google.appengine.ext import vendor\n\nvendor.add(\'lib\')\nvendor.add(os.path.join(os.path.dirname(os.path.realpath(__file__)), \'lib\'))\nRun Code Online (Sandbox Code Playgroud)\n我该如何解决这个错误?- 尝试过,venv-2-7/bin/python -c \'import google.cloud.storage\'有效,但是:
$ venv-2-7/bin/python /google-cloud-sdk/platform/google_appengine/dev_appserver.py --host 127.0.0.1 .\nRun Code Online (Sandbox Code Playgroud)\n[来自 PyCharm 和手动] 的错误:
\nImportError: No module named google.cloud.storage\nRun Code Online (Sandbox Code Playgroud)\nEDIT0:根据评论请求包含更多信息[如下]:
\napp.yaml$ …Run Code Online (Sandbox Code Playgroud) python google-app-engine google-app-engine-python google-cloud-python