在启用了版本的存储桶上使用 python/boto 与 AWS S3 交互 - 如何将密钥恢复到历史版本?
我可以下载该文件的历史版本并重新上传,但这效率低下并且会导致重复密钥。有没有办法选择我想要的版本并使其处于活动/当前状态(以便在未提供版本时自动下载)?
from boto.s3.connection import S3Connection
from boto.s3.key import Key
conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
bucket = conn.create_bucket('my_test_bucket')
key = Key(bucket)
key.key = 'my_file.pdf'
key.set_contents_from_filename('1.pdf')
key.set_contents_from_filename('2.pdf')
key.set_contents_from_filename('3.pdf')
# Now I have a file with the key `my_file.pdf`
# and I can see the versions using something like:
versions = list(bucket.list_versions('my_file.pdf'))
print [k.version_id for k in versions]
# To make on older version active, I can download & re-upload
versions[1].get_contents_to_filename('old.pdf')
key.set_contents_from_filename('old.pdf')
# But this seems …Run Code Online (Sandbox Code Playgroud) 在 wordpress 环境中。
我正在尝试使用 自动将版本控制添加到我的脚本中filemtime,但收到以下错误消息:
Warning: filemtime() [function.filemtime]: stat failed for (file name)
Run Code Online (Sandbox Code Playgroud)
代码很简单
$myfile = get_template_directory_uri() . '/js/script.js';
wp_enqueue_script('mywebsite-script',$myfile , array( 'jquery' ), filemtime( $myfile ), true );
Run Code Online (Sandbox Code Playgroud)
文件的路径是正确的,但正如我所说,我收到了stat failed消息。
如果我添加if (file_exists($myfile))检查,整个操作将被跳过。但是,如果我将路径回显到$myfile,则会正确打印并且可以在浏览器中打开!
路径不包含花哨的字符。服务器不在 Windows 上,我读过编码可能是一个原因,但不知道解决方法应该是什么,如果是这样的话。
问题可能出在哪里?
我需要确保可用的 PostgreSQL 版本不低于所需版本。可以按如下方式请求版本字符串:
SELECT VERSION();
Run Code Online (Sandbox Code Playgroud)
它返回给我类似的东西:
PostgreSQL 9.5.4,由 Visual C++ build 1800 编译,64 位
理论上我可以解析这个字符串,但我不确定 PostgreSQL 服务器的未来版本是否会保留这个词序。
PostgreSQL 是否有一些可预测的版本报告可能分为主要版本号和次要版本号?
我使用pbr进行包装。它从 git 标签中获取版本并将其应用于 setup.py
现在我还想在包内提供可用的版本。例如有一个__version__属性。我可以pbr为此使用图书馆吗?
还有另一个库:versioneer,它也从 git 标签中提取版本,但这会增加一个额外的要求。我更愿意从pbr
我知道网上有很多关于这个的帖子,但没有一个让我满意。大多数人建议在每个脚本/css 文件中附加一个 verizon 编号。但这对我来说听起来像是很多工作(项目只是一点点),也许有一些方法可以只对输出文件进行版本控制,我不知道一些 CLI 命令?
我的解决方案基于对新版本号的 API 的简单 ping,当 > 比存储时然后重新加载页面。这是一个棘手的部分 - 甚至location.reload(true)不刷新缓存的角度内容。手动 CTRL+SHIFT+R 可以很好地完成这项工作。如果以编程方式硬重新加载有效,这对我来说就足够了。
我也试过 this.compiler.clearCache();但也没有效果。
提前致谢!:)
我正在努力寻找一种方法来自动增加节点应用程序的 package.json 。我知道 npm 有一个名为 的脚本version,它接受 3 个参数:minor、major 和 patch,但我未能使用npm version minor例如增量到新版本。
我明白了npm ERR! Git working directory not clean每次我尝试这样做时
所以我想做的是:
在提交之前,我想我必须添加 json 包。推送到 git 时如何自动增加值?正如我现在所说,它将是 0.0.1 版本,如下所示:
{
"name": "App name",
"version": "0.0.1",
...
}
Run Code Online (Sandbox Code Playgroud)
对于新的提交,假设这是一个次要版本,它应该是:
{
"name": "App name",
"version": "0.0.2",
...
}
Run Code Online (Sandbox Code Playgroud)
此外,这个应用程序不会发布在 NPM 包存储库上,因此我不需要 npm 发布。
我使用 Asp.Net Core 作为 Rest API 服务。我需要有 API 版本控制。实际上,我在启动以下设置中进行了设置并且它可以正常工作,但是当我设置为默认版本时它不起作用。
services.AddVersionedApiExplorer(
options =>
{
options.GroupNameFormat = "'v'VVV";
options.SubstituteApiVersionInUrl = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
});
services.AddApiVersioning(
options =>
{
options.ReportApiVersions = true;
options.AssumeDefaultVersionWhenUnspecified = true;
options.DefaultApiVersion = new ApiVersion(1, 0);
})
.AddMvc(
options =>
{
options.RespectBrowserAcceptHeader = true;
})
.AddXmlSerializerFormatters();
Run Code Online (Sandbox Code Playgroud)
并在控制器中设置属性,如下所示:版本 1:
[ApiController]
[Route("v{version:apiVersion}/[controller]")]
[ApiVersion("1.0")]
public class UsersController : ControllerBase
{
[HttpGet("log")]
public string Get()
{
return $"{DateTime.Now}";
}
}
Run Code Online (Sandbox Code Playgroud)
版本 2:
[ApiController]
[Route("v{version:apiVersion}/[controller]")]
[ApiVersion("2.0")]
public class …Run Code Online (Sandbox Code Playgroud) TLDR:如何为整个应用程序强制使用特定的Flutter包(库)版本?
假设我的pubspec.yaml文件中有以下依赖项:
dependencies:
flutter:
sdk: flutter
datetime_picker_formfield: 0.4.3
date_utils: 0.1.0+3
intl: 0.15.8
Run Code Online (Sandbox Code Playgroud)
这给了我一个版本冲突错误:
Because flutter_app depends on date_utils 0.1.0+3
which depends on intl ^0.16.0, intl ^0.16.0 is required.
Run Code Online (Sandbox Code Playgroud)
但是当我们将 intl 更改为时,intl: 0.15.8我们得到:
Because flutter_app depends on datetime_picker_formfield 0.4.3
which depends on intl ^0.15.8, intl ^0.15.8 is required.
Run Code Online (Sandbox Code Playgroud)
如何强制intl: 0.16.0:datetime_picker_formfield和date_utils包?
versioning version flutter flutter-dependencies flutter-packages
我们正在维护一个私有 SPM 库,我想介绍一个应该使用的函数,而不是现有函数。最终结果应该是某种弃用。
到目前为止,我发现可以相对于操作系统版本弃用函数,但我需要相对于库版本弃用它。
例如:
//how do I deprecate this function as of version `1.1.0` of my library?
func oldFunc() {
...
}
//It will be awesome if I could also mention that this function is the newer alternative to `oldFunc`
func newFunc() {
...
}
Run Code Online (Sandbox Code Playgroud)