s3 = boto3.resource(
's3',
endpoint_url='https://my.non-amazon-endpoint.com',
aws_access_key_id=access_key,
aws_secret_access_key=secret_key
)
bucket = s3.create_bucket(Bucket="my-bucket") # successfully creates bucket
在java中尝试相同的操作会导致异常:
BasicAWSCredentials awsCreds = new BasicAWSCredentials(access_key, secret_key);
AwsClientBuilder.EndpointConfiguration config =
new AwsClientBuilder.EndpointConfiguration(
"https://my.non-amazon-endpoint.com",
"MyRegion");
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withEndpointConfiguration(config)
.build();
List<Bucket> buckets = s3Client.listBuckets();
// this works and lists all containers, hence the connection should be fine
for (Bucket bucket : buckets) {
System.out.println(bucket.getName() + "\t" +
StringUtils.fromDate(bucket.getCreationDate()));
}
Bucket bucket = s3Client.createBucket("my-bucket");
// AmazonS3Exception: The specified location-constraint is not valid (Service: Amazon S3; Status Code: 400; Error Code: InvalidLocationConstraint...
我知道几个相关的问题,例如这个问题,但我无法调整建议的解决方案,以适应我的非Amazon存储。
深入研究boto3代码,结果发现,如果没有指定区域,则LocationConstraint被设置为None。但是在java中省略该区域也会导致InvalidLocationConstrain。
亲切的问候
更新
将SigningRegion
设置为“US-East-1”将启用桶创建功能:
AwsClientBuilder.EndpointConfiguration config =
new AwsClientBuilder.EndpointConfiguration(
"https://my.non-amazon.endpoint.com",
"us-east-1");
将signingRegion设置为“US-East-1”可启用桶创建功能:
AwsClientBuilder.EndpointConfiguration config =
new AwsClientBuilder.EndpointConfiguration(
"https://my.non-amazon.endpoint.com",
"us-east-1");
如果分配了另一个区域,sdk将从endpointurl解析该区域,如这里所指定的。
在我的例子中,这会导致一个无效的区域,例如非亚马逊区域。
安全约束是一种定义 web 内容保护的声明式方式。安全约束关联授权和或在 web 资源上对 HTTP 操作的用户数据约束。安全约束,在部署描述符中由 security-constraint 表示,其包含以下元素: web资源集合 (部署描述符中的 web-resource-collection) 授权约束 (部署描述符中的 auth-constraint) 用户数据约束 (部署描述符中的 user
问题内容: 在MySQL中创建非NULL约束以使fieldA和fieldB不能都为NULL的最佳方法是什么。我不在乎任何一个本身是否为NULL,只要另一个字段具有非NULL值即可。而且,如果它们都具有非NULL值,那就更好了。 问题答案: MySQL 5.5引入了SIGNAL,因此我们不再需要Bill Karwin的答案中的额外列。Bill指出您还需要一个更新触发器,因此我也将其包括在内。
主要内容:在创建表时设置非空约束,在修改表时添加非空约束,删除非空约束MySQL非空约束(NOT NULL)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。 比如,在用户信息表中,如果不添加用户名,那么这条用户信息就是无效的,这时就可以为用户名字段设置非空约
我尝试使用cbv的im来保存一个对象,我不熟悉使用它,并且我尝试使用create view来保存一个对象,但是得到这个错误: "Not NULL约束失败:forum_question.user_id" 我将不胜感激初学者友好的解释如何解决这个问题,也许还有提示,谢谢! models.py: 表单.py: 视图.py: 例外?: 编辑3: 其他信息: 回溯(最近一次调用最后):文件“/主页/钛/本地
我想用元素距离约束对组合进行排序和取消排序。选定的元素不能重复。 例如: 元素从中选择 正在选择的元素 2个选择元素之间的最大距离 与约束匹配 与约束不匹配 在给定距离约束下,小于,如何对组合进行排序?有没有一种方法可以在不计算较小秩的组合的情况下进行排序?
问题内容: 我有一张表,像 该对(FieldID,FormID)应该是唯一的,但只有在不删除该行(isDeleted = 0)的情况下,才可以。 是否可以在SQLServer 2008中定义这样的约束?(不使用触发器) PS设置(FieldID,FormID,isDeleted)是唯一的,增加了将一行标记为已删除的可能性,但是我希望有机会将n行(每个FieldID,FormID)设置为isDele