小编Zor*_*gan的帖子

botocore.exceptions.ClientError:调用 PutObject 操作时发生错误(AccessDenied):访问被拒绝

我正在使用django-dbbackup将 postgresql 数据库备份到我的 s3 存储桶。它通过以下设置连接到我的 S3 存储桶:

草稿1.settings.py

DBBACKUP_STORAGE = 'draft1.aws.utils.BackupRootS3BotoStorage'
DBBACKUP_S3_BUCKET = AWS_STORAGE_BUCKET_NAME
DBBACKUP_S3_ACCESS_KEY = AWS_ACCESS_KEY_ID
DBBACKUP_S3_SECRET_KEY = AWS_SECRET_ACCESS_KEY
Run Code Online (Sandbox Code Playgroud)

草稿1.aws.utils

BackupRootS3BotoStorage  = lambda: S3Boto3Storage(location='backup')
Run Code Online (Sandbox Code Playgroud)

桶政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Allow All",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::****-bucket/*"
        },
        {
            "Sid": "Deny All Actions On All But Media and Static Unless Defined User",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": "arn:aws:iam::********:root"
            },
            "Action": "s3:*",
            "NotResource": [
                "arn:aws:s3:::****-bucket/media/*",
                "arn:aws:s3:::****-bucket/static/*",
                "arn:aws:s3:::****-bucket/media_thumbnail/*"
            ]
        }
    ] …
Run Code Online (Sandbox Code Playgroud)

python django postgresql amazon-s3 amazon-web-services

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

找不到参数的 kotlin() 方法 [gradle-plugin,1.3.20]

我已经准确复制了kotlin gradle 文档所说的内容来实现 kotlin gradle 插件,但是它返回以下错误:

Could not find method kotlin() for arguments [gradle-plugin, 1.3.20] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

我的等级

buildscript {
    ext.kotlin_version = '1.3.0'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
        classpath(kotlin("gradle-plugin", version = "1.3.20"))

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
//    ext {
//        navigationVersion = '28.0.0'
//    }
    plugins {
        kotlin("<...>")
    }
}


allprojects {
    repositories {
        google()
        jcenter() …
Run Code Online (Sandbox Code Playgroud)

android gradle kotlin

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

房间错误:参数的类型必须是用@Entity 或它的集合/数组注释的类

我收到以下错误:

error: Type of the parameter must be a class annotated with @Entity or a collection/array of it.
    java.lang.String matchId);
Run Code Online (Sandbox Code Playgroud)

在我的matchedBefore()查询中:

@Dao
interface MatchedUsersDao {

    // Checks to see if user has matched before (if it returns 1)
    @Query("SELECT COUNT(*) FROM matched_users WHERE :matchId = match_id LIMIT 1")
    fun matchedBefore(matchId: String): Int

    @Insert(onConflict = OnConflictStrategy.ABORT)
    fun addMatchUid(matchId: String)
}
Run Code Online (Sandbox Code Playgroud)

这是我的实体

@Entity(tableName = "matched_users")
data class MatchedUser(
    @PrimaryKey(autoGenerate = true) val id: Int,
    @ColumnInfo(name = "match_id") val matchId: String …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room

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

某些类型的 FCM 数据消息不会传送到 iOS 设备

我有一个发送数据和通知消息的Cloud Functions环境。

目前,我正在 iPhone SE (2016) 和 iPhone 7 Plus 上测试 FCM 消息 - 这两种设备之间的行为非常不一致,我想知道原因。

  • iPhone SE (2016) 运行 iOS 14 beta 1
  • iPhone 7 Plus 运行 iOS 14 beta 3

以下云函数发送通知和数据消息 - 这两个消息都成功传递到两个设备:

// These options are global for all my fcm messages
const options = { priority: "high", timeToLive: 30000, content_available: true }

function sendProfile() { 
    ...
    const fcmToken = ********
    const notif = {
        notification: {
            title: "test title",
            body: "test body"
        }
    }
    admin.messaging().sendToDevice(fcmToken, notif, …
Run Code Online (Sandbox Code Playgroud)

ios firebase google-cloud-functions firebase-cloud-messaging ios14

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

如何从 SwiftUI 中的函数返回枚举?

我想enum从我的函数中返回一个。为此,我需要对返回类型进行分类。

但是,如果我想返回一个,返回类型是enum什么?

我的代码如下:

class Timezone {
    
    func getTimeZoneFromCountry(country: String) -> ??? {
        switch country {
        case "AU":
            return Timezone.AU
        case "US":
            return Timezone.US
        default:
            return Timezone.AU
        }
    }
   
    enum AU: String, Identifiable, CaseIterable {
        case AEST = "AEST"
        case AWST = "AWST"
        case ACST = "ACST"
        
        var id: AU {self}
    }
    
    enum US: String, Identifiable, CaseIterable {
        case CST = "CST"
        case EST = "EST"
        case MST = "MST"
        case PST = "PST"
        
        var id: US …
Run Code Online (Sandbox Code Playgroud)

enums swift swiftui

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

如何检查查询集是否为空?

分页代码:

try:
    page = paginator.page(page_number)
    print(page.object_list)
Run Code Online (Sandbox Code Playgroud)

所以以下输出是print(page.object_list)我分页的结果:

<QuerySet [<Comment: I can't believe it's happeinig>, <Comment: Just trying to fill up the comments>, <Comment: Another one!>, <Comment: Evenmore noe>, <Comment: Something>, <Comment: Lol>, <Comment: Are comments showing up?>, <Comment: Great for the economy.>, <Comment: honestly>, <Comment: Even though the the onlyEven though the only one to udnertstnaf!>]>
<QuerySet [<Comment: Yeah it's crazy how fast aswell. It's very awesome how it's doing atm. >]>
<QuerySet []>
<QuerySet [<Comment: Sure>, <Comment: …
Run Code Online (Sandbox Code Playgroud)

python django pagination

3
推荐指数
1
解决办法
5344
查看次数

.gitignore 文件中的 /media 和 media/ 有什么区别?

我已经尝试了两者,并且得到了相似的结果。一直找不到答案。

git gitignore

3
推荐指数
1
解决办法
567
查看次数

如何将 InMemoryUploadedFile 上传到我的 S3 Bucket?

我有一个简单的上传表单,其中包含一个图像FileField

def post(request):    
    if request.user.is_authenticated():
        form_post = PostForm(request.POST or None, request.FILES or None)
        if form_post.is_valid():
            instance = form_post.save(commit=False)
            instance.user = request.user

            instance.save()

            return HttpResponseRedirect('/home/')
        else:
            form_post = PostForm()

        context = {
            'form_post': form_post,
        }
        return render(request, 'post/post.html', context)
    else:
        return HttpResponseRedirect("/accounts/signup/")
Run Code Online (Sandbox Code Playgroud)

当用户向表单添加图像时,它会触发以下 JS 函数:

$('input#id_image').on('change', function(e) {...} 
Run Code Online (Sandbox Code Playgroud)

这给出了图像的预览。这是我希望将图像上传到我的媒体文件夹目录的地方(我使用的是 S3 存储)。默认情况下,当用户提交表单时上传图像,但我希望它在$('input#id_image').on('change'触发后立即上传。

到目前为止,我所做的是InMemoryUploadedFile在我的视图中以格式检索图像:

$('input#id_image').on('change', function(e) {
var formData = new FormData();

formData.append('image', $('input[type=file]')[0].files[0]);
formData.append('csrfmiddlewaretoken', $("input[name='csrfmiddlewaretoken']").val());

$.ajax({
    url: '/upload_image/',
    data: formData,
    type: 'POST',
    contentType: false,
    processData: false, …
Run Code Online (Sandbox Code Playgroud)

javascript python django jquery amazon-s3

3
推荐指数
1
解决办法
1998
查看次数

django.db.utils.ProgrammingError: 关系“django_site_domain_v2339b81_uniq”已经存在

当我尝试迁移时出现此错误。我试图Site does not exist通过这样做来解决错误:

python manage.py migrate --fake sites zero
python manage.py showmigrations
sites
 [ ] 0001_initial
python manage.py migrate --fake-initial
Run Code Online (Sandbox Code Playgroud)

然而这并没有解决问题。知道如何解决此错误:

django.db.utils.ProgrammingError: 关系“django_site_domain_v2339b81_uniq”已经存在

编辑

这是showmigrations显示的内容:

sites
 [X] 0001_initial
 [ ] 0002_alter_domain_unique
Run Code Online (Sandbox Code Playgroud)

我相信这可能是错误

python django

3
推荐指数
1
解决办法
504
查看次数

无法连接到我的 AWS 数据库实例 | psql:无法连接到服务器:操作超时

我在 AWS RDS 上创建了一个 postgres 数据库实例。我正在尝试将此数据库实例连接到我的 django zappa 应用程序,以便我可以执行 AWS Lambda 函数。

我已经向我的数据库实例添加了一个新的安全组,因此我可以允许我的 django 应用程序连接到它:

在此处输入图片说明

我的数据库详细信息显示新安全组处于活动状态:

在此处输入图片说明

但是,当我尝试连接到它时,无论是psql --host="*************.us-east-2.rds.amazonaws.com" --port="5432" --username="*********" --password --dbname="*****"通过我的终端运行,

或通过我的 pgadmin 界面,它返回此错误:

psql: could not connect to server: Operation timed out
    Is the server running on host "***********.us-east-2.rds.amazonaws.com" (18.191.94.44) and accepting
    TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

知道为什么这样做吗?

python database django postgresql amazon-web-services

3
推荐指数
1
解决办法
4759
查看次数