דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. הצגת קבצים המאוחסנים באמאזון S3, עם הרשאה

הצגת קבצים המאוחסנים באמאזון S3, עם הרשאה

מתוזמן נעוץ נעול הועבר תכנות
9 פוסטים 2 כותבים 670 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    פתחתי 'בוקט' (דלי) בS3 של אמזון ,ואני רוצה להציג את התמונות בדף HTML.
    להציג אותם כשהתמונה מאושרת לצפיה ציבורית זה פשוט (כמו כל הצגת תמונה רגילה), אבל כשצריך הרשאות להצגת התמונה - לא מצאתי דוגמא איך עושים את זה.

    (כשניגשים לתמונה בלי הרשאה אז התוצאה היא XML כזה

     <Error>
     
     <Code>AccessDenied</Code>
     
     <Message>Access Denied</Message>
     
     <RequestId>4DE00EB1BC6288C2</RequestId>
     
     <HostId>
     
     zCIH8CSnJudrxRu5wsA5IKqXJ0JyDJLdsjjvyTdUj8zNJmY23Vvd3+7fYfVFJj65SgIsA+urjqs=
     
     </HostId>
     
     </Error>
    

    איפה יש דוגמא איך עושים את זה?
    תודה.

    נ.ב. אני לא צריך כרגע את כל המנגנון של יצירת ההרשאות אלא רק את הדוגמא של הHTML.

    תגובה 1 תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      אם התמונות לא ציבוריות, צריך בצד השרת ליצור קישור עם טוקן (Presigned URL) שמאפשר לגשת אליהם לפרק זמן שהוקצב.
      באיזה פלטפורמה צד השרת שלך, PHP?

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      1
      • chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #3

        php.
        יש לי טוקן. אני צריך רק את הקליינט.
        תודה.

        תגובה 1 תגובה אחרונה
        0
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          לא הבנת אותי עם הטוקן.
          יש לך מזהה של באקט ושל קובץ. אתה מבקש מאמזון ליצור לקובץ הזה URL זמני.
          תראה פה: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-presigned-url.html

          $cmd = $s3Client->getCommand('GetObject', [
              'Bucket' => 'my-bucket',
              'Key' => 'testKey'
          ]);
          
          $request = $s3Client->createPresignedRequest($cmd, '+20 minutes');
          
          // Get the actual presigned-url
          $presignedUrl = (string)$request->getUri();
          

          המשתנה presignedUrl מכיל כתובת שמאפשרת גישה ציבורית (לכל מי שמחזיק את הלינק כמובן) לתמונה הפרטית שלך, למשך 20 דקות.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          2
          • chagoldC מנותק
            chagoldC מנותק
            chagold
            כתב ב נערך לאחרונה על ידי
            #5

            תודה.
            בשיטה הזו אם יש 200 תמונות בעמ' אז צריך להריץ 200 פעם את ה-API לכל תמונה בנפרד?

            dovidD תגובה 1 תגובה אחרונה
            0
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              השיב לchagold ב נערך לאחרונה על ידי
              #6

              @chagold אמר בהצגת קבצים המאוחסנים באמאזון S3, עם הרשאה:

              תודה.
              בשיטה הזו אם יש 200 תמונות בעמ' אז צריך להריץ 200 פעם את ה-API לכל תמונה בנפרד?

              כן.
              כמובן הכל בצד שרת מיידית לפני שהדף חוזר בכלל ללקוח.

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              0
              • chagoldC מנותק
                chagoldC מנותק
                chagold
                כתב ב נערך לאחרונה על ידי chagold
                #7

                האם ניתן להגדיל את האשראי של הגישה לתמונות אחרי שהטוקן נוצר?

                (אסביר:
                שיטת הפעולה שלי היא שכל התמונות מסודרות במבנה היררכיוני של 'עץ תיקיות', וגם אם יש 10 רמות של תיקיות אבל הקליינט מקבל מראש אובייקט JSON אחד שכולל את כל העץ תיקיות. (אח"כ מתבצע ניווט בין התיקיות ( = בין הרמות בJSON) ע"י שינוי תצוגת צד הלקוח בלבד באותו קומפוננט).
                במבנה הזה, גם התמונות נשלחות מראש. וזאת אומרת שאם לקוח נמצא בתיקיה אחת ואחרי 20 דקות מפתיחת הסשן הוא עובר תצוגה, הוא יקבל שגיאת קריאת תמונות. אני מחפש איך לפתור את זה).

                תגובה 1 תגובה אחרונה
                0
                • chagoldC מנותק
                  chagoldC מנותק
                  chagold
                  כתב ב נערך לאחרונה על ידי
                  #8
                  פוסט זה נמחק!
                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מחובר
                    dovidD מחובר
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

                    תשנה את הדקות:

                    $request = $s3Client->createPresignedRequest($cmd, '+100 minutes');
                    

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    2

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום